Isle
Loading...
Searching...
No Matches
legolocomotionanimpresenter.h
Go to the documentation of this file.
1#ifndef LEGOLOCOMOTIONANIMPRESENTER_H
2#define LEGOLOCOMOTIONANIMPRESENTER_H
3
5#include "legoroimaplist.h"
6
7class LegoAnimActor;
8
9// VTABLE: LEGO1 0x100d9170
10// SIZE 0xd8
17public:
26
31 static const char* HandlerClassName()
32 {
33 // STRING: LEGO1 0x100f06e4
34 return "LegoLocomotionAnimPresenter";
35 }
36
41 const char* ClassName() const override // vtable+0x0c
42 {
43 return HandlerClassName();
44 }
45
51 MxBool IsA(const char* p_name) const override // vtable+0x10
52 {
53 return !strcmp(p_name, ClassName()) || LegoLoopingAnimPresenter::IsA(p_name);
54 }
55
59 void ReadyTickle() override; // vtable+0x18
63 void StartingTickle() override; // vtable+0x1c
67 void StreamingTickle() override; // vtable+0x20
72 MxResult AddToManager() override; // vtable+0x34
76 void Destroy() override; // vtable+0x38
80 void EndAction() override; // vtable+0x40
84 void PutFrame() override; // vtable+0x6c
90 MxResult CreateAnim(MxStreamChunk* p_chunk) override; // vtable+0x88
91
92 // SYNTHETIC: LEGO1 0x1006cfe0
93 // LegoLocomotionAnimPresenter::`scalar deleting destructor'
94
101 void FUN_1006d680(LegoAnimActor* p_actor, MxFloat p_value);
102
107 {
108 if (m_unk0xd4) {
109 --m_unk0xd4;
110 }
111 }
112
117 undefined2 GetUnknown0xd4() { return m_unk0xd4; }
118
119private:
123 void Init();
128 void Destroy(MxBool p_fromDestructor);
129
130 undefined4 m_unk0xc0;
131 undefined4* m_unk0xc4;
132 LegoROIMapList* m_roiMapList;
133 MxS32 m_unk0xcc;
134 MxS32 m_unk0xd0;
135 undefined2 m_unk0xd4;
136};
137
138#endif // LEGOLOCOMOTIONANIMPRESENTER_H
[AI] Path-based actor which supports skeletal/mesh animation via an animation tree and multiple anima...
Definition: legoanimactor.h:49
[AI] Specialized presenter class for handling locomotion animation playback and state in the LEGO Isl...
void Destroy() override
[AI] Completely cleans up and deletes this presenter's resources.
void ReadyTickle() override
[AI] Called during the ready tickle state to prepare for animation processing and add itself to the w...
MxBool IsA(const char *p_name) const override
[AI] Checks if the given name matches the class (or any ancestor) for run-time type queries.
~LegoLocomotionAnimPresenter() override
[AI] Destructor.
LegoLocomotionAnimPresenter()
[AI] Constructs a new LegoLocomotionAnimPresenter and initializes internal members.
static const char * HandlerClassName()
[AI] Gets the handler class name for this presenter type.
void FUN_1006d680(LegoAnimActor *p_actor, MxFloat p_value)
[AI] Binds a LegoAnimActor to the internal animation context and ROI mapping.
void EndAction() override
[AI] Ends the bound action/animation for this presenter, finalizing any running videos or related res...
MxResult AddToManager() override
[AI] Registers this presenter with manager systems and initializes additional ROI mapping state.
void PutFrame() override
[AI] Called to process/queue a frame for this presenter's active animation playback.
void DecrementUnknown0xd4()
[AI] Decrements the reference/lightweight counter controlling an internal streaming/cleanup state.
const char * ClassName() const override
[AI] Gets the class name for run-time type identification.
MxResult CreateAnim(MxStreamChunk *p_chunk) override
[AI] Creates an animation sequence from a stream chunk and initializes playback.
undefined2 GetUnknown0xd4()
[AI] Accessor for m_unk0xd4, a lightweight counter used internally to gate certain state transitions.
void StartingTickle() override
[AI] Called during the starting tickle state to dequeue and process any pending animation data chunks...
void StreamingTickle() override
[AI] Called during the streaming state to manage lifecycle and check if further processing is require...
[AI] Presenter for looping animated sequences in the LEGO Island engine.
MxBool IsA(const char *p_name) const override
[AI] Checks if this object is or derives from a class of the given name.
[AI] Specialized pointer list that manages collections of LegoROI pointers, for ROI map management in...
[AI] Represents a streamable chunk of data, typically sourced from a media buffer and designed for no...
Definition: mxstreamchunk.h:19
#define override
Definition: compat.h:21
unsigned short undefined2
Definition: decomp.h:27
unsigned int undefined4
Definition: decomp.h:28
MxU8 MxBool
[AI]
Definition: mxtypes.h:124
MxLong MxResult
[AI]
Definition: mxtypes.h:106
float MxFloat
[AI]
Definition: mxtypes.h:68
signed int MxS32
[AI]
Definition: mxtypes.h:38