Resource namespace
The system for accessing file resources stored in .package files.
This namespace contains all the necessary classes needed for working with file resources stored in .package files. The main class is the IResourceManager, which can be used to get resources from the file system. The resource manager contains a list of Database objects, which can be one of these two:
- The DatabasePackedFile represents a .package file that contains resources.
- The DatabaseDirectoryFiles represents a plain disk folder, such as the Games/Game0folder
Namespaces
- namespace Paths
Classes
- class CachedResourceObject
- class cIReleaseCallback
- class cResourceManager
- The implementation of IResourceManager; this should only be used for extending and detouring.
- class Database
- class DatabaseDirectoryFiles
- class DatabasePackedFile
- A DatabasePackedFile is a type of file used in Spore to store and index multiple files inside a single container (usually in the .package extension).
- class FakeRecord
- class IAsyncRequest
- class ICache
- An interface that is used to cache loaded resources for fast access.
- class IKeyFilter
- A generic interface used to filter ResourceKey objects.
- class IRecord
- Represents a file in a Database; records are identified by a ResourceKey (which specifies group, instance and type IDs), and have an underlying IO::IStream that is used to read/write data. 
- class IResourceFactory
- An interface that can be used to create resources of certain types.
- class IResourceManager
- IResourceManager is a singleton class used to access resources in Spore's file system.
- struct PFHoleTable
- class PFIndexModifiable
- This class stores the metadata of all the files contained in a DBPF file.
- class PFRecordBase
- Base implementation for records in a .packagefile (DatabasePackedFile).
- class PFRecordRead
- This class is used to read the data of a file contained inside a DBPF.
- class PFRecordWrite
- This class is used to write data to a file contained inside a DBPF.
- struct RecordInfo
- A structure that contains the metadata of a file stored in a database, such as the offset in the package file and the size.
- class ResourceObject
- A type of object that is used as a resource.
- class StandardFileFilter
- The standard file filter which filters resources depending on the ResourceKey.
- class ThreadedObject
Enums
- 
              enum class PathID: uint32_t { Data = 0xa02149, App = 0xa0214a, Debug = 0xa02150, Locale = 0x45962CC, Config = 0xA0214F, Creations = 0xA0214B, AppData = 0xA02151, BaseData = 0x6CBED39, BaseDataLocale = 0x6CBED3A, Temp = 0x60BA02F } 
- 
              enum class SaveAreaID: uint32_t { Pictures = 0x11AC196, Movies = 0x11AC197, Animations = 0x11AC198, GamesGame0 = 0x4729A47, Preferences = 0x11AC192, Creatures = 0x11AC199, Buildings = 0x11AC19A, Vehicles = 0x11AC19B, Cells = 0x90368EA3, UFOs = 0x90368EA2, Plants = 0x90368EA0, Adventures = 0x86CA01C9, CityMusic = 0x500EFC6, Cache = 0x11AC19C, Server = 0x11AC19D, Planets = 0x31389B5, RigblockInfo = 0x49A3D83, GraphicsCache = 0x11AC1AC } 
Typedefs
- using FileNameToKeyConverter_t = bool(*)(const char16_t*, const char16_t*, const char16_t*, ResourceKey&)
- using DBPF = DatabasePackedFile
- A short name for DatabasePackedFile.
Functions
- ASSERT_SIZE(cResourceManager, 0x178)
- auto Addresses(cResourceManager) -> namespace
- ASSERT_SIZE(Database, 0xC)
- ASSERT_SIZE(DatabaseDirectoryFiles, 0x168)
- 
              auto ReadExtensionMappingsFromPropFile(uint32_t instanceID, DatabaseDirectoryFiles* database) -> void 
