Isle
Loading...
Searching...
No Matches
MxDSAction Class Reference

[AI] Represents an action deserialized from SI chunks, holding key animation or script parameters such as location, duration, and extra action-specific data. More...

#include <mxdsaction.h>

Inheritance diagram for MxDSAction:
Collaboration diagram for MxDSAction:

Public Types

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...
 
- Public Types inherited from MxDSObject
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

 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...
 
MxDSActionoperator= (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 MxDSActionClone ()
 [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 Vector3GetLocation ()
 [AI] Gets the location vector for this action (world or local space). More...
 
const Vector3GetDirection ()
 [AI] Gets the direction vector (typically forward vector) for this action. More...
 
const Vector3GetUp ()
 [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...
 
MxCoreGetUnknown84 ()
 [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...
 
MxCoreGetOrigin ()
 [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...
 
- Public Member Functions inherited from MxDSObject
 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...
 
MxDSObjectoperator= (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 MxAtomIdGetAtomId ()
 [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...
 
MxPresenterGetUnknown28 ()
 [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] 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...
 
MxCorem_unk0x84
 [AI] Pointer to an auxiliary MxCore object, purpose unknown. More...
 
undefined4 m_unk0x88
 [AI] 4 bytes at 0x88; usage not known. More...
 
MxCorem_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...
 
- Protected Attributes inherited from MxDSObject
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...
 
MxPresenterm_unk0x28
 [AI] Presenter or handler associated to this object (may be null). [AI] More...
 

Detailed Description

[AI] Represents an action deserialized from SI chunks, holding key animation or script parameters such as location, duration, and extra action-specific data.

[AI] Forward declaration for a data structure representing a queued or running script-based action.

[AI] MxDSAction extends MxDSObject and contains information used to control actions in the world, including timing (start time, duration), looping, transformation (location, direction, up), and user-defined "extra" data for further parametrization. Used extensively for scripting animation/logic flows as loaded from SI files. Flags and several unknown fields hint at unimplemented or engine-specific behaviors.

Definition at line 17 of file mxdsaction.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

[AI] Action bitmask flag options controlling flow (loop, enable, world-space, etc)

Enumerator
c_looping 

[AI] Action or media should repeat in a loop [AI]

c_bit3 

[AI] Unknown - possibly reserved [AI]

c_bit4 

[AI] Unknown - possibly reserved [AI]

c_bit5 

[AI] Unknown - possibly reserved [AI]

c_enabled 

[AI] Action is currently enabled [AI]

c_bit7 

[AI] Unknown - possibly reserved [AI]

c_world 

[AI] Action is described in world-space coordinates [AI]

c_bit9 

[AI] Unknown - possibly reserved [AI]

c_bit10 

[AI] Unknown - possibly reserved [AI]

c_bit11 

[AI] Unknown - possibly reserved [AI]

Definition at line 20 of file mxdsaction.h.

Constructor & Destructor Documentation

◆ MxDSAction() [1/2]

MxDSAction::MxDSAction ( )

[AI] Default constructor.

Initializes all fields with default, safe, or sentinel values.

[AI] Ensures all primary data members are initialized for deserialization and live-action use.

Definition at line 19 of file mxdsaction.cpp.

◆ ~MxDSAction()

MxDSAction::~MxDSAction ( )
override

[AI] Destructor.

Frees resources held by this action, especially extra data.

[AI] Cleans up dynamic memory in m_extraData.

Definition at line 74 of file mxdsaction.cpp.

◆ MxDSAction() [2/2]

MxDSAction::MxDSAction ( MxDSAction p_dsAction)

[AI] Copy constructor from another MxDSAction

Parameters
p_dsActionSource action to copy from [AI]

Definition at line 99 of file mxdsaction.cpp.

Member Function Documentation

◆ AppendExtra()

void MxDSAction::AppendExtra ( MxU16  p_extraLength,
const char *  p_extraData 
)

[AI] Concatenates or stores extra data associated with this action, robust for multi-part actions.

Parameters
p_extraLengthLength of extra data [AI]
p_extraDataExtra data string or binary blob, not null-terminated [AI]

[AI] Used for storing action-specific script or parameter data.

Definition at line 225 of file mxdsaction.cpp.

◆ ClassName()

const char * MxDSAction::ClassName ( ) const
inlineoverridevirtual

[AI] Returns the class name for RTTI or reflection purposes.

Returns
Null-terminated string with the class name. [AI]

Reimplemented from MxCore.

Reimplemented in MxDSAnim, MxDSEvent, MxDSMediaAction, MxDSMultiAction, MxDSObjectAction, MxDSParallelAction, MxDSSelectAction, MxDSSerialAction, MxDSSound, and MxDSStill.

Definition at line 68 of file mxdsaction.h.

◆ Clone()

MxDSAction * MxDSAction::Clone ( )
virtual

[AI] Clones (deep-copies) this action and returns a new pointer.

[AI] Extra data and all fields are duplicated.

Reimplemented in MxDSAnim, MxDSEvent, MxDSMediaAction, MxDSMultiAction, MxDSObjectAction, MxDSParallelAction, MxDSSelectAction, MxDSSerialAction, MxDSSound, and MxDSStill.

Definition at line 146 of file mxdsaction.cpp.

◆ CopyFrom()

void MxDSAction::CopyFrom ( MxDSAction p_dsAction)

[AI] Copies all properties from another MxDSAction (deep copy, including extra data string)

Parameters
p_dsActionSource action to copy from [AI]

Definition at line 81 of file mxdsaction.cpp.

◆ Deserialize()

void MxDSAction::Deserialize ( MxU8 *&  p_source,
MxS16  p_unk0x24 
)
overridevirtual

[AI] Deserializes this action's data from a binary buffer.

Parameters
p_sourceBuffer (by reference, advances pointer) [AI]
p_unk0x24Flags or mode for deserialization [AI]

[AI] Reads all fields, and also appends or loads extra data if present.

Reimplemented from MxDSObject.

Reimplemented in MxDSMediaAction, MxDSMultiAction, MxDSSelectAction, and MxDSSound.

Definition at line 259 of file mxdsaction.cpp.

◆ GetDirection()

const Vector3 & MxDSAction::GetDirection ( )
inline

[AI] Gets the direction vector (typically forward vector) for this action.

Definition at line 220 of file mxdsaction.h.

◆ GetDuration()

MxLong MxDSAction::GetDuration ( )
virtual

[AI] Gets the duration for which this action is intended to run.

[AI] Duration is measured in game or media ticks.

Reimplemented in MxDSParallelAction, and MxDSSerialAction.

Definition at line 39 of file mxdsaction.cpp.

◆ GetElapsedTime()

MxLong MxDSAction::GetElapsedTime ( )
virtual

[AI] Gets elapsed time for this action since the last time field 0x90 was set.

[AI] Value is determined by current timer - m_unk0x90.

Definition at line 159 of file mxdsaction.cpp.

◆ GetExtra()

void MxDSAction::GetExtra ( MxU16 p_extraLength,
char *&  p_extraData 
)
inline

[AI] Retrieves the extra data and its length for this action.

Parameters
[out]p_extraLengthThe length of extra [AI]
[out]p_extraDataThe pointer to extra data [AI]

Definition at line 168 of file mxdsaction.h.

◆ GetExtraData()

char * MxDSAction::GetExtraData ( )
inline

[AI] Accessor for extra data (not null-terminated).

Definition at line 188 of file mxdsaction.h.

◆ GetExtraLength()

MxU16 MxDSAction::GetExtraLength ( ) const
inline

[AI] Returns the length (in bytes) of extra data.

Definition at line 193 of file mxdsaction.h.

◆ GetFlags()

MxU32 MxDSAction::GetFlags ( )
inline

[AI] Returns the flag field for this action (bitmask).

Definition at line 177 of file mxdsaction.h.

◆ GetLocation()

const Vector3 & MxDSAction::GetLocation ( )
inline

[AI] Gets the location vector for this action (world or local space).

[AI] (x, y, z) in Mx3DPointFloat units.

Definition at line 215 of file mxdsaction.h.

◆ GetLoopCount()

MxS32 MxDSAction::GetLoopCount ( )
inline

[AI] Returns the loop count for this action.

-1 means infinite or not specified.

Definition at line 203 of file mxdsaction.h.

◆ GetOrigin()

MxCore * MxDSAction::GetOrigin ( )
inline

[AI] Returns a pointer to the "origin" core object, which may be used to localize the action.

[AI_SUGGESTED_NAME: GetOriginCore]

Definition at line 259 of file mxdsaction.h.

◆ GetSizeOnDisk()

MxU32 MxDSAction::GetSizeOnDisk ( )
overridevirtual

[AI] Serializes the size on disk of this action (all fields + extra data length)

[AI] Used for saving/exporting out the action. [AI]

Reimplemented from MxDSObject.

Reimplemented in MxDSMediaAction, MxDSMultiAction, MxDSSelectAction, and MxDSSound.

Definition at line 113 of file mxdsaction.cpp.

◆ GetStartTime()

MxLong MxDSAction::GetStartTime ( ) const
inline

[AI] Gets the nominal start time for the action, as loaded or scheduled.

Definition at line 198 of file mxdsaction.h.

◆ GetUnknown84()

MxCore * MxDSAction::GetUnknown84 ( )
inline

[AI] Returns a pointer to an associated or auxiliary core object.

[AI_SUGGESTED_NAME: GetAuxObject]

Definition at line 248 of file mxdsaction.h.

◆ GetUnknown90()

MxLong MxDSAction::GetUnknown90 ( )
virtual

[AI] Gets the unknown value at offset 0x90, likely a start timestamp.

[AI_SUGGESTED_NAME: GetStartTimestamp]

Returns
Value stored at 0x90 [AI]

Definition at line 67 of file mxdsaction.cpp.

◆ GetUp()

const Vector3 & MxDSAction::GetUp ( )
inline

[AI] Gets the up vector for this action (global or local).

Definition at line 225 of file mxdsaction.h.

◆ HasId()

MxBool MxDSAction::HasId ( MxU32  p_objectId)
virtual

[AI] Checks if this action contains/was created for a specific SI object id.

Parameters
p_objectIdObject id being checked [AI]
Return values
TRUEIf id matches, FALSE otherwise [AI]

Reimplemented in MxDSMultiAction, and MxDSStreamingAction.

Definition at line 53 of file mxdsaction.cpp.

◆ IsA()

MxBool MxDSAction::IsA ( const char *  p_name) const
inlineoverridevirtual

[AI] Run-time type check, compares provided name with this or any ancestor type.

Parameters
p_namePotential class type to match [AI]
Return values
TRUEIf type or ancestor type matches [AI]
FALSEOtherwise [AI]

Reimplemented from MxCore.

Reimplemented in MxDSAnim, MxDSEvent, MxDSMediaAction, MxDSMultiAction, MxDSObjectAction, MxDSParallelAction, MxDSSelectAction, MxDSSerialAction, MxDSSound, and MxDSStill.

Definition at line 80 of file mxdsaction.h.

◆ IsBit3()

MxBool MxDSAction::IsBit3 ( ) const
inline

[AI] Tests for the state of the (unknown purpose) bit 3 flag in m_flags.

Definition at line 275 of file mxdsaction.h.

◆ IsLooping()

MxBool MxDSAction::IsLooping ( ) const
inline

[AI] Whether this action is set to loop based on current flags.

Definition at line 270 of file mxdsaction.h.

◆ MergeFrom()

void MxDSAction::MergeFrom ( MxDSAction p_dsAction)
virtual

[AI] Copies/merges properties from another action.

Respects special value sentinels to only merge set values.

Parameters
p_dsActionSource action to merge from [AI]

[AI] Fields with INT_MIN/FLT_MAX are ignored. Handles extra data concatenation with separator.

Reimplemented in MxDSMultiAction.

Definition at line 166 of file mxdsaction.cpp.

◆ operator=()

MxDSAction & MxDSAction::operator= ( MxDSAction p_dsAction)

[AI] Assignment operator: deep-copy from a different MxDSAction, including base class data and extra fields.

Parameters
p_dsActionSource action to assign from [AI]
Returns
Reference to the assigned MxDSAction. [AI]

Definition at line 133 of file mxdsaction.cpp.

◆ SetDirection()

void MxDSAction::SetDirection ( const Vector3 p_direction)
inline

[AI] Sets the direction vector for this action.

Parameters
p_directionDirection vector [AI]

Definition at line 237 of file mxdsaction.h.

◆ SetDuration()

void MxDSAction::SetDuration ( MxLong  p_duration)
virtual

[AI] Sets the duration of this action in ticks or time units.

Parameters
p_durationThe intended duration [AI]

Reimplemented in MxDSParallelAction, and MxDSSerialAction.

Definition at line 46 of file mxdsaction.cpp.

◆ SetFlags()

void MxDSAction::SetFlags ( MxU32  p_flags)
inline

[AI] Sets the flag bitmask controlling action logic (enabled, looping, etc).

Parameters
p_flagsBitmask to set [AI]

Definition at line 183 of file mxdsaction.h.

◆ SetLocation()

void MxDSAction::SetLocation ( const Vector3 p_location)
inline

[AI] Sets the location vector for this action.

Parameters
p_locationLocation vector [AI]

Definition at line 231 of file mxdsaction.h.

◆ SetLoopCount()

void MxDSAction::SetLoopCount ( MxS32  p_loopCount)
inline

[AI] Sets the loop count for this action.

Parameters
p_loopCountValue to assign [AI]

Definition at line 209 of file mxdsaction.h.

◆ SetOrigin()

void MxDSAction::SetOrigin ( MxCore p_origin)
inline

[AI] Sets the origin core pointer for this action, if spatially transforming/localizing this action.

[AI_SUGGESTED_NAME: SetOriginCore]

Parameters
p_originCore object pointer [AI]

Definition at line 265 of file mxdsaction.h.

◆ SetUnknown84()

void MxDSAction::SetUnknown84 ( MxCore p_unk0x84)
inline

[AI] Sets the auxiliary core pointer for this action.

[AI_SUGGESTED_NAME: SetAuxObject]

Parameters
p_unk0x84Object pointer to associate [AI]

Definition at line 254 of file mxdsaction.h.

◆ SetUnknown90()

void MxDSAction::SetUnknown90 ( MxLong  p_unk0x90)
virtual

[AI] Set unknown value at offset 0x90, used as baseline in GetElapsedTime.

[AI_SUGGESTED_NAME: SetStartTimestamp]

Parameters
p_unk0x90Value to set at 0x90 [AI]

Reimplemented in MxDSMultiAction.

Definition at line 60 of file mxdsaction.cpp.

◆ SetUp()

void MxDSAction::SetUp ( const Vector3 p_up)
inline

[AI] Sets the up vector for this action.

Parameters
p_upUp vector [AI]

Definition at line 243 of file mxdsaction.h.

◆ VTable0x14()

undefined4 MxDSAction::VTable0x14 ( )
overridevirtual

[AI] Unknown virtual placeholder, possibly for additional interfaces.

[AI_SUGGESTED_NAME: UnknownVirtual]

Returns
Unknown 4-byte data from base implementation [AI]

Reimplemented from MxDSObject.

Reimplemented in MxDSMediaAction, and MxDSMultiAction.

Definition at line 106 of file mxdsaction.cpp.

Member Data Documentation

◆ m_direction

Mx3DPointFloat MxDSAction::m_direction
protected

[AI] "Forward" direction vector for this action.

[AI]

Definition at line 315 of file mxdsaction.h.

◆ m_duration

MxLong MxDSAction::m_duration
protected

[AI] The duration to run the action, or INT_MIN for undefined.

[AI]

Definition at line 300 of file mxdsaction.h.

◆ m_extraData

char* MxDSAction::m_extraData
protected

[AI] Opaque extra data for custom or extended behavior.

[AI]

Definition at line 325 of file mxdsaction.h.

◆ m_extraLength

MxU16 MxDSAction::m_extraLength
protected

[AI] Length of extra data in bytes.

[AI]

Definition at line 330 of file mxdsaction.h.

◆ m_flags

MxU32 MxDSAction::m_flags
protected

[AI] Bitfield for flags (enabled, looping, etc).

[AI]

Definition at line 290 of file mxdsaction.h.

◆ m_location

Mx3DPointFloat MxDSAction::m_location
protected

[AI] Location in 3D world or local space (x, y, z).

[AI]

Definition at line 310 of file mxdsaction.h.

◆ m_loopCount

MxS32 MxDSAction::m_loopCount
protected

[AI] Number of times to repeat the action, or -1 for infinite/not-set.

[AI]

Definition at line 305 of file mxdsaction.h.

◆ m_origin

MxCore* MxDSAction::m_origin
protected

[AI] Pointer to an "origin" MxCore object, for spatial/ownership reference.

[AI]

Definition at line 345 of file mxdsaction.h.

◆ m_sizeOnDisk

MxU32 MxDSAction::m_sizeOnDisk
protected

[AI] The size of this action's fields on disk, not counting ancestor size.

Used for serialization. [AI]

Definition at line 285 of file mxdsaction.h.

◆ m_startTime

MxLong MxDSAction::m_startTime
protected

[AI] Time at which the action is meant to start, or INT_MIN for unset.

[AI]

Definition at line 295 of file mxdsaction.h.

◆ m_unk0x84

MxCore* MxDSAction::m_unk0x84
protected

[AI] Pointer to an auxiliary MxCore object, purpose unknown.

[AI]

Definition at line 335 of file mxdsaction.h.

◆ m_unk0x88

undefined4 MxDSAction::m_unk0x88
protected

[AI] 4 bytes at 0x88; usage not known.

[AI]

Definition at line 340 of file mxdsaction.h.

◆ m_unk0x90

MxLong MxDSAction::m_unk0x90
protected

[AI] Unknown field, appears to store a timestamp for GetElapsedTime logics.

[AI_SUGGESTED_NAME: m_startTimestamp]

Definition at line 350 of file mxdsaction.h.

◆ m_up

Mx3DPointFloat MxDSAction::m_up
protected

[AI] "Up" vector for this action.

[AI]

Definition at line 320 of file mxdsaction.h.


The documentation for this class was generated from the following files: