24 ProgressTickleState(e_starting);
26 m_subscriber->FreeDataChunk(chunk);
27 if (m_compositePresenter) {
28 if (m_action->GetDuration() == -1 || m_action->GetFlags() & 1) {
29 m_compositePresenter->VTable0x60(
this);
68 if (!p_fromDestructor) {
82 memcpy(extraCopy, extraData, extraLength);
83 extraCopy[extraLength] =
'\0';
92 m_unk0x54 = extraCopy;
[AI] Presenter for controlling action logic (e.g., invoking named actions such as "RUN",...
void RepeatingTickle() override
[AI] Handles tickle at the 'repeating' state to invoke parsed actions.
MxResult AddToManager() override
[AI] Registers this presenter as a tickle client with the TickleManager.
void ParseExtra() override
[AI] Parses the Extra field (from SI) for action commands and parameters.
[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.
void ProgressTickleState(TickleState p_tickleState)
[AI] Helper for advancing the presenter's tickle state and updating transition history.
MxBool IsEnabled()
[AI] Returns whether this presenter is logically enabled (based on the associated action's flags).
MxDSAction * m_action
[AI] The associated action currently being presented by this presenter.
@ e_done
[AI] Completed processing the current action.
[AI] Represents a streamable chunk of data, typically sourced from a media buffer and designed for no...
char * GetData() const
Returns a pointer to the internal character buffer.
void ToLowerCase()
Converts the string contents to lowercase in-place.
virtual void UnregisterClient(MxCore *p_client)
[AI] Unregisters (marks for destruction) a previously registered client.
virtual void RegisterClient(MxCore *p_client, MxTime p_interval)
[AI] Registers an MxCore object to receive periodic tickles.
#define DECOMP_SIZE_ASSERT(T, S)
const char * g_strACTION
[AI] Used as the key for defining an action or command block in game scripts.
const char * g_parseExtraTokens
[AI] Delimiter tokens for parsing extra parameters in scripts or command strings.
#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.
void InvokeAction(Extra::ActionType p_actionId, const MxAtomId &p_pAtom, MxS32 p_streamId, LegoEntity *p_sender)
[AI] Dispatches and triggers a game action on the given script or object.
Extra::ActionType MatchActionString(const char *)
[AI] Parses an action string to determine the corresponding action type.
@ e_lowerCase2
[AI] Alternative or legacy lower case mode, functionally equivalent to e_lowerCase.
MxTickleManager * TickleManager()
[AI] Provides access to the global tickle manager.
MxBool KeyValueStringParse(char *, const char *, const char *)
Searches p_string for a key command and copies its associated value to p_output.
void MakeSourceName(char *, const char *)
Parses an SI source filename and normalizes it for use in the engine.