22void MxLoopingFlcPresenter::Init()
24 this->m_elapsedDuration = 0;
36 if (!p_fromDestructor) {
89 while (cursor.
Next(chunk)) {
void Enter()
[AI] Acquires/gains entry to the critical section or mutex, blocking if not available.
void Leave()
[AI] Releases/leaves the critical section or mutex.
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.
MxLong GetTime()
[AI] Returns the time (timestamp or tick) associated with this chunk. [AI]
MxU16 GetChunkFlags()
[AI] Returns the chunk's flag bitfield. [AI]
void SetTime(MxLong p_time)
[AI] Sets the time (timestamp/tick/frame) associated with this chunk.
void FreeDataChunk(MxStreamChunk *p_chunk)
[AI] Frees (deletes) a data chunk if it's found in the consumed data list; also forcibly deletes sing...
FLIC_HEADER * m_flcHeader
[AI] Internal cached FLIC header for video decoding and playback.
void LoadFrame(MxStreamChunk *p_chunk) override
[AI] Decodes a FLIC frame from the stream chunk, applies it to the bitmap, and triggers any palette/r...
MxBool Last(T &p_obj)
[AI]
MxBool Current(T &p_obj)
[AI]
MxBool First(T &p_obj)
[AI]
[AI] Presents a looping FLC (Autodesk Animator FLIC) animation, extending the core FLC presenter to s...
void RepeatingTickle() override
[AI] Called during the repeating tickle state in the tickle loop to handle animation looping logic.
MxResult AddToManager() override
[AI] Adds this presenter to the tickle manager for updates.
virtual void VTable0x88()
[AI] Custom virtual function at vtable offset 0x88, responsible for updating current looping frame or...
~MxLoopingFlcPresenter() override
[AI] Destructor.
void NextFrame() override
[AI] Loads and advances to the next animation frame, updating loop counters and timing.
void Destroy() override
[AI] Destroys the presenter, cleaning up resources and unregistering from tickle managers if needed.
MxLoopingFlcPresenter()
[AI] Constructs the looping FLC presenter and initializes internal state.
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.
TickleState m_currentTickleState
[AI] Current state in the tickle lifecycle.
@ e_repeating
[AI] Presentation is repeating (e.g., looping media).
@ e_freezing
[AI] Temporarily suspending updates or playback.
MxCriticalSection m_criticalSection
[AI] Thread synchronization for presenter state and data.
virtual MxResult AddToManager()
[AI] Optional registration with a manager (such as TickleManager); by default does nothing.
[AI] Cursor for iterating over a MxStreamChunkList.
[AI] Represents a streamable chunk of data, typically sourced from a media buffer and designed for no...
MxS16 m_unk0x5c
Loop/advance/frame decode counter. [AI].
#define DECOMP_SIZE_ASSERT(T, S)
#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 DS_CHUNK_END_OF_STREAM
[AI] Flag bit indicating this chunk is the last in its stream.