cPropManager class
The implementation of IPropManager; this should only be used for extending and detouring.
Base classes
- class IPropManager
- A manager that stores all the property lists in the game, used for most configurations.
- class Resource::IResourceFactory
- An interface that can be used to create resources of certain types.
- class IMessageListener
- An interface that can receive messages sent through the app.
Constructors, destructors, conversion operators
- cPropManager()
- ~cPropManager() virtual
Public functions
- 
              auto HandleMessage(uint32_t messageID, void* msg) -> bool override 
- Called every time a message is received.
- 
              auto GetFactoryType() -> uint32_t override 
- 
              auto CreateResource(Resource::IRecord* pRecord, ResourceObjectPtr& pDst, void* extraData, uint32_ t typeID) -> bool override 
- Creates a new resource of the specified type, using the file record given.
- 
              auto CreateResourceAsync(IAsyncRequestPtr* ppDst,
              int16_t, Resource:: IRecord* pRecord, void* extraData, uint32_ t typeID, int) -> bool override 
- 
              auto ReadResource(Resource::IRecord* pRecord, Resource:: ResourceObject* pResource, void* extraData, uint32_ t typeID) -> bool override 
- Reads the data into the resource given.
- 
              auto WriteResource(Resource::ResourceObject* pResource, Resource:: IRecord* pRecord, void* extraData, uint32_ t typeID) -> bool override 
- Reads the resource into the file given.
- 
              auto GetSupportedTypes(uint32_t* pDstTypes, size_ t count) const -> size_ t override 
- This method must tell all the type IDs that are accepted by this factory.
- 
              auto CanConvert(uint32_t typeID, uint32_ t subTypeID) -> bool override 
