47 while (cursor.
Next(chunk)) {
57 if (!p_fromDestructor) {
virtual MxBool VTable0x64(undefined4 p_undefined)
[AI] Delegated state/mode checking.
[AI] Represents an action deserialized from SI chunks, holding key animation or script parameters suc...
MxU32 GetFlags()
[AI] Returns the flag field for this action (bitmask).
MxLong GetStartTime() const
[AI] Gets the nominal start time for the action, as loaded or scheduled.
MxS32 GetLoopCount()
[AI] Returns the loop count for this action.
virtual void SetUnknown90(MxLong p_unk0x90)
[AI] Set unknown value at offset 0x90, used as baseline in GetElapsedTime.
void SetFlags(MxU32 p_flags)
[AI] Sets the flag bitmask controlling action logic (enabled, looping, etc).
virtual MxLong GetDuration()
[AI] Gets the duration for which this action is intended to run.
virtual MxLong GetElapsedTime()
[AI] Gets elapsed time for this action since the last time field 0x90 was set.
MxCore * GetOrigin()
[AI] Returns a pointer to the "origin" core object, which may be used to localize the action.
@ c_looping
[AI] Action or media should repeat in a loop [AI]
@ c_world
[AI] Action is described in world-space coordinates [AI]
@ c_bit7
[AI] Unknown - possibly reserved [AI]
MxU32 GetLength()
[AI] Returns the length in bytes of the data payload. [AI]
void Release()
[AI] Releases (deletes) data payload if present, regardless of flags; call to explicitly free memory ...
MxLong GetTime()
[AI] Returns the time (timestamp or tick) associated with this chunk. [AI]
void SetData(MxU8 *p_data)
[AI] Sets the pointer to the raw payload data (may or may not be owned by chunk object).
MxU8 * GetData()
[AI] Returns a pointer to the start of the data payload. [AI]
MxU16 GetChunkFlags()
[AI] Returns the chunk's flag bitfield. [AI]
void SetLength(MxU32 p_length)
[AI] Sets the payload data length for this chunk.
void SetTime(MxLong p_time)
[AI] Sets the time (timestamp/tick/frame) associated with this chunk.
MxS16 GetUnknown24()
[AI] Returns the unknown 0x24 value (may be data version or usage state). [AI]
MxU32 GetObjectId()
[AI] Returns the object id numeric value.
[AI] Handles the receipt, queuing, and batch management of data chunks streamed by a MxStreamControll...
MxResult Create(MxStreamController *p_controller, MxU32 p_objectId, MxS16 p_unk0x48)
[AI] Initializes subscription to a streaming controller, sets identifiers, and establishes chunk curs...
MxStreamChunk * PopData()
[AI] Pops the next available pending data chunk for consumption, moving it to the consumed list.
void FreeDataChunk(MxStreamChunk *p_chunk)
[AI] Frees (deletes) a data chunk if it's found in the consumed data list; also forcibly deletes sing...
MxStreamChunk * PeekData()
[AI] Returns but does not remove the first pending data chunk ("peek" operation).
[AI] Notification parameter marking the end of an action, specialization of MxActionNotificationParam...
MxResult Send(MxCore *p_listener, const MxNotificationParam &p_param)
[AI] Queues a notification to be sent to a specific registered listener.
virtual void SetTickleState(TickleState p_tickleState)
[AI] Forces the tickle state, advancing to the requested lifecycle stage.
virtual void EndAction()
[AI] Terminates the current action, notifies listeners and resets state.
void ProgressTickleState(TickleState p_tickleState)
[AI] Helper for advancing the presenter's tickle state and updating transition history.
virtual void Enable(MxBool p_enable)
[AI] Enables or disables this presenter (controls action flags accordingly).
MxBool IsEnabled()
[AI] Returns whether this presenter is logically enabled (based on the associated action's flags).
virtual MxResult StartAction(MxStreamController *, MxDSAction *)
[AI] Initiates presenter for a new action, setting up context and state.
MxDSAction * m_action
[AI] The associated action currently being presented by this presenter.
MxResult Tickle() override
[AI] Main tickle handler, called periodically to progress presenter's internal state.
@ e_repeating
[AI] Presentation is repeating (e.g., looping media).
@ e_done
[AI] Completed processing the current action.
@ e_idle
[AI] Not processing an action.
@ e_freezing
[AI] Temporarily suspending updates or playback.
MxCriticalSection m_criticalSection
[AI] Thread synchronization for presenter state and data.
MxCompositePresenter * m_compositePresenter
[AI] Owner composite presenter, if any.
virtual void Destroy()
[AI] Resets presenter state or cleans up resources after completion/removal.
[AI] Cursor for iterating over a MxStreamChunkList.
[AI] A list for managing collections of pointers to MxStreamChunk objects, used for organizing and ma...
[AI] Represents a streamable chunk of data, typically sourced from a media buffer and designed for no...
[AI] Controller for streaming and managing multimedia resources and actions during gameplay.
MxLong GetTime()
Returns the current timer value in ms, depending on running state.
#define DECOMP_SIZE_ASSERT(T, S)
#define NULL
[AI] Null pointer value (C/C++ semantics).
#define FAILURE
[AI] Used to indicate a failed operation in result codes.
#define SUCCESS
[AI] Used to indicate a successful operation in result codes.
#define AUTOLOCK(CS)
[AI] Macro for automatic locking using the MxAutoLock class. This macro instantiates an MxAutoLock ob...
#define DS_CHUNK_END_OF_STREAM
[AI] Flag bit indicating this chunk is the last in its stream.
#define DS_CHUNK_BIT3
[AI] Unknown bit flag, marked as BIT3 in decompilation.
MxTimer * Timer()
[AI] Returns the global simulation timer.
MxNotificationManager * NotificationManager()
[AI] Returns the notification manager for system-wide state/update notifications.
@ c_notificationEndAction
[AI] Indicates the end of an action [AI]