Isle
Loading...
Searching...
No Matches
act2actor.h
Go to the documentation of this file.
1#ifndef ACT2ACTOR_H
2#define ACT2ACTOR_H
3
4#include "legoanimactor.h"
5
6// VTABLE: LEGO1 0x100d6078 LegoPathActor
7// VTABLE: LEGO1 0x100d6148 LegoAnimActor
8// VTABLE: BETA10 0x101b80c0 LegoPathActor
9// VTABLE: BETA10 0x101b81b0 LegoAnimActor
10// SIZE 0x1a8
11
17class Act2Actor : public LegoAnimActor {
18public:
19
24 struct Location {
27 const char* m_boundary;
29 };
30
34 Act2Actor();
35
42 void SetROI(LegoROI* p_roi, MxBool p_bool1, MxBool p_bool2) override; // vtable+0x24
43
48 void SetWorldSpeed(MxFloat p_worldSpeed) override; // vtable+0x30
49
57 MxS32 VTable0x68(Vector3& p_v1, Vector3& p_v2, Vector3& p_v3) override; // vtable+0x68
58
64 void Animate(float p_time) override; // vtable+0x70
65
72 MxResult HitActor(LegoPathActor*, MxBool) override; // vtable+0x94
73
78 MxResult VTable0x9c() override; // vtable+0x9c
79
84 MxS32 VTable0xa0() override; // vtable+0xa0
85
90 void FUN_10018980();
91
97 void FUN_10019250(MxFloat p_speed, MxFloat p_param2);
98
103 void FUN_10019520();
104
108 void FUN_10019560();
109
115 MxU32 FUN_10019700(MxFloat p_param);
116
121 void FUN_100199f0(MxS8 p_param);
122
127 void FUN_100192a0(undefined4 p_location);
128
134 LegoEntity* FUN_10019b90(MxBool* p_param);
135
136 // SYNTHETIC: LEGO1 0x1001a0a0
137 // Act2Actor::`scalar deleting destructor'
138
139 // GLOBAL: LEGO1 0x100d6070
140 // GLOBAL: BETA10 0x101b80b0
141 // `vbtable'
142
143private:
147 undefined m_unk0x1c; // 0x1c
148
152 MxS8 m_unk0x1d; // 0x1d
153
157 undefined m_unk0x1e; // 0x1e
158
162 MxBool m_unk0x1f; // 0x1f
163
167 MxFloat m_unk0x20; // 0x20
168
172 MxFloat m_unk0x24; // 0x24
173
177 MxS8 m_unk0x28; // 0x28
178
182 MxFloat m_unk0x2c; // 0x2c
183
187 MxFloat m_unk0x30; // 0x30
188
192 LegoAnimActorStruct* m_shootAnim; // 0x34
193
197 LegoCacheSound* m_unk0x38; // 0x38
198
202 undefined4 m_unk0x3c; // 0x3c
203
207 undefined m_unk0x40; // 0x40
208
212 MxFloat m_unk0x44; // 0x44
213
217 MxS8 m_unk0x48; // 0x48
218
222 LegoEntity* m_unk0x4c; // 0x4c
223};
224
225// TEMPLATE: LEGO1 0x100194f0
226// list<LegoBoundaryEdge,allocator<LegoBoundaryEdge> >::list<LegoBoundaryEdge,allocator<LegoBoundaryEdge> >
227
228#endif // ACT2ACTOR_H
[AI] Act2 mission-specific actor class, with custom state and animation handling for Act 2 of the sto...
Definition: act2actor.h:17
void FUN_10018980()
[AI] Searches animation maps for a "shoot" animation, and prepares the mission audio effect.
Definition: act2actor.cpp:145
void FUN_10019250(MxFloat p_speed, MxFloat p_param2)
[AI] Sets current speed and schedules a timed speed change for mission event purposes.
Definition: act2actor.cpp:379
void FUN_10019520()
[AI] Triggers major mission state transition: switches to "escape" mode and moves to special location...
Definition: act2actor.cpp:433
MxResult HitActor(LegoPathActor *, MxBool) override
[AI] Handles being "hit" by another actor—used to trigger mission state transitions,...
Definition: act2actor.cpp:169
Act2Actor()
[AI] Constructs an Act2Actor and initializes all mission-related state.
Definition: act2actor.cpp:110
MxU32 FUN_10019700(MxFloat p_param)
[AI] Handles main shoot animation event and plant/building destruction, manages associated SFX and mi...
Definition: act2actor.cpp:566
void FUN_100192a0(undefined4 p_location)
[AI] Relocates actor to a selected location by generating a path container for new destination.
Definition: act2actor.cpp:396
void SetWorldSpeed(MxFloat p_worldSpeed) override
[AI] Sets the "world speed" (movement, animation, or activity speed) for the actor and resets speed t...
Definition: act2actor.cpp:388
MxS32 VTable0x68(Vector3 &p_v1, Vector3 &p_v2, Vector3 &p_v3) override
[AI] Handles a virtual motion logic interaction, but disables base behavior if actor is in 'inactive'...
void FUN_10019560()
[AI] Triggers mission state transition: switches to "destroyed" mode and moves to special location 9.
Definition: act2actor.cpp:441
MxS32 VTable0xa0() override
[AI] Selects and moves the actor to a new random, valid mission location.
Definition: act2actor.cpp:450
MxResult VTable0x9c() override
[AI] Handles per-frame mission resolution, cleanup, or ending logic for the Act2Actor.
Definition: act2actor.cpp:181
void FUN_100199f0(MxS8 p_param)
[AI] Plays a specific voice-over cue depending on context and mission state.
Definition: act2actor.cpp:643
LegoEntity * FUN_10019b90(MxBool *p_param)
[AI] Searches for the next building or plant entity to destroy for mission progression at current loc...
Definition: act2actor.cpp:713
void SetROI(LegoROI *p_roi, MxBool p_bool1, MxBool p_bool2) override
[AI] Sets the ROI (rendered object instance) for this actor and disables its visibility immediately.
Definition: act2actor.cpp:137
void Animate(float p_time) override
[AI] Orchestrates all Act2-specific animation logic and state switching each tick.
Definition: act2actor.cpp:206
[AI] Path-based actor which supports skeletal/mesh animation via an animation tree and multiple anima...
Definition: legoanimactor.h:49
Sound cache object managing DirectSound buffers and 3D positioning for preloaded sound data.
Definition: legocachsound.h:17
[AI] Represents an entity that can be placed and managed in the LEGO Island world.
Definition: legoentity.h:16
[AI] An actor that moves along a predefined path, supporting boundary transitions,...
Definition: legopathactor.h:32
[AI] Represents a Real-time Object Instance enriched with LEGO-specific functionality.
Definition: legoroi.h:43
[AI] 3D vector class, providing vector and cross-product operations in 3D space.
Definition: vector.h:249
unsigned int undefined4
Definition: decomp.h:28
unsigned char undefined
Definition: decomp.h:26
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
unsigned int MxU32
[AI]
Definition: mxtypes.h:32
signed char MxS8
[AI]
Definition: mxtypes.h:14
[AI] Encapsulates the positional and directional data for potential target locations in the Act 2 seq...
Definition: act2actor.h:24
MxFloat m_position[3]
[AI] 3D world position for the location (x, y, z). [AI]
Definition: act2actor.h:25
const char * m_boundary
[AI] Name of the path boundary or area associated (for motion/pathing). [AI]
Definition: act2actor.h:27
MxFloat m_direction[3]
[AI] Forward direction vector for the location. [AI]
Definition: act2actor.h:26
MxBool m_unk0x1c
[AI] Used to track whether a location has been previously used/marked. [AI]
Definition: act2actor.h:28
[AI] Holds per-animation instance data for a LegoAnimActor.
Definition: legoanimactor.h:13