Isle
|
[AI] Represents a sound action extracted from an SI script and used in the data-driven action system. More...
#include <mxdssound.h>
Public Member Functions | |
MxDSSound () | |
[AI] Constructs a MxDSSound object with default values (type set to e_sound, default volume). More... | |
MxDSSound (MxDSSound &p_dsSound) | |
[AI] Copy constructor for duplicating sound action data from another MxDSSound. More... | |
~MxDSSound () override | |
[AI] Destructor for cleanup (none specifically required, present for consistency). More... | |
void | CopyFrom (MxDSSound &p_dsSound) |
[AI] Copies properties from another MxDSSound (volume and type). More... | |
MxDSSound & | operator= (MxDSSound &p_dsSound) |
[AI] Assignment operator. More... | |
const char * | ClassName () const override |
[AI] Returns the class type name "MxDSSound" as a string literal. More... | |
MxBool | IsA (const char *p_name) const override |
[AI] Tests for type identity against this class or ancestors. More... | |
MxU32 | GetSizeOnDisk () override |
[AI] Returns the total size the action will occupy on disk, including media action and volume. More... | |
void | Deserialize (MxU8 *&p_source, MxS16 p_unk0x24) override |
[AI] Deserializes this object from binary SI file data, extracting volume after base class fields. More... | |
MxDSAction * | Clone () override |
[AI] Creates a duplicate of this MxDSSound instance. More... | |
MxS32 | GetVolume () const |
[AI] Returns the stored volume field for the sound. More... | |
![]() | |
MxDSMediaAction () | |
Constructs a new MxDSMediaAction and initializes all members. More... | |
MxDSMediaAction (MxDSMediaAction &p_dsMediaAction) | |
Copy constructor; constructs a new MxDSMediaAction by copying the state of another. More... | |
~MxDSMediaAction () override | |
Destructor. More... | |
void | CopyFrom (MxDSMediaAction &p_dsMediaAction) |
Copy the internal state and properties from another MxDSMediaAction. More... | |
MxDSMediaAction & | operator= (MxDSMediaAction &p_dsMediaAction) |
Assignment operator. More... | |
const char * | ClassName () const override |
Returns the class name string for this object. More... | |
MxBool | IsA (const char *p_name) const override |
Checks for class membership. More... | |
undefined4 | VTable0x14 () override |
[AI] Implementation-specific vtable placeholder. More... | |
MxU32 | GetSizeOnDisk () override |
Calculates size in bytes required to store this object on disk, including strings and additional fields. More... | |
void | Deserialize (MxU8 *&p_source, MxS16 p_unk0x24) override |
Deserializes the object data from a binary buffer, restoring state including media source path and configuration. More... | |
MxDSAction * | Clone () override |
Creates a deep copy (clone) of this action and returns it. More... | |
void | CopyMediaSrcPath (const char *p_mediaSrcPath) |
Deep-copies a new string for the media source path; cleans up previous memory as needed. More... | |
const char * | GetMediaSrcPath () |
Provides access to the path string of the media resource used by this action. More... | |
MxS32 | GetFramesPerSecond () const |
Gets the frame rate to use for media playback. More... | |
MxS32 | GetMediaFormat () const |
Returns the media format code (e.g., FLC, SMK, WAV) for playback and presenter dispatch. More... | |
MxS32 | GetPaletteManagement () const |
Gets the palette management mode for playback of this media. More... | |
MxLong | GetSustainTime () const |
Returns the sustain time for the media, i.e., time it should remain presented/active. More... | |
![]() | |
MxDSAction () | |
[AI] Default constructor. More... | |
~MxDSAction () override | |
[AI] Destructor. More... | |
MxDSAction (MxDSAction &p_dsAction) | |
[AI] Copy constructor from another MxDSAction More... | |
void | CopyFrom (MxDSAction &p_dsAction) |
[AI] Copies all properties from another MxDSAction (deep copy, including extra data string) More... | |
MxDSAction & | operator= (MxDSAction &p_dsAction) |
[AI] Assignment operator: deep-copy from a different MxDSAction, including base class data and extra fields. More... | |
const char * | ClassName () const override |
[AI] Returns the class name for RTTI or reflection purposes. More... | |
MxBool | IsA (const char *p_name) const override |
[AI] Run-time type check, compares provided name with this or any ancestor type. More... | |
undefined4 | VTable0x14 () override |
[AI] Unknown virtual placeholder, possibly for additional interfaces. More... | |
MxU32 | GetSizeOnDisk () override |
[AI] Serializes the size on disk of this action (all fields + extra data length) More... | |
void | Deserialize (MxU8 *&p_source, MxS16 p_unk0x24) override |
[AI] Deserializes this action's data from a binary buffer. More... | |
virtual MxLong | GetDuration () |
[AI] Gets the duration for which this action is intended to run. More... | |
virtual void | SetDuration (MxLong p_duration) |
[AI] Sets the duration of this action in ticks or time units. More... | |
virtual MxDSAction * | Clone () |
[AI] Clones (deep-copies) this action and returns a new pointer. More... | |
virtual void | MergeFrom (MxDSAction &p_dsAction) |
[AI] Copies/merges properties from another action. More... | |
virtual MxBool | HasId (MxU32 p_objectId) |
[AI] Checks if this action contains/was created for a specific SI object id. More... | |
virtual void | SetUnknown90 (MxLong p_unk0x90) |
[AI] Set unknown value at offset 0x90, used as baseline in GetElapsedTime. More... | |
virtual MxLong | GetUnknown90 () |
[AI] Gets the unknown value at offset 0x90, likely a start timestamp. More... | |
virtual MxLong | GetElapsedTime () |
[AI] Gets elapsed time for this action since the last time field 0x90 was set. More... | |
void | AppendExtra (MxU16 p_extraLength, const char *p_extraData) |
[AI] Concatenates or stores extra data associated with this action, robust for multi-part actions. More... | |
void | GetExtra (MxU16 &p_extraLength, char *&p_extraData) |
[AI] Retrieves the extra data and its length for this action. More... | |
MxU32 | GetFlags () |
[AI] Returns the flag field for this action (bitmask). More... | |
void | SetFlags (MxU32 p_flags) |
[AI] Sets the flag bitmask controlling action logic (enabled, looping, etc). More... | |
char * | GetExtraData () |
[AI] Accessor for extra data (not null-terminated). More... | |
MxU16 | GetExtraLength () const |
[AI] Returns the length (in bytes) of extra data. More... | |
MxLong | GetStartTime () const |
[AI] Gets the nominal start time for the action, as loaded or scheduled. More... | |
MxS32 | GetLoopCount () |
[AI] Returns the loop count for this action. More... | |
void | SetLoopCount (MxS32 p_loopCount) |
[AI] Sets the loop count for this action. More... | |
const Vector3 & | GetLocation () |
[AI] Gets the location vector for this action (world or local space). More... | |
const Vector3 & | GetDirection () |
[AI] Gets the direction vector (typically forward vector) for this action. More... | |
const Vector3 & | GetUp () |
[AI] Gets the up vector for this action (global or local). More... | |
void | SetLocation (const Vector3 &p_location) |
[AI] Sets the location vector for this action. More... | |
void | SetDirection (const Vector3 &p_direction) |
[AI] Sets the direction vector for this action. More... | |
void | SetUp (const Vector3 &p_up) |
[AI] Sets the up vector for this action. More... | |
MxCore * | GetUnknown84 () |
[AI] Returns a pointer to an associated or auxiliary core object. More... | |
void | SetUnknown84 (MxCore *p_unk0x84) |
[AI] Sets the auxiliary core pointer for this action. More... | |
MxCore * | GetOrigin () |
[AI] Returns a pointer to the "origin" core object, which may be used to localize the action. More... | |
void | SetOrigin (MxCore *p_origin) |
[AI] Sets the origin core pointer for this action, if spatially transforming/localizing this action. More... | |
MxBool | IsLooping () const |
[AI] Whether this action is set to loop based on current flags. More... | |
MxBool | IsBit3 () const |
[AI] Tests for the state of the (unknown purpose) bit 3 flag in m_flags. More... | |
![]() | |
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... | |
![]() | |
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... | |
Additional Inherited Members | |
![]() | |
enum | { c_looping = 0x01 , c_bit3 = 0x04 , c_bit4 = 0x08 , c_bit5 = 0x10 , c_enabled = 0x20 , c_bit7 = 0x40 , c_world = 0x80 , c_bit9 = 0x100 , c_bit10 = 0x200 , c_bit11 = 0x400 } |
[AI] Action bitmask flag options controlling flow (loop, enable, world-space, etc) More... | |
![]() | |
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... | |
![]() | |
MxU32 | m_sizeOnDisk |
[AI] The size of this action's fields on disk, not counting ancestor size. More... | |
MxU32 | m_flags |
[AI] Bitfield for flags (enabled, looping, etc). More... | |
MxLong | m_startTime |
[AI] Time at which the action is meant to start, or INT_MIN for unset. More... | |
MxLong | m_duration |
[AI] The duration to run the action, or INT_MIN for undefined. More... | |
MxS32 | m_loopCount |
[AI] Number of times to repeat the action, or -1 for infinite/not-set. More... | |
Mx3DPointFloat | m_location |
[AI] Location in 3D world or local space (x, y, z). More... | |
Mx3DPointFloat | m_direction |
[AI] "Forward" direction vector for this action. More... | |
Mx3DPointFloat | m_up |
[AI] "Up" vector for this action. More... | |
char * | m_extraData |
[AI] Opaque extra data for custom or extended behavior. More... | |
MxU16 | m_extraLength |
[AI] Length of extra data in bytes. More... | |
MxCore * | m_unk0x84 |
[AI] Pointer to an auxiliary MxCore object, purpose unknown. More... | |
undefined4 | m_unk0x88 |
[AI] 4 bytes at 0x88; usage not known. More... | |
MxCore * | m_origin |
[AI] Pointer to an "origin" MxCore object, for spatial/ownership reference. More... | |
MxLong | m_unk0x90 |
[AI] Unknown field, appears to store a timestamp for GetElapsedTime logics. More... | |
![]() | |
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] Represents a sound action extracted from an SI script and used in the data-driven action system.
[AI] MxDSSound inherits from MxDSMediaAction and specifically encapsulates data for a sound, including volume and serialization utilities. Used in the context of triggered events for playing sounds within the game engine.
Definition at line 14 of file mxdssound.h.
MxDSSound::MxDSSound | ( | ) |
[AI] Constructs a MxDSSound object with default values (type set to e_sound, default volume).
Definition at line 7 of file mxdssound.cpp.
MxDSSound::MxDSSound | ( | MxDSSound & | p_dsSound | ) |
[AI] Copy constructor for duplicating sound action data from another MxDSSound.
p_dsSound | The source MxDSSound to copy from. [AI] |
Definition at line 28 of file mxdssound.cpp.
|
override |
[AI] Destructor for cleanup (none specifically required, present for consistency).
Definition at line 15 of file mxdssound.cpp.
|
inlineoverridevirtual |
[AI] Returns the class type name "MxDSSound" as a string literal.
Reimplemented from MxDSMediaAction.
Definition at line 49 of file mxdssound.h.
|
overridevirtual |
[AI] Creates a duplicate of this MxDSSound instance.
[AI] Used in scripting contexts that require a deep copy of the sound action.
Reimplemented from MxDSMediaAction.
Definition at line 48 of file mxdssound.cpp.
void MxDSSound::CopyFrom | ( | MxDSSound & | p_dsSound | ) |
[AI] Copies properties from another MxDSSound (volume and type).
p_dsSound | The source MxDSSound to copy from. [AI] |
Definition at line 21 of file mxdssound.cpp.
[AI] Deserializes this object from binary SI file data, extracting volume after base class fields.
p_source | Reference to pointer of serialized data buffer (is incremented appropriately). [AI] |
p_unk0x24 | Action type/flags; passed to base class. [AI] |
Reimplemented from MxDSMediaAction.
Definition at line 61 of file mxdssound.cpp.
|
overridevirtual |
[AI] Returns the total size the action will occupy on disk, including media action and volume.
Reimplemented from MxDSMediaAction.
Definition at line 70 of file mxdssound.cpp.
|
inline |
[AI] Returns the stored volume field for the sound.
[AI] This value defines how loud the sound should be when played.
Definition at line 88 of file mxdssound.h.
|
inlineoverridevirtual |
[AI] Tests for type identity against this class or ancestors.
p_name | Requested class name. [AI] |
Reimplemented from MxDSMediaAction.
Definition at line 60 of file mxdssound.h.
[AI] Assignment operator.
Duplicates sound action data from another MxDSSound instance.
p_dsSound | The source MxDSSound to assign from. [AI] |
Definition at line 35 of file mxdssound.cpp.