[AI] Iterator for traversing ModelDbPartList contents (ModelDbPart pointers).
ModelDbPartListCursor(ModelDbPartList *p_list)
[AI] Constructs a cursor for the given part list, enabling iteration.
[AI] Collection class representing a list of ModelDbPart pointers with custom comparison logic.
MxS8 Compare(ModelDbPart *p_a, ModelDbPart *p_b) override
[AI] Compares two ModelDbPart objects by their ROI names (case-insensitive).
ModelDbPartList()
[AI] Constructs the ModelDbPartList and initializes the unknown member.
[AI] Forward declaration for MxListCursor.
[AI] Forward declaration for MxList.
Mindscape custom string class for managing dynamic C-strings within the game engine.
char * GetData() const
Returns a pointer to the internal character buffer.
MxResult ReadModelDbWorlds(FILE *p_file, ModelDbWorld *&p_worlds, MxS32 &p_numWorlds)
[AI] Reads the collection of worlds (ModelDbWorld) from a model database file.
void FreeModelDbWorlds(ModelDbWorld *&p_worlds, MxS32 p_numWorlds)
[AI] Frees all resources related to ModelDbWorlds previously allocated by ReadModelDbWorlds.
[AI] Represents a 3D model entry in a model database, including metadata and spatial transform info.
char * m_presenterName
[AI] Name of the presenter/handler class used for this model, dynamically allocated....
MxU32 m_modelDataLength
[AI] Length of the model's raw data in the file, in bytes. [AI]
undefined m_unk0x34
[AI] Unknown field, possibly additional flags or type (purpose currently unknown)....
char * m_modelName
[AI] Name of the model, dynamically allocated. [AI]
float m_location[3]
[AI] World-space position of the model origin (as a 3D vector). [AI]
float m_up[3]
[AI] World-space up vector (indicates model "up" orientation). [AI]
MxU32 m_modelDataOffset
[AI] File offset to the model's raw data. [AI]
float m_direction[3]
[AI] World-space direction vector (indicates model "forward" direction). [AI]
MxResult Read(FILE *p_file)
[AI] Loads a ModelDbModel from the current file pointer.
void Free()
[AI] Frees dynamically allocated memory in the model (model name and presenter name).
[AI] Represents a single part within a 3D model database entry, including its name and data offsets i...
MxString m_roiName
[AI] Name of the part/ROI this entry represents. [AI]
undefined4 m_partDataOffset
[AI] Offset within the file to the part's data. [AI]
undefined4 m_partDataLength
[AI] Length of binary part data in the file (in bytes). [AI]
MxResult Read(FILE *p_file)
[AI] Reads a ModelDbPart object from a binary file.
[AI] Represents a world/scene in the model database, containing its parts and models.
MxS32 m_numModels
[AI] Number of models in the array m_models. [AI]
ModelDbModel * m_models
[AI] Array of models within this world. [AI]
char * m_worldName
[AI] Name of the world (scene); dynamically allocated on read. [AI]
ModelDbPartList * m_partList
[AI] List of model parts belonging to this world. [AI]
undefined m_unk0x10[0x08]
[AI] Unknown 8 bytes at offset 0x10; purpose and usage are currently unknown. [AI]