61 result = DeserializeObject(streamingaction);
[AI] Represents an action deserialized from SI chunks, holding key animation or script parameters suc...
MxResult SetBufferPointer(MxU8 *p_buffer, MxU32 p_size)
[AI] Sets a buffer pointer and records its size.
void FUN_100c6f80(MxU32 p_writeOffset)
[AI] Sets the buffer's internal streaming position to the given write offset.
MxResult FUN_100c67b0(MxStreamController *p_controller, MxDSAction *p_action, MxDSStreamingAction **p_streamingAction)
[AI] Executes streaming action startup and object creation loop from an initial SI chunk.
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.
void SetUnknown24(MxS16 p_unk0x24)
[AI] Sets the unknown field at 0x24 (possibly version/state).
MxS16 GetUnknown24()
[AI] Returns the unknown 0x24 value (may be data version or usage state). [AI]
[AI] Represents an action that streams data from a buffer within a DirectScript (DS) media timeline.
MxU32 GetUnknown94()
[AI] Gets the streaming offset or status value at 0x94.
Derived stream controller that manages media streaming from memory buffers as opposed to disk.
MxResult VTable0x20(MxDSAction *p_action) override
Custom stream controller dispatch, likely for initial action activation or stream setup (unknown sema...
MxResult Open(const char *p_filename) override
Opens and prepares a resource from a memory buffer for streaming.
MxResult VTable0x24(MxDSAction *p_action) override
Custom stream controller dispatch, likely for ending, cleanup, or secondary phase action (unknown sem...
[AI] Provides RAM-backed stream data access.
virtual MxResult VTable0x24(MxDSAction *p_action)
[AI] Matches and processes an action in the "unk0x54" (pending) list and triggers sending to subscrib...
MxCriticalSection m_criticalSection
[AI] Protects streaming controller state for thread-safety.
virtual MxResult VTable0x20(MxDSAction *p_action)
[AI] Streams data for the provided action by determining data offset and reading required chunk.
MxDSObjectList m_unk0x3c
[AI] List of actions currently being processed/streamed ("in progress" actions).
MxDSAction * m_action0x60
[AI] Current action pointer used during processing, moved from pending to active as actions are proce...
virtual MxResult Open(const char *p_filename)
[AI] Opens a data stream with the specified resource filename.
MxStreamProvider * m_provider
[AI] Stream provider abstraction, handling resource IO (RAM/disk).
MxDSObjectList m_unk0x54
[AI] List of actions queued and ready to be streamed ("pending" actions).
virtual MxResult SetResourceToGet(MxStreamController *p_pLookup)
[AI] Attaches a stream controller as the resource to provide data for.
#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...
MxU32 ReadData(MxU8 *p_fileSizeBuffer, MxU32 p_fileSize)
[AI] Rearranges split and unordered chunks within a memory buffer for SI resource files,...