67 if (
this == &p_dsObject) {
131 MxU32 sizeOnDisk = 0;
186 for (it = begin(); it != end(); it++) {
188 for (iterator it = begin(); it != end(); it++) {
201 if (p_delete && found !=
NULL) {
275 if (p_file->
Read((
MxU8*) &tmpChunk.ckid, 8) == 0 && tmpChunk.ckid ==
FOURCC(
'M',
'x',
'S',
't')) {
276 if (p_file->
Read((
MxU8*) &tmpChunk.ckid, 8) == 0 && tmpChunk.ckid ==
FOURCC(
'M',
'x',
'O',
'b')) {
278 buf =
new MxU8[tmpChunk.cksize];
283 if (p_file->
Read(buf, tmpChunk.cksize) != 0) {
[AI] Represents an action deserialized from SI chunks, holding key animation or script parameters suc...
Derived class representing an animation action extracted from SI files.
[AI] Represents an event media action (a discrete event) parsed from script/scene data (SI files).
[AI] Represents a source file handler for SI (Streamer Interface) files, providing buffered access fo...
MxResult Read(unsigned char *, MxULong) override
[AI] Reads up to the specified number of bytes from the file into a buffer.
MxResult Seek(MxLong, MxS32) override
[AI] Seeks to an absolute or relative position in the file.
[AI] Represents a container for multiple MxDSAction objects, facilitating the grouping and management...
[AI] Represents an extracted SI file action of type "ObjectAction".
[AI] Utility list for managing dynamic sequence (DS) objects, provides search and removal by pointer ...
[AI] Base class for any object deserialized from an SI (script/data) file in the LEGO Island engine.
char * m_sourceName
[AI] Heap copy: SI file or source identifier string. [AI]
MxDSObject()
[AI] Default constructor. Initializes to e_object and clears names and pointers.
MxPresenter * m_unk0x28
[AI] Presenter or handler associated to this object (may be null). [AI]
MxS16 m_unk0x24
[AI] Unknown usage, possibly used for context or flags during loading. [AI]
void SetSourceName(const char *p_sourceName)
[AI] Sets the source name (usually source SI file); deep copies the string.
undefined4 m_unk0x14
[AI] Unknown usage, possibly flags or reserved SI-format field. [AI]
~MxDSObject() override
[AI] Destructor. Frees allocated objectName/sourceName memory.
MxDSObject & operator=(MxDSObject &p_dsObject)
[AI] Assignment operator.
@ e_serialAction
[AI] Series of actions to play in order. [AI]
@ e_objectAction
[AI] Placeholder for generic object operations. [AI]
@ e_still
[AI] Still image resource. [AI]
@ e_object
[AI] Base object, most basic type. [AI]
@ e_parallelAction
[AI] Parallel (simultaneous) action list. [AI]
@ e_multiAction
[AI] Composite/multi-action list. [AI]
@ e_sound
[AI] Sound resource reference or cue. [AI]
@ e_selectAction
[AI] Selects an action from several (with rules/random). [AI]
@ e_anim
[AI] Animation sequence or reference. [AI]
@ e_action
[AI] Simple action or command invocation. [AI]
@ e_mediaAction
[AI] Media-related action (usually for videos, audio, etc). [AI]
@ e_event
[AI] Scripted event type. [AI]
MxU32 m_sizeOnDisk
[AI] Cached/calculated disk size of object data for serialization. [AI]
virtual MxU32 GetSizeOnDisk()
[AI] Calculates serialized size of this object on disk (for buffer allocation).
void SetObjectName(const char *p_objectName)
[AI] Sets object (internal) unique name; deep copies the string.
MxU32 m_objectId
[AI] Numeric id (unique per file or context, often -1). [AI]
virtual void Deserialize(MxU8 *&p_source, MxS16 p_unk0x24)
[AI] Initializes this object from serialized (memory buffer) data.
void CopyFrom(MxDSObject &p_dsObject)
[AI] Copy data from another MxDSObject, performing deep string copy for names.
virtual undefined4 VTable0x14()
[AI] Placeholder for early vtable slot (purpose unknown, may be used for RTTI).
MxS16 GetUnknown24()
[AI] Returns the unknown 0x24 value (may be data version or usage state). [AI]
char * m_objectName
[AI] Heap copy: Logical object name as referenced in script/data. [AI]
MxU32 GetObjectId()
[AI] Returns the object id numeric value.
MxAtomId m_atomId
[AI] String/value pair for engine lookup/reference. [AI]
[AI] Represents an action that can play multiple MxDSActions in parallel.
[AI] Represents a "select" action within a DS (Script/Scene) file, deserialized from SI files to sele...
[AI] Represents a serial (sequential) action group for data-driven sequence execution in LEGO Island.
[AI] Represents a sound action extracted from an SI script and used in the data-driven action system.
virtual MxU32 * GetBuffer()
[AI] Returns a pointer to the internal buffer as a DWORD (32-bit) pointer.
[AI] Represents a "still" media action in the LEGO Island SI script system.
#define DECOMP_SIZE_ASSERT(T, S)
#define NULL
[AI] Null pointer value (C/C++ semantics).
MxDSObject * DeserializeDSObjectDispatch(MxU8 *&, MxS16)
[AI] Reads and deserializes a DS object of the specific type from an SI buffer.
MxDSObject * CreateStreamObject(MxDSFile *, MxS16)
[AI] Creates and deserializes a stream object from a chunk inside a DS file.
#define FOURCC(a, b, c, d)
[AI] Macro to compose a 32-bit code from four 8-bit characters (e.g., for resource and chunk IDs).