- This method must tell whether this type ID (which might be a generic one, e.g.
- auto AddRef() -> int override
- auto Release() -> int override
- auto SetDevMode(bool value) -> void override
- auto Initialize() -> bool override
- auto PreloadPropertyLists() -> void override
- auto Dispose() -> bool override
- 
              auto GetIDFromName(const char* propertyName,
              uint32_t& result) -> bool override 
- Gets the ID that corresponds to the given property name.
- 
              auto GetNameFromID(uint32_t propertyID) -> const char* override 
- Gets the name that is mapped to the given propertyID.
- 
              auto GetPropertyGroupIDFromName(const char* name,
              uint32_t& result) -> bool override 
- 
              auto GetNameFromPropertyGroupID(uint32_t propertyGroupID) -> const char* override 
- Gets the name assigned to the given property group ID.
- 
              auto HasPropertyList(uint32_t instanceID, uint32_ t groupID) -> bool override 
- Tells whether a PropertyList with the given instanceID and groupID is contained in this manager.
- 
              auto GetPropertyList(uint32_t instanceID, uint32_ t groupID, PropertyListPtr& pDst) -> bool override 
- Gets the PropertyList stored in the given group and with the given instanceID.
- 
              auto GetGlobalPropertyList(uint32_t instanceID, PropertyListPtr& pDst) -> bool override 
- Gets the PropertyList stored in the global (0x00000000) folder and with the given instanceID.
- 
              auto AddPropertyList(PropertyList* pList,
              uint32_t instanceID, uint32_ t groupID) -> void override 
- Adds this property list with the given instance and group ID, or replaces the existing one.
- auto RemovePropertyList(PropertyList* pList) -> void override
- auto RemovePropertyLists(int count, const ResourceKey* keys) -> void override
- 
              auto RemovePropertyLists2(uint32_t groupID, int count, uint32_ t* instanceIDs) -> void override 
- auto AreAnyPropertyListsReferenced(int count, const ResourceKey* keys) -> bool override
- 
              auto GetPropertyListIDs(uint32_t groupID, eastl::vector<uint32_ t>& result) -> bool override 
- Gets the instance IDs of all the PropertyList objects contained in the specified group.
- auto func4Ch(int arg_0, int arg_4) -> void* override
- 
              auto GetPropertyDefinition(uint32_t propertyID) -> const Property* override 
- Gets the property definition of the property with the given ID.
- 
              auto GetPropertyGroupsCount() -> size_t override 
- Gets the number of property groups contained in this manager.
- 
              auto GetPropertyGroupIDAt(size_t index, uint32_ t& dst) -> bool override 
- Gets the ID of the property group at the given index.
Public variables
- int field_10
- bool mbIsInitialized
- bool mIsDevMode
- 
              Resource::IResourceManager* mpResourceMgr 
- bool field_1C
- 
              eastl::map<uint32_t, Property> field_20 
- PropertyList mPropertyDefinitions
- eastl::hash_map<ResourceID, PropertyListPtr> mPropertyLists
- 
              eastl::hash_map<eastl::string, uint32_t> mNamesToPropertyIDs 
- 
              eastl::hash_map<uint32_t, eastl::string> mPropertyIDsToNames 
- eastl::hash_map<eastl::string, int> mPropertyGroupNamesToIDs
- 
              eastl::hash_map<uint32_t, eastl::string> mPropertyGroupNames 
- 
              eastl::vector<uint32_t> mPropertyGroupIDs 
- eastl::hash_map<int, int> field_128
- eastl::hash_map<int, int> field_148
- eastl::string mCurrentPropertyName
- int field_178
- 
              eastl::intrusive_ptr<ArgScript::FormatParser> field_17C 
- eastl::string field_180
- 
              ArgScript::Line field_190 
- int field_1D4
- eastl::string field_1D8
- bool mbAddToAppProperties
Function documentation
              bool App::
            Called every time a message is received.
| Parameters | |
|---|---|
| messageID | The ID of the message received. | 
| msg | The data of the message received, it might be nullptr. | 
| Returns | Whether the message was handled or not. | 
Only the messages with an ID this listener signed up for will call this event.
              bool App::
            Creates a new resource of the specified type, using the file record given.
| Parameters | |
|---|---|
| pRecord | The IPFRecord that points to the file used by the resource (either for reading or for writing). | 
| pDst out | A pointer where the ResourceObject created must be written. | 
| extraData | |
| typeID | The type ID of the file to read, which might be used to differentiate between different file formats or resource types. | 
              bool App::
            Reads the data into the resource given.
| Parameters | |
|---|---|
| pRecord | The IPFRecord that points to the file that must be read. | 
| pResource | The ResourceObject where the data must be loaded. | 
| extraData | |
| typeID | The type ID of the file to read, which might be used to differentiate between different file formats. | 
              bool App::
            Reads the resource into the file given.
| Parameters | |
|---|---|
| pResource | The ResourceObject that must be saved. | 
| pRecord | The IPFRecord that points to the file that must be written. | 
| extraData | |
| typeID | The type ID of the file to write, which might be used to differentiate between different file formats. | 
              size_
            This method must tell all the type IDs that are accepted by this factory.
| Parameters | |
|---|---|
| pDstTypes out | The uint32_t array where the type IDs must be written. | 
| count | The size of the pDstTypes array. | 
| Returns | How many type IDs are supported. | 
The method must return how many type IDs are supported.
              bool App::
            This method must tell whether this type ID (which might be a generic one, e.g.
| Parameters | |
|---|---|
| typeID | |
| subTypeID | |
.image) and the sub type ID (e.g. .png) are accepted by this factory. The subtypeID might be 0, in which case only the type ID matters.
              bool App::
            Gets the ID that corresponds to the given property name.
| Parameters | |
|---|---|
| propertyName | The name of the property. | 
| result out | The uint32_t that will receive the ID. | 
| Returns | Whether the name was found or not. | 
This function will only work for those names that are mapped in this manager.
              const char* App::
            Gets the name that is mapped to the given propertyID.
| Parameters | |
|---|---|
| propertyID | The ID of the property. | 
| Returns | The name of the property, or nullptr if it is not mapped. | 
This function will only work for those names that are mapped in this manager.
              const char* App::
            Gets the name assigned to the given property group ID.
| Parameters | |
|---|---|
| propertyGroupID | The ID of the property group. | 
| Returns | The name of the group, or nullptr if it is not mapped. | 
This function will only work if that group is mapped in this manager.
              bool App::
            Tells whether a PropertyList with the given instanceID and groupID is contained in this manager.
| Parameters | |
|---|---|
| instanceID | The instance ID of the list. | 
| groupID | The group ID of the list. | 
| Returns | True if the list exists, false otherwise. | 
              bool App::
            Gets the PropertyList stored in the given group and with the given instanceID.
| Parameters | |
|---|---|
| instanceID | The instance ID of the list. | 
| groupID | The group ID of the list. | 
| pDst | A PropertyListPtr that will receive the list. It must not be initialized or contain nullptr; the previous pointer won't be released. | 
| Returns | Whether the list was found or not. | 
              bool App::
            Gets the PropertyList stored in the global (0x00000000) folder and with the given instanceID.
| Parameters | |
|---|---|
| instanceID | The instance ID of the list. | 
| pDst | An PropertyListPtr that will receive the list. It must not be initialized or contain nullptr; the previous pointer won't be released. | 
| Returns | Whether the list was found or not. | 
              void App::
            Adds this property list with the given instance and group ID, or replaces the existing one.
| Parameters | |
|---|---|
| pList | The new PropertyList. | 
| instanceID | The instance ID of the property list. | 
| groupID | The group ID of the property list. | 
              bool App::
            Gets the instance IDs of all the PropertyList objects contained in the specified group.
| Parameters | |
|---|---|
| groupID | The ID of the group where the lists are (i.e. the folder) | 
| result out | A uint32_t vector that will receive the instance IDs. | 
              const Property* App::
            Gets the property definition of the property with the given ID.
| Parameters | |
|---|---|
| propertyID | The ID of the property. | 
| Returns | The Property that contains the type and default value, or nullptr if there is no definition for that property. | 
The definition is a Property object that contains the type and default value of the property. Definitions are stored in the Properties.txt, AppProperties.txt, etc files.
              bool App::
            Gets the ID of the property group at the given index.
| Parameters | |
|---|---|
| index | The index of the group inside this manager. | 
| dst out | The uint32_t that will receive the ID. | 
| Returns | Whether the index was valid or not. |