92 const char*
ClassName()
const override {
return "MxDSObject"; }
[AI] Atomized (unique) string identifier, managed by reference counting.
void Clear()
[AI] Disassociates the atom ID from any atom (decrements reference count, sets internal pointer to NU...
[AI] Base virtual class for all Mindscape engine (Mx) objects.
virtual MxBool IsA(const char *p_name) const
[AI] Checks whether this object's class type or parents match the given name.
[AI] Represents a source file handler for SI (Streamer Interface) files, providing buffered access fo...
[AI] Utility list for managing dynamic sequence (DS) objects, provides search and removal by pointer ...
MxDSObject * FindAndErase(MxDSObject *p_action)
[AI] Finds the matching object and removes it from the list.
MxDSObject * Find(MxDSObject *p_action)
[AI] Finds a matching object in the list without removing it.
[AI] Base class for any object deserialized from an SI (script/data) file in the LEGO Island engine.
const char * GetObjectName() const
[AI] Returns the object name string.
const MxAtomId & GetAtomId()
[AI] Returns a const-reference to the object's atom identifier.
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.
void SetUnknown28(MxPresenter *p_unk0x28)
[AI] Sets the pointer at 0x28 (presenter or handler).
virtual void SetAtomId(MxAtomId p_atomId)
[AI] Sets the atom id for this object instance, used for indexing or lookup.
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.
MxBool IsA(const char *p_name) const override
[AI] Runtime type check; supports derived/parent class lookup by name.
MxDSObject & operator=(MxDSObject &p_dsObject)
[AI] Assignment operator.
const char * ClassName() const override
[AI] Returns the class identifier string for run-time type ID.
Type
[AI] Enumerated type value for each kind of DS object.
@ 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]
void SetUnknown24(MxS16 p_unk0x24)
[AI] Sets the unknown field at 0x24 (possibly version/state).
Type GetType() const
[AI] Returns the object's type enum as stored in m_type.
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 SetType(Type p_type)
[AI] Sets the DS object type.
void SetObjectName(const char *p_objectName)
[AI] Sets object (internal) unique name; deep copies the string.
void ClearAtom()
[AI] Clears the atom id, releasing its association.
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.
MxPresenter * GetUnknown28()
[AI] Returns the pointer stored at 0x28, likely a presenter or handler for this DS object.
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]
void SetObjectId(MxU32 p_objectId)
[AI] Sets the object id (for serialization or lookup).
MxU32 GetObjectId()
[AI] Returns the object id numeric value.
MxAtomId m_atomId
[AI] String/value pair for engine lookup/reference. [AI]
const char * GetSourceName() const
[AI] Returns the source name string (typically the originating SI file).
MxU16 m_type
[AI] Object type enum (see Type) as read from data or set in code. [AI]
[AI] Abstract base class for all presenter types in the LEGO Island engine, responsible for managing ...
[AI] A utility list extending the STL list<T>, providing simplified PushBack, Remove,...
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.