|
Isle
|
[AI] Base class for any object deserialized from an SI (script/data) file in the LEGO Island engine. More...
#include <mxdsobject.h>


Public Types | |
| enum | Type { e_object = 0 , e_action , e_mediaAction , e_anim , e_sound , e_multiAction , e_serialAction , e_parallelAction , e_event , e_selectAction , e_still , e_objectAction } |
| [AI] Enumerated type value for each kind of DS object. More... | |
Public Member Functions | |
| MxDSObject () | |
| [AI] Default constructor. Initializes to e_object and clears names and pointers. More... | |
| ~MxDSObject () override | |
| [AI] Destructor. Frees allocated objectName/sourceName memory. More... | |
| void | CopyFrom (MxDSObject &p_dsObject) |
| [AI] Copy data from another MxDSObject, performing deep string copy for names. More... | |
| MxDSObject (MxDSObject &p_dsObject) | |
| [AI] Copy constructor. More... | |
| MxDSObject & | operator= (MxDSObject &p_dsObject) |
| [AI] Assignment operator. More... | |
| void | SetObjectName (const char *p_objectName) |
| [AI] Sets object (internal) unique name; deep copies the string. More... | |
| void | SetSourceName (const char *p_sourceName) |
| [AI] Sets the source name (usually source SI file); deep copies the string. More... | |
| const char * | ClassName () const override |
| [AI] Returns the class identifier string for run-time type ID. More... | |
| MxBool | IsA (const char *p_name) const override |
| [AI] Runtime type check; supports derived/parent class lookup by name. More... | |
| virtual undefined4 | VTable0x14 () |
| [AI] Placeholder for early vtable slot (purpose unknown, may be used for RTTI). More... | |
| virtual MxU32 | GetSizeOnDisk () |
| [AI] Calculates serialized size of this object on disk (for buffer allocation). More... | |
| virtual void | Deserialize (MxU8 *&p_source, MxS16 p_unk0x24) |
| [AI] Initializes this object from serialized (memory buffer) data. More... | |
| virtual void | SetAtomId (MxAtomId p_atomId) |
| [AI] Sets the atom id for this object instance, used for indexing or lookup. More... | |
| Type | GetType () const |
| [AI] Returns the object's type enum as stored in m_type. More... | |
| const char * | GetSourceName () const |
| [AI] Returns the source name string (typically the originating SI file). More... | |
| const char * | GetObjectName () const |
| [AI] Returns the object name string. More... | |
| MxU32 | GetObjectId () |
| [AI] Returns the object id numeric value. More... | |
| const MxAtomId & | GetAtomId () |
| [AI] Returns a const-reference to the object's atom identifier. More... | |
| MxS16 | GetUnknown24 () |
| [AI] Returns the unknown 0x24 value (may be data version or usage state). [AI] More... | |
| MxPresenter * | GetUnknown28 () |
| [AI] Returns the pointer stored at 0x28, likely a presenter or handler for this DS object. More... | |
| void | SetType (Type p_type) |
| [AI] Sets the DS object type. More... | |
| void | SetObjectId (MxU32 p_objectId) |
| [AI] Sets the object id (for serialization or lookup). More... | |
| void | SetUnknown24 (MxS16 p_unk0x24) |
| [AI] Sets the unknown field at 0x24 (possibly version/state). More... | |
| void | SetUnknown28 (MxPresenter *p_unk0x28) |
| [AI] Sets the pointer at 0x28 (presenter or handler). More... | |
| void | ClearAtom () |
| [AI] Clears the atom id, releasing its association. More... | |
Public Member Functions inherited from MxCore | |
| MxCore () | |
| [AI] Constructs a new MxCore object and assigns it a unique id. More... | |
| virtual | ~MxCore () |
| [AI] Virtual destructor. Required for correct polymorphic cleanup in derived classes. More... | |
| virtual MxLong | Notify (MxParam &p_param) |
| [AI] Virtual callback notification mechanism. More... | |
| virtual MxResult | Tickle () |
| [AI] Called by tickle managers to allow the object to update itself. More... | |
| virtual const char * | ClassName () const |
| [AI] Returns the runtime class name of this object. More... | |
| virtual MxBool | IsA (const char *p_name) const |
| [AI] Checks whether this object's class type or parents match the given name. More... | |
| MxU32 | GetId () |
| [AI] Gets the unique (per-process) id assigned to this object instance. More... | |
Protected Attributes | |
| MxU32 | m_sizeOnDisk |
| [AI] Cached/calculated disk size of object data for serialization. [AI] More... | |
| MxU16 | m_type |
| [AI] Object type enum (see Type) as read from data or set in code. [AI] More... | |
| char * | m_sourceName |
| [AI] Heap copy: SI file or source identifier string. [AI] More... | |
| undefined4 | m_unk0x14 |
| [AI] Unknown usage, possibly flags or reserved SI-format field. [AI] More... | |
| char * | m_objectName |
| [AI] Heap copy: Logical object name as referenced in script/data. [AI] More... | |
| MxU32 | m_objectId |
| [AI] Numeric id (unique per file or context, often -1). [AI] More... | |
| MxAtomId | m_atomId |
| [AI] String/value pair for engine lookup/reference. [AI] More... | |
| MxS16 | m_unk0x24 |
| [AI] Unknown usage, possibly used for context or flags during loading. [AI] More... | |
| MxPresenter * | m_unk0x28 |
| [AI] Presenter or handler associated to this object (may be null). [AI] More... | |
[AI] Base class for any object deserialized from an SI (script/data) file in the LEGO Island engine.
[AI] Represents a deserialized data object with identifiers, type, and names, used for collection, dispatch, and presenter instantiation. The class includes serialization information, atom ids (for identifying unique objects/resources), and ties to the presenter system. [AI_SUGGESTED_NAME: DataSequenceObject]
Definition at line 44 of file mxdsobject.h.
| enum MxDSObject::Type |
[AI] Enumerated type value for each kind of DS object.
[AI]
Definition at line 48 of file mxdsobject.h.
| MxDSObject::MxDSObject | ( | ) |
[AI] Default constructor. Initializes to e_object and clears names and pointers.
Definition at line 25 of file mxdsobject.cpp.
|
override |
[AI] Destructor. Frees allocated objectName/sourceName memory.
Definition at line 38 of file mxdsobject.cpp.
| MxDSObject::MxDSObject | ( | MxDSObject & | p_dsObject | ) |
[AI] Copy constructor.
[AI]
| p_dsObject | Source MxDSObject. [AI] |
Definition at line 58 of file mxdsobject.cpp.
|
inlineoverridevirtual |
[AI] Returns the class identifier string for run-time type ID.
Reimplemented from MxCore.
Reimplemented in MxDSObjectAction, MxDSParallelAction, MxDSSelectAction, MxDSSerialAction, MxDSSound, and MxDSStill.
Definition at line 92 of file mxdsobject.h.
|
inline |
[AI] Clears the atom id, releasing its association.
Definition at line 158 of file mxdsobject.h.
| void MxDSObject::CopyFrom | ( | MxDSObject & | p_dsObject | ) |
[AI] Copy data from another MxDSObject, performing deep string copy for names.
| p_dsObject | Source MxDSObject to copy from. [AI] |
Definition at line 46 of file mxdsobject.cpp.
[AI] Initializes this object from serialized (memory buffer) data.
| p_source | Reference to pointer for in-place buffer decoding, pointer is advanced. [AI] |
| p_unk0x24 | Likely data version or additional context flag. [AI] [AI] Sets object/source names, object id, and type flag from the provided buffer. |
Reimplemented in MxDSAction, MxDSMediaAction, MxDSMultiAction, MxDSSelectAction, and MxDSSound.
Definition at line 159 of file mxdsobject.cpp.
|
inline |
[AI] Returns a const-reference to the object's atom identifier.
Definition at line 133 of file mxdsobject.h.
|
inline |
[AI] Returns the object id numeric value.
Definition at line 130 of file mxdsobject.h.
|
inline |
[AI] Returns the object name string.
Definition at line 127 of file mxdsobject.h.
|
virtual |
[AI] Calculates serialized size of this object on disk (for buffer allocation).
Reimplemented in MxDSAction, MxDSMediaAction, MxDSMultiAction, MxDSSelectAction, and MxDSSound.
Definition at line 129 of file mxdsobject.cpp.
|
inline |
[AI] Returns the source name string (typically the originating SI file).
Definition at line 124 of file mxdsobject.h.
|
inline |
[AI] Returns the object's type enum as stored in m_type.
Definition at line 121 of file mxdsobject.h.
|
inline |
[AI] Returns the unknown 0x24 value (may be data version or usage state). [AI]
Definition at line 136 of file mxdsobject.h.
|
inline |
[AI] Returns the pointer stored at 0x28, likely a presenter or handler for this DS object.
Definition at line 139 of file mxdsobject.h.
|
inlineoverridevirtual |
[AI] Runtime type check; supports derived/parent class lookup by name.
| p_name | Type name to compare. [AI] |
Reimplemented from MxCore.
Reimplemented in MxDSObjectAction, MxDSParallelAction, MxDSSelectAction, MxDSSerialAction, MxDSSound, and MxDSStill.
Definition at line 97 of file mxdsobject.h.
| MxDSObject & MxDSObject::operator= | ( | MxDSObject & | p_dsObject | ) |
[AI] Assignment operator.
Deep-copies fields. [AI]
| p_dsObject | Source to assign from. [AI] |
Definition at line 65 of file mxdsobject.cpp.
|
inlinevirtual |
[AI] Sets the atom id for this object instance, used for indexing or lookup.
| p_atomId | Atom identifier for string/value pair. [AI] |
Reimplemented in MxDSMultiAction.
Definition at line 118 of file mxdsobject.h.
|
inline |
[AI] Sets the object id (for serialization or lookup).
| p_objectId | Value to use as objectId. [AI] |
Definition at line 147 of file mxdsobject.h.
| void MxDSObject::SetObjectName | ( | const char * | p_objectName | ) |
[AI] Sets object (internal) unique name; deep copies the string.
| p_objectName | C-string to set as objectName. [AI] |
Definition at line 77 of file mxdsobject.cpp.
| void MxDSObject::SetSourceName | ( | const char * | p_sourceName | ) |
[AI] Sets the source name (usually source SI file); deep copies the string.
| p_sourceName | C-string to set as sourceName. [AI] |
Definition at line 99 of file mxdsobject.cpp.
|
inline |
[AI] Sets the DS object type.
| p_type | Value to store as m_type. [AI] |
Definition at line 143 of file mxdsobject.h.
|
inline |
[AI] Sets the unknown field at 0x24 (possibly version/state).
| p_unk0x24 | Value for 0x24. [AI] |
Definition at line 151 of file mxdsobject.h.
|
inline |
[AI] Sets the pointer at 0x28 (presenter or handler).
| p_unk0x28 | Pointer, usually to a MxPresenter. [AI] |
Definition at line 155 of file mxdsobject.h.
|
virtual |
[AI] Placeholder for early vtable slot (purpose unknown, may be used for RTTI).
[AI]
Reimplemented in MxDSAction, MxDSMediaAction, and MxDSMultiAction.
Definition at line 121 of file mxdsobject.cpp.
|
protected |
[AI] String/value pair for engine lookup/reference. [AI]
Definition at line 171 of file mxdsobject.h.
|
protected |
[AI] Numeric id (unique per file or context, often -1). [AI]
Definition at line 170 of file mxdsobject.h.
|
protected |
[AI] Heap copy: Logical object name as referenced in script/data. [AI]
Definition at line 169 of file mxdsobject.h.
|
protected |
[AI] Cached/calculated disk size of object data for serialization. [AI]
Definition at line 165 of file mxdsobject.h.
|
protected |
[AI] Heap copy: SI file or source identifier string. [AI]
Definition at line 167 of file mxdsobject.h.
|
protected |
[AI] Object type enum (see Type) as read from data or set in code. [AI]
Definition at line 166 of file mxdsobject.h.
|
protected |
[AI] Unknown usage, possibly flags or reserved SI-format field. [AI]
Definition at line 168 of file mxdsobject.h.
|
protected |
[AI] Unknown usage, possibly used for context or flags during loading. [AI]
Definition at line 172 of file mxdsobject.h.
|
protected |
[AI] Presenter or handler associated to this object (may be null). [AI]
Definition at line 173 of file mxdsobject.h.