21void LegoPathPresenter::Init()
56 if (!p_fromDestructor) {
78 if (controller ==
NULL) {
126 char extraCopy[256], output[256];
127 memcpy(extraCopy, extraData, extraLength);
128 extraCopy[extraLength] =
'\0';
[AI] Manager for controlling actors' movement along predefined geometric paths.
virtual MxResult Create(MxU8 *p_data, const Vector3 &p_location, const MxAtomId &p_trigger)
[AI] Initializes the path controller from the provided binary data at the specified location,...
[AI] Presenter class for loading and managing path data from scripts/actions, used for actor pathing ...
~LegoPathPresenter() override
[AI] Destroys this presenter, unregistering from the video manager, deleting resources,...
void StreamingTickle() override
[AI] Processes data stream chunks during the streaming tickle phase.
void ParseExtra() override
[AI] Parses the extra (optional) field from the related media action, searching for a trigger string ...
MxResult AddToManager() override
[AI] Registers this presenter instance with the global or world's video manager (LegoVideoManager).
void RepeatingTickle() override
[AI] Handles the repeating tickle logic, ending the action if the associated duration is not indefini...
void ReadyTickle() override
[AI] Handles the transition to the ready state ("ReadyTickle") by consuming streamed path data,...
MxAtomId m_trigger
[AI] Atom identifier representing a trigger parsed from the extra string in the associated media acti...
void Destroy() override
[AI] Unregisters the presenter from the video manager, deallocates managed resources,...
Represents the active 3D world, holding all entity, animation, sound, path, and ROI objects.
void AddPath(LegoPathController *p_controller)
Adds a path controller to the world and calls its initialization with this.
[AI] Atomized (unique) string identifier, managed by reference counting.
void GetExtra(MxU16 &p_extraLength, char *&p_extraData)
[AI] Retrieves the extra data and its length for this action.
const Vector3 & GetLocation()
[AI] Gets the location vector for this action (world or local space).
virtual MxLong GetDuration()
[AI] Gets the duration for which this action is intended to run.
MxU8 * GetData()
[AI] Returns a pointer to the start of the data payload. [AI]
MxU16 GetChunkFlags()
[AI] Returns the chunk's flag bitfield. [AI]
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...
void ProgressTickleState(TickleState p_tickleState)
[AI] Helper for advancing the presenter's tickle state and updating transition history.
MxDSAction * m_action
[AI] The associated action currently being presented by this presenter.
@ e_repeating
[AI] Presentation is repeating (e.g., looping media).
@ e_starting
[AI] In the process of starting playback/presentation.
MxCriticalSection m_criticalSection
[AI] Thread synchronization for presenter state and data.
[AI] Represents a streamable chunk of data, typically sourced from a media buffer and designed for no...
#define DECOMP_SIZE_ASSERT(T, S)
const char * g_strTRIGGERS_SOURCE
[AI] Name used to reference identifiers for possible event triggers or references to triggers sources...
#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.
LegoVideoManager * VideoManager()
[AI] Accessor for the game's LegoVideoManager subsystem. Used for managing 3D/video hardware....
LegoWorld * CurrentWorld()
[AI] Accessor for the currently active LegoWorld instance. [AI]
@ e_lowerCase2
[AI] Alternative or legacy lower case mode, functionally equivalent to e_lowerCase.
#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.
MxBool KeyValueStringParse(char *, const char *, const char *)
Searches p_string for a key command and copies its associated value to p_output.