Isle
Loading...
Searching...
No Matches
act2brick.h
Go to the documentation of this file.
1#ifndef ACT2BRICK_H
2#define ACT2BRICK_H
3
4#include "legopathactor.h"
5
12class Act2Brick : public LegoPathActor {
13public:
15 Act2Brick();
16
18 ~Act2Brick() override; // vtable+0x00
19
23 MxLong Notify(MxParam& p_param) override; // vtable+0x04
24
27 MxResult Tickle() override; // vtable+0x08
28
31 const char* ClassName() const override // vtable+0x0c
32 {
33 return "Act2Brick";
34 }
35
39 MxBool IsA(const char* p_name) const override // vtable+0x10
40 {
41 return !strcmp(p_name, Act2Brick::ClassName()) || LegoEntity::IsA(p_name);
42 }
43
48 MxResult HitActor(LegoPathActor* p_actor, MxBool) override; // vtable+0x94
49
50 // SYNTHETIC: LEGO1 0x1007a450
51 // Act2Brick::`scalar deleting destructor'
52
56 MxResult Create(MxS32 p_index);
57
59 void Remove();
60
65 void FUN_1007a670(MxMatrix& p_param1, MxMatrix& p_param2, LegoPathBoundary* p_boundary);
66
68 void PlayWhistleSound();
69
71 void StopWhistleSound();
72
75 void Mute(MxBool p_muted);
76
77private:
79 static const LegoChar* g_lodNames[];
80
82 static MxLong g_lastHitActorTime;
83
85 LegoCacheSound* m_whistleSound; // 0x154
86
88 undefined m_unk0x158[0x0c]; // 0x158
89
91 undefined4 m_unk0x164; // 0x164
92
94 Mx3DPointFloat m_unk0x168; // 0x168
95
97 Mx3DPointFloat m_unk0x17c; // 0x17c
98
100 MxS32 m_unk0x190; // 0x190
101};
102
103#endif // ACT2BRICK_H
[AI] Represents a special 'brick' object in the LEGO Island "Act 2" sequence, derived from LegoPathAc...
Definition: act2brick.h:12
MxResult Create(MxS32 p_index)
[AI] Instantiates and initializes the brick actor in the world with a specified index/type,...
Definition: act2brick.cpp:45
MxBool IsA(const char *p_name) const override
[AI] Checks if the current object is of type Act2Brick or any of its parent classes.
Definition: act2brick.h:39
~Act2Brick() override
[AI] Destructor. Unregisters from the tickle manager and clears up resources.
Definition: act2brick.cpp:38
MxResult HitActor(LegoPathActor *p_actor, MxBool) override
[AI] Called when another actor (typically Pepper) intersects or "hits" this brick.
Definition: act2brick.cpp:117
void FUN_1007a670(MxMatrix &p_param1, MxMatrix &p_param2, LegoPathBoundary *p_boundary)
[AI] Starts the brick motion and animation parameters, registers the object for tickling and places t...
Definition: act2brick.cpp:96
MxResult Tickle() override
[AI] Called periodically when registered with the TickleManager to animate the movement and state cha...
Definition: act2brick.cpp:136
void PlayWhistleSound()
[AI] Begins playback of the looping whistle sound associated with this brick, if not already playing.
Definition: act2brick.cpp:179
void StopWhistleSound()
[AI] Stops the playback of the whistle sound if it is currently playing.
Definition: act2brick.cpp:188
const char * ClassName() const override
[AI] Returns the class name of this object ("Act2Brick").
Definition: act2brick.h:31
void Mute(MxBool p_muted)
[AI] Mutes or unmutes the whistle sound according to the argument given.
Definition: act2brick.cpp:197
void Remove()
[AI] Removes this brick from the world, releases associated resources, and notifies the character man...
Definition: act2brick.cpp:81
Act2Brick()
[AI] Constructs an Act2Brick. Initializes internal state, including whistle sound and tracking state ...
Definition: act2brick.cpp:31
MxLong Notify(MxParam &p_param) override
[AI] Handles notifications.
Definition: act2brick.cpp:157
Sound cache object managing DirectSound buffers and 3D positioning for preloaded sound data.
Definition: legocachsound.h:17
MxBool IsA(const char *p_name) const override
[AI] Polymorphic type check for this entity given a string.
Definition: legoentity.h:59
[AI] An actor that moves along a predefined path, supporting boundary transitions,...
Definition: legopathactor.h:32
[AI] Represents a path segment or boundary in the navigation network for actors (vehicles,...
[AI] Represents a 3D point with floating-point precision, inheriting from Vector3.
Definition: mxgeometry3d.h:14
[AI] Represents a 4x4 transformation matrix, specialized for the LEGO Island engine and derived from ...
Definition: mxmatrix.h:16
[AI] MxParam serves as a polymorphic base class for parameter passing in event and notification syste...
Definition: mxparam.h:7
#define override
Definition: compat.h:21
unsigned int undefined4
Definition: decomp.h:28
unsigned char undefined
Definition: decomp.h:26
char LegoChar
[AI] Alias for char, for use in character/byte data and string handling.
Definition: legotypes.h:83
MxU8 MxBool
[AI]
Definition: mxtypes.h:124
MxLong MxResult
[AI]
Definition: mxtypes.h:106
int MxLong
[AI]
Definition: mxtypes.h:83
signed int MxS32
[AI]
Definition: mxtypes.h:38