38 if (soundKey && *soundKey) {
57 m_unk0x08 = p_time + 2000.0f;
64 Vector3 positionRef(p_transform[3]);
68 if (m_unk0x08 > p_time) {
71 position = positionRef;
74 positionRef = position;
86 positionRef -= g_unk0x10102b08;
110 Vector3(matr[3]) += g_unk0x10102b08;
void VTable0x74(Matrix4 &p_transform) override
[AI] Applies the current animation's transforms to the provided matrix, propagates to mesh hierarchie...
LegoCacheSound * Play(const char *p_key, const char *p_name, MxBool p_looping)
[AI] Plays a sound identified by key, with the given playback name and looping flag.
LegoROI * GetROI()
[AI] Gets the ROI (Realtime Object Instance) associated with this entity. [AI]
MxFloat m_worldSpeed
[AI] World-relative speed (can affect animation/movement logic). [AI]
LegoROI * m_roi
[AI] Pointer to this entity's currently assigned ROI (3D instance in the world). [AI]
[AI] An actor that moves along a predefined path, supporting boundary transitions,...
MxFloat m_actorTime
[AI] Animation time for current path segment. [AI]
MxU32 GetActorState()
[AI] Gets the current navigation/animation state of the actor.
virtual MxBool GetUserNavFlag()
[AI] Returns user navigation state (whether actor follows player input).
MxU32 m_actorState
[AI] State and flags bitfield for path following logic. [AI]
@ c_initial
[AI] Default state upon creation or reset. [AI]
MxBool m_userNavFlag
[AI] TRUE if this actor is currently user/player controlled. [AI]
virtual MxS32 VTable0x68(Vector3 &p_v1, Vector3 &p_v2, Vector3 &p_v3)
[AI] Checks for collision/intersection with boundaries, geometry, and other actors along a traced seg...
MxFloat m_lastTime
[AI] Time of last update (used for delta calculations). [AI]
void SetActorState(MxU32 p_actorState)
[AI] Sets the navigation/path state of the actor.
[AI] Represents a Real-time Object Instance enriched with LEGO-specific functionality.
[AI] Represents an actor that participates in races (usually vehicles or racers) on LEGO Island.
MxResult HitActor(LegoPathActor *p_actor, MxBool p_bool) override
[AI] Handles logic when this actor is hit by another actor (e.g., collision interaction).
virtual MxResult FUN_10014aa0()
[AI] Additional race-specific behavior stub.
MxU32 VTable0x90(float p_time, Matrix4 &p_matrix) override
[AI] Updates the actor's state and transformation for a given simulation time.
MxS32 VTable0x68(Vector3 &p_v1, Vector3 &p_v2, Vector3 &p_v3) override
[AI] Handles collision/interaction queries between the actor and the environment or other actors.
LegoCacheSoundManager * GetCacheSoundManager()
[AI] Returns the cache sound manager used to cache and reuse sound effects.
4x4 Matrix class with virtual interface for manipulation and transformation.
void RotateX(const float &p_angle)
Applies a rotation (in radians or degrees, depending on implementation) about the X axis.
[AI] Represents a 3D point with floating-point precision, inheriting from Vector3.
[AI] Represents a 4x4 transformation matrix, specialized for the LEGO Island engine and derived from ...
MxLong GetTime()
Returns the current timer value in ms, depending on running state.
const char * GetVariable(const char *p_key)
Returns the value for the variable with a given key, or an empty string if not found.
const Matrix4 & GetLocal2World() const
Accessor for the current local-to-world transformation matrix.
void FUN_100a58f0(const Matrix4 &p_transform)
Assigns the given matrix as the local-to-world transformation and enables some internal flags.
[AI] 3D vector class, providing vector and cross-product operations in 3D space.
void Clear() override
[AI] Sets every coordinate (x, y, z) to zero.
#define DECOMP_SIZE_ASSERT(T, S)
const char * g_strHIT_ACTOR_SOUND
[AI] Key for specifying or triggering sounds to play when an actor is hit.
MxLong g_unk0x100f3308
[AI] Timer for wall hit sound playback throttling in navigation [AI]
#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.
LegoSoundManager * SoundManager()
[AI] Accessor for the game's LegoSoundManager subsystem from the global LegoOmni instance....
MxTimer * Timer()
[AI] Returns the global simulation timer.
MxVariableTable * VariableTable()
[AI] Returns the variable table used for script variables and global key/value state.