- Reads an extension mapping .propfile from the0x1C7AC81folder, and adds those type names to the given database; the instance ID is usually also0x1C7AC81.
- auto Addresses(DatabaseDirectoryFiles) -> namespace
- ASSERT_SIZE(DatabasePackedFile, 0x388)
- auto Addresses(DatabasePackedFile) -> namespace
- ASSERT_SIZE(FakeRecord, 0x24)
- auto Addresses(FakeRecord) -> namespace
- auto Addresses(StandardFileFilter) -> namespace
- auto_METHOD(StandardFileFilter, bool, IsValid, Args(const ResourceKey&name), Args(name))
- auto Addresses(IResourceManager) -> namespace
- auto Addresses(Paths) -> namespace
- 
              auto SaveNamedResource(ResourceObject* resource,
              const char16_t* fileName, Database* database) -> bool 
- ASSERT_SIZE(PFIndexModifiable, 0x4C)
- auto Addresses(PFIndexModifiable) -> namespace
- ASSERT_SIZE(PFRecordRead, 0x70)
- auto Addresses(PFRecordRead) -> namespace
- ASSERT_SIZE(PFRecordWrite, 0x27C)
- auto Addresses(PFRecordWrite) -> namespace
- ASSERT_SIZE(RecordInfo, 0x10)
- ASSERT_SIZE(ResourceObject, 0x14)
- ASSERT_SIZE(CachedResourceObject, 0x18)
Enum documentation
              enum class Resource::
            
| Enumerators | |
|---|---|
| Data | Core Spore - Data. | 
| App | Spore Galactic Adventures - SporebinEP1. | 
| Debug | 
 | 
| Locale | Core Spore - Data/Locale. | 
| Config | Spore Galactic Adventures - Data/Config. | 
| Creations | My Spore Creations. | 
| AppData | APPDATA%/Spore | 
| BaseData | 
 | 
| BaseDataLocale | 
 | 
| Temp | APPDATA%/Spore/Temp | 
              enum class Resource::
            
| Enumerators | |
|---|---|
| Pictures | My Spore Creations/Pictures. | 
| Movies | My Spore Creations/Movies. | 
| Animations | My Spore Creations/AnimatedAvatars. | 
| GamesGame0 | APPDATA%/Spore/Games/Game0 | 
| Preferences | APPDATA%/Spore/Preferences | 
| Creatures | APPDATA%/Spore/EditorSaves.package | 
| Buildings | APPDATA%/Spore/EditorSaves.package | 
| Vehicles | APPDATA%/Spore/EditorSaves.package | 
| Cells | APPDATA%/Spore/EditorSaves.package | 
| UFOs | APPDATA%/Spore/EditorSaves.package | 
| Plants | APPDATA%/Spore/EditorSaves.package | 
| Adventures | APPDATA%/Spore/EditorSaves.package | 
| CityMusic | APPDATA%/Spore/CityMusic | 
| Cache | APPDATA%/Spore/Pollination.package | 
| Server | APPDATA%/Spore/Pollination.package | 
| Planets | APPDATA%/Spore/Planets.package | 
| RigblockInfo | APPDATA%/Spore/RigblockInfo.package | 
| GraphicsCache | APPDATA%/Spore/GraphicsCache.package | 
Typedef documentation
              typedef bool(*Resource::
            
              typedef DatabasePackedFile Resource::
            A short name for DatabasePackedFile.
Function documentation
               Resource::
            
              namespace Resource::
            
               Resource::
            
               Resource::
            
              void Resource::
            Reads an extension mapping .prop file from the 0x1C7AC81 folder, and adds those type names to the given database; the instance ID is usually also 0x1C7AC81.
| Parameters | |
|---|---|
| instanceID | |
| database | |
               Resource::
            
              namespace Resource::
            
               Resource::
            
              namespace Resource::
            
              namespace Resource::
            
               Resource::
            
              namespace Resource::
            
              bool Resource::
            
               Resource::
            
              namespace Resource::
            
               Resource::
            
              namespace Resource::
            
               Resource::
            
              namespace Resource::
            
               Resource::
            
               Resource::
            
               Resource::