Isle
Loading...
Searching...
No Matches
Act2Actor Class Reference

[AI] Act2 mission-specific actor class, with custom state and animation handling for Act 2 of the story mode. More...

#include <act2actor.h>

Inheritance diagram for Act2Actor:
Collaboration diagram for Act2Actor:

Classes

struct  Location
 [AI] Encapsulates the positional and directional data for potential target locations in the Act 2 sequence. More...
 

Public Member Functions

 Act2Actor ()
 [AI] Constructs an Act2Actor and initializes all mission-related state. More...
 
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. More...
 
void SetWorldSpeed (MxFloat p_worldSpeed) override
 [AI] Sets the "world speed" (movement, animation, or activity speed) for the actor and resets speed timer. More...
 
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' state. More...
 
void Animate (float p_time) override
 [AI] Orchestrates all Act2-specific animation logic and state switching each tick. More...
 
MxResult HitActor (LegoPathActor *, MxBool) override
 [AI] Handles being "hit" by another actor—used to trigger mission state transitions, mark as finished/destroyed, and play SFX. More...
 
MxResult VTable0x9c () override
 [AI] Handles per-frame mission resolution, cleanup, or ending logic for the Act2Actor. More...
 
MxS32 VTable0xa0 () override
 [AI] Selects and moves the actor to a new random, valid mission location. More...
 
void FUN_10018980 ()
 [AI] Searches animation maps for a "shoot" animation, and prepares the mission audio effect. More...
 
void FUN_10019250 (MxFloat p_speed, MxFloat p_param2)
 [AI] Sets current speed and schedules a timed speed change for mission event purposes. More...
 
void FUN_10019520 ()
 [AI] Triggers major mission state transition: switches to "escape" mode and moves to special location 10. More...
 
void FUN_10019560 ()
 [AI] Triggers mission state transition: switches to "destroyed" mode and moves to special location 9. More...
 
MxU32 FUN_10019700 (MxFloat p_param)
 [AI] Handles main shoot animation event and plant/building destruction, manages associated SFX and mission logic. More...
 
void FUN_100199f0 (MxS8 p_param)
 [AI] Plays a specific voice-over cue depending on context and mission state. More...
 
void FUN_100192a0 (undefined4 p_location)
 [AI] Relocates actor to a selected location by generating a path container for new destination. More...
 
LegoEntityFUN_10019b90 (MxBool *p_param)
 [AI] Searches for the next building or plant entity to destroy for mission progression at current location. More...
 
- Public Member Functions inherited from LegoAnimActor
 LegoAnimActor ()
 [AI] Initializes LegoAnimActor and sets the current animation index to -1. More...
 
 ~LegoAnimActor () override
 [AI] Destructor cleans up all animation map structures. More...
 
void ParseAction (char *p_extra) override
 [AI] Handles extra action strings, looks for animation assignments and delegates to presenters (overrides parent). More...
 
void SetWorldSpeed (MxFloat p_worldSpeed) override
 [AI] Sets the current world speed and chooses which animation (from the animation map list) should be used; see source for selection logic. More...
 
void Animate (float p_time) override
 [AI] Performs per-frame update; applies the appropriate animation to mesh ROIs based on speed and state. More...
 
void VTable0x74 (Matrix4 &p_transform) override
 [AI] Applies the current animation's transforms to the provided matrix, propagates to mesh hierarchies. More...
 
virtual MxResult FUN_1001c1f0 (float &p_und)
 [AI] Computes the animation phase offset within the current animation, adjusts for looping. More...
 
virtual MxResult FUN_1001c360 (float p_und, Matrix4 &p_transform)
 [AI] Applies the animation transform for the current animation at the given phase, writes to matrix. More...
 
virtual MxResult FUN_1001c450 (LegoAnim *p_AnimTreePtr, float p_unk0x00, LegoROI **p_roiMap, MxU32 p_numROIs)
 [AI] Adds a new animation mapping (LegoAnimActorStruct) with a tree, threshold, and mesh mapping. More...
 
virtual void ClearMaps ()
 [AI] Deallocates all animation map structures and selects no animation; resets current animation index. More...
 
const char * ClassName () const override
 [AI] Returns the class name string for RTTI and type checking. More...
 
MxBool IsA (const char *p_name) const override
 [AI] Checks for runtime type equality ("IsA" support); matches for this class or parent. More...
 
- Public Member Functions inherited from LegoPathActor
 LegoPathActor ()
 [AI] Initializes the path actor, setting up default state and references. [AI] More...
 
 ~LegoPathActor () override
 [AI] Destructor, cleans up allocated containers. [AI] More...
 
void ParseAction (char *p_extra) override
 [AI] Parses a set of key-value action commands and configures path navigation and collision for this actor. More...
 
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 segment; assists in advanced pathfinding by propagation. More...
 
virtual MxU32 VTable0x6c (LegoPathBoundary *p_boundary, Vector3 &p_v1, Vector3 &p_v2, float p_f1, float p_f2, Vector3 &p_v3)
 [AI] Trace movement or collision through presenters (edge test), then through other actors. More...
 
virtual void Animate (float p_time)
 [AI] Per-frame animation update. More...
 
virtual void VTable0x74 (Matrix4 &p_transform)
 [AI] Updates the ROI's transformation (typically matrix) with new values, applies world position/orientation changes. More...
 
virtual void SetUserNavFlag (MxBool p_userNavFlag)
 [AI] Sets whether the actor is controlled by user navigation. More...
 
virtual MxBool GetUserNavFlag ()
 [AI] Returns user navigation state (whether actor follows player input). More...
 
virtual MxResult VTable0x80 (const Vector3 &p_point1, Vector3 &p_point2, Vector3 &p_point3, Vector3 &p_point4)
 [AI] Calculates path interpolation for a set of points, updates state for path animation, and computes Bezier arc duration. More...
 
virtual MxResult VTable0x84 (LegoPathBoundary *p_boundary, float p_time, Vector3 &p_p1, Vector3 &p_p4, LegoUnknown100db7f4 &p_destEdge, float p_destScale)
 [AI] Moves actor to a destination edge. More...
 
virtual MxResult VTable0x88 (LegoPathBoundary *p_boundary, float p_time, LegoEdge &p_srcEdge, float p_srcScale, LegoUnknown100db7f4 &p_destEdge, float p_destScale)
 [AI] Moves the actor between two edges across a boundary, recalculates placement and orientation. More...
 
virtual MxS32 VTable0x8c (float p_time, Matrix4 &p_transform)
 [AI] Advance actor's position/state along the path for a given timeslice. More...
 
virtual MxU32 VTable0x90 (float, Matrix4 &)
 [AI] Placeholder for custom logic during per-timestep simulation for non-user-controlled animation. More...
 
virtual MxResult HitActor (LegoPathActor *, MxBool)
 [AI] Handles logic when this actor hits (collides with) another path actor; can be overridden for custom interaction. More...
 
virtual void SwitchBoundary (LegoPathBoundary *&p_boundary, LegoUnknown100db7f4 *&p_edge, float &p_unk0xe4)
 [AI] Switches current path boundary and destination edge, typically called on transitions or respawns. More...
 
virtual MxResult VTable0x9c ()
 [AI] Handles exit transition and next-edge search logic; also used for collision reaction and fallback. More...
 
virtual MxS32 VTable0xa0 ()
 [AI] Placeholder for custom extension. More...
 
virtual void VTable0xa4 (MxBool &p_und1, MxS32 &p_und2)
 [AI] Returns information depending on actor type. More...
 
virtual void VTable0xa8 ()
 [AI] Re-applies transform to ROI, updates camera if needed, and processes per-actor tick actions. More...
 
virtual void SetMaxLinearVel (MxFloat p_maxLinearVel)
 [AI] Sets the maximum linear velocity for actor navigation. More...
 
virtual MxFloat GetMaxLinearVel ()
 [AI] Gets the maximum allowed navigation speed for this actor. More...
 
virtual MxFloat VTable0xb4 ()
 [AI] Returns an internal value used in fallback collision/velocity calculation (proportional fudge factor). More...
 
virtual MxFloat VTable0xb8 ()
 [AI] Returns a damping/multiplier factor used for velocity reduction after collisions. More...
 
virtual void VTable0xbc (MxFloat p_unk0x140)
 [AI] Sets the fudge parameter for fallback collision push-back. More...
 
virtual void VTable0xc0 (MxFloat p_unk0x144)
 [AI] Sets the velocity damping factor after bump. More...
 
virtual void VTable0xc4 ()
 [AI] Empty handler for optional custom per-tick transition logic. More...
 
virtual void VTable0xc8 (MxU8 p_unk0x148)
 [AI] Sets the rolling state (animation index, mainly for camera turning/curves). More...
 
const char * ClassName () const override
 [AI] Returns the class name string for RTTI-style checks. More...
 
MxBool IsA (const char *p_name) const override
 [AI] RTTI-like check, matches against own or base class name for IsA hierarchy checks. More...
 
LegoPathBoundaryGetBoundary ()
 [AI] Retrieves the current path boundary associated with this actor. More...
 
MxU32 GetActorState ()
 [AI] Gets the current navigation/animation state of the actor. More...
 
LegoPathControllerGetController ()
 [AI] Retrieves pointer to the path controller which governs this actor's movement. More...
 
MxBool GetCollideBox ()
 [AI] Gets the actor's collision box flag (if TRUE, actor uses a precise collision shape). More...
 
MxFloat GetLastTime ()
 [AI] Gets the previous animation time value from last simulation tick. More...
 
MxFloat GetActorTime ()
 [AI] Returns the current animation time of the actor. More...
 
void SetBoundary (LegoPathBoundary *p_boundary)
 [AI] Assigns a new boundary for the actor (for path switching). More...
 
void SetActorState (MxU32 p_actorState)
 [AI] Sets the navigation/path state of the actor. More...
 
void SetController (LegoPathController *p_pathController)
 [AI] Assigns a new path controller (used for actor transitions between paths). More...
 
void SetLastTime (MxFloat p_lastTime)
 [AI] Sets the time value for the last performed simulation tick. More...
 
void SetActorTime (MxFloat p_actorTime)
 [AI] Sets the global actor animation time value, adjusting how far along the animation is. More...
 
void UpdatePlane (LegoNamedPlane &p_namedPlane)
 [AI] Updates a named plane to match this actor's world position, direction, and up vector. More...
 
void PlaceActor (LegoNamedPlane &p_namedPlane)
 [AI] Places this actor into the world at the given plane's name, location, and orientation. More...
 
- Public Member Functions inherited from LegoActor
 LegoActor ()
 [AI] Constructs new LegoActor, initializes members. More...
 
 ~LegoActor () override
 [AI] Cleans up LegoActor; stops sound if active. More...
 
const char * ClassName () const override
 [AI] Gets the class name of this object. More...
 
MxBool IsA (const char *p_name) const override
 [AI] Determines if the class is or derives from the given name. More...
 
void ParseAction (char *p_extra) override
 [AI] Parses an action string and applies parsed behaviors to the actor. More...
 
void SetROI (LegoROI *p_roi, MxBool p_bool1, MxBool p_bool2) override
 [AI] Sets the Region of Interest (ROI, i.e. More...
 
virtual MxFloat GetSoundFrequencyFactor ()
 [AI] Returns the current frequency factor for the actor's sound. More...
 
virtual void SetSoundFrequencyFactor (MxFloat p_frequencyFactor)
 [AI] Sets the frequency factor for the actor's sound playback (e.g., to alter pitch). More...
 
virtual void VTable0x58 (MxFloat p_unk0x70)
 [AI] Sets a floating point property, unknown usage (possibly animation or audio parameter). More...
 
virtual MxFloat VTable0x5c ()
 [AI] Gets the unknown floating point property set by VTable0x58. [AI] [AI_SUGGESTED_NAME: GetVoicePitchModifier] More...
 
virtual MxU8 GetActorId ()
 [AI] Gets this actor's numeric ID, corresponding to a known enumeration/actor. More...
 
virtual void SetActorId (MxU8 p_actorId)
 [AI] Sets the actor's numeric ID. More...
 
void Mute (MxBool p_muted)
 [AI] Mutes or unmutes the actor's current sound. More...
 
- Public Member Functions inherited from LegoEntity
 LegoEntity ()
 [AI] Default constructor. Initializes the LegoEntity with default values. [AI] More...
 
 ~LegoEntity () override
 [AI] Destructor. Cleans up resources and ensures ROI and script state are released. [AI] More...
 
MxLong Notify (MxParam &p_param) override
 [AI] Handles event notification for the entity, most notably user clicks, using polymorphic dispatch. More...
 
const char * ClassName () const override
 [AI] Returns the class name string. Used in entity runtime type identification. [AI] More...
 
MxBool IsA (const char *p_name) const override
 [AI] Polymorphic type check for this entity given a string. More...
 
virtual MxResult Create (MxDSAction &p_dsAction)
 [AI] Initializes the entity from a DSAction object, typically from a script or file load. More...
 
virtual void Destroy (MxBool p_fromDestructor)
 [AI] Cleans up the entity, detaching ROI and releasing references. More...
 
virtual void ParseAction (char *p_extra)
 [AI] Parses an action description string (usually from script "extra" data) and sets up this entity's action state. More...
 
virtual void SetROI (LegoROI *p_roi, MxBool p_bool1, MxBool p_bool2)
 [AI] Assigns a 3D ROI (3D object instance) to this entity, controlling how it appears/acts in the world. More...
 
virtual void SetWorldTransform (const Vector3 &p_location, const Vector3 &p_direction, const Vector3 &p_up)
 [AI] Explicitly sets the world transformation (location, direction, up vector) for this entity. More...
 
virtual void ResetWorldTransform (MxBool p_cameraFlag)
 [AI] Resets the transformation for this entity (e.g., used with camera transitions). More...
 
virtual void SetWorldSpeed (MxFloat p_worldSpeed)
 [AI] Sets the current world speed value for this entity (used to control motion/animation rate). More...
 
virtual void ClickSound (MxBool p_und)
 [AI] Plays a click sound, typically in response to user/AI actions, according to entity type. More...
 
virtual void ClickAnimation ()
 [AI] Plays a context-sensitive click animation, driven by current entity type and state. [AI] More...
 
virtual void SwitchVariant ()
 [AI] Switches variants for this entity (e.g., different animation, mesh, or texture variant), based on type. [AI] More...
 
virtual void SwitchSound ()
 [AI] Triggers a context-dependent audio/sound variant switch for this entity. [AI] More...
 
virtual void SwitchMove ()
 [AI] Switches movement/animation variant for this entity, if applicable (e.g., walking/running state). [AI] More...
 
virtual void SwitchColor (LegoROI *p_roi)
 [AI] Switches the color or texture variant for this entity (or target ROI). More...
 
virtual void SwitchMood ()
 [AI] Triggers a mood/state switch for this entity (if supported), often for characters. [AI] More...
 
void FUN_10010c30 ()
 [AI] Updates the camera transformation when this entity is the camera target. Used after movement or position updates. [AI] More...
 
void SetType (MxU8 p_type)
 [AI] Sets the entity's type (actor/plant/building/etc.) [AI] More...
 
void SetLocation (const Vector3 &p_location, const Vector3 &p_direction, const Vector3 &p_up, MxBool p_und)
 [AI] Sets the world-space location, direction, and up, applying normalization and transformation. More...
 
Mx3DPointFloat GetWorldDirection ()
 [AI] Gets the normalized world-space direction vector, optionally updating from ROI. [AI] More...
 
Mx3DPointFloat GetWorldUp ()
 [AI] Gets the normalized world-space up vector, optionally updating from ROI. [AI] More...
 
Mx3DPointFloat GetWorldPosition ()
 [AI] Gets the world-space position vector, optionally updating from ROI. [AI] More...
 
MxBool GetUnknown0x10IsSet (MxU8 p_flag)
 [AI] Checks if a bit flag in m_unk0x10 is set (purpose: state/animation suppression lock). More...
 
MxBool GetFlagsIsSet (MxU8 p_flag)
 [AI] Checks if a flag is set in the primary flags byte (m_flags). More...
 
MxU8 GetFlags ()
 [AI] Returns the value of the flag byte. [AI] More...
 
MxFloat GetWorldSpeed ()
 [AI] Gets the entity's current world speed state. [AI] More...
 
LegoROIGetROI ()
 [AI] Gets the ROI (Realtime Object Instance) associated with this entity. [AI] More...
 
MxU8 GetType ()
 [AI] Gets the type of this entity (one of the enum Type values). [AI] More...
 
MxBool GetCameraFlag ()
 [AI] Returns whether this entity is flagged as camera (affects world/camera synchronization). [AI] More...
 
void SetFlags (MxU8 p_flags)
 [AI] Sets all entity flags at once (replaces previous). More...
 
void SetFlag (MxU8 p_flag)
 [AI] Sets the given flag in the flags byte. More...
 
void ClearFlag (MxU8 p_flag)
 [AI] Clears the given flag in the flags byte. More...
 
void SetUnknown0x10Flag (MxU8 p_flag)
 [AI] Sets the given bit in the unknown (usually internal action suppression) flag byte. More...
 
void ClearUnknown0x10Flag (MxU8 p_flag)
 [AI] Clears the given bit in the unknown flag byte. More...
 
- Public Member Functions inherited from MxEntity
 MxEntity ()
 Default constructor. More...
 
 ~MxEntity () override
 Virtual destructor for MxEntity. More...
 
const char * ClassName () const override
 Returns the class name for type introspection. More...
 
MxBool IsA (const char *p_name) const override
 Checks if the object is of the given class name or a parent type. More...
 
virtual MxResult Create (MxS32 p_entityId, const MxAtomId &p_atomId)
 Initializes the entity from a given entity ID and AtomId. More...
 
MxResult Create (MxDSAction &p_dsAction)
 Initializes the entity from a MxDSAction object. More...
 
MxS32 GetEntityId ()
 Returns the current entity ID. More...
 
MxAtomIdGetAtomId ()
 Returns a reference to the entity AtomId. More...
 
void SetEntityId (MxS32 p_entityId)
 Sets the entity ID to the given value. More...
 
void SetAtomId (const MxAtomId &p_atomId)
 Sets the AtomId to the given value. More...
 
- Public Member Functions inherited from MxCore
 MxCore ()
 [AI] Constructs a new MxCore object and assigns it a unique id. More...
 
virtual ~MxCore ()
 [AI] Virtual destructor. Required for correct polymorphic cleanup in derived classes. More...
 
virtual MxLong Notify (MxParam &p_param)
 [AI] Virtual callback notification mechanism. More...
 
virtual MxResult Tickle ()
 [AI] Called by tickle managers to allow the object to update itself. More...
 
virtual const char * ClassName () const
 [AI] Returns the runtime class name of this object. More...
 
virtual MxBool IsA (const char *p_name) const
 [AI] Checks whether this object's class type or parents match the given name. More...
 
MxU32 GetId ()
 [AI] Gets the unique (per-process) id assigned to this object instance. More...
 

Additional Inherited Members

- Public Types inherited from LegoPathActor
enum  ActorState {
  c_initial = 0 , c_one = 1 , c_two = 2 , c_three = 3 ,
  c_disabled = 4 , c_maxState = 255 , c_noCollide = 0x100
}
 [AI] State and flags for a LegoPathActor during navigation along a path. [AI] More...
 
- Public Types inherited from LegoActor
enum  {
  c_none = 0 , c_pepper , c_mama , c_papa ,
  c_nick , c_laura , c_brickster
}
 [AI] Enumeration of actor IDs for known characters. More...
 
- Public Types inherited from LegoEntity
enum  Type {
  e_actor = 0 , e_unk1 , e_plant , e_building ,
  e_autoROI
}
 [AI] Types of LegoEntity (Actor, Plant, Building, Auto ROI, etc.) [AI] More...
 
enum  { c_bit1 = 0x01 , c_managerOwned = 0x02 }
 [AI] Bit flag constants for entity state management [AI] More...
 
enum  { c_altBit1 = 0x01 }
 [AI] Secondary bit flag constants [AI] More...
 
- Static Public Member Functions inherited from LegoActor
static const char * GetActorName (MxU8 p_id)
 [AI] Gets the static display name of an actor by ID. More...
 
- Protected Member Functions inherited from LegoPathActor
MxU32 FUN_1002edd0 (list< LegoPathBoundary * > &p_boundaries, LegoPathBoundary *p_boundary, Vector3 &p_v1, Vector3 &p_v2, float p_f1, float p_f2, Vector3 &p_v3, MxS32 p_und)
 [AI] Recursively checks boundaries for collisions or collision path propagation up to a certain recursion depth. More...
 
- Protected Member Functions inherited from LegoEntity
void Init ()
 [AI] Initializes the entity's members to default/neutral values (utility for constructors and resets). [AI] More...
 
void SetWorld ()
 [AI] Registers/attaches this entity to the current world if not already; called on create or location change. [AI] More...
 
- Protected Attributes inherited from LegoAnimActor
vector< LegoAnimActorStruct * > m_animMaps
 [AI] List of animation structures, each representing a valid animation for different speed/phase ranges. [AI] More...
 
MxS16 m_curAnim
 [AI] Index of currently selected animation map (-1 if none active). [AI] More...
 
- Protected Attributes inherited from LegoPathActor
MxFloat m_BADuration
 [AI] Duration of current Bezier arc (distance along path/current edge). [AI] More...
 
MxFloat m_unk0x7c
 [AI] Interpolator/progress state along curve segment. [AI] More...
 
MxFloat m_actorTime
 [AI] Animation time for current path segment. [AI] More...
 
MxFloat m_lastTime
 [AI] Time of last update (used for delta calculations). [AI] More...
 
LegoPathBoundarym_boundary
 [AI] Current boundary the actor is navigating on. [AI] More...
 
LegoUnknown m_unk0x8c
 [AI] Helper object for path curve interpolation and evaluation. [AI] More...
 
MxU32 m_actorState
 [AI] State and flags bitfield for path following logic. [AI] More...
 
LegoUnknown100db7f4m_destEdge
 [AI] Current or target edge for path traversal. [AI] More...
 
MxFloat m_unk0xe4
 [AI] Position scalar on destination edge (0-1 across the edge). [AI] More...
 
MxBool m_collideBox
 [AI] Use bounding-box for more accurate collision. [AI] More...
 
MxBool m_unk0xe9
 [AI] Stores latest intersection/collision status/type. [AI] More...
 
MxBool m_userNavFlag
 [AI] TRUE if this actor is currently user/player controlled. [AI] More...
 
MxMatrix m_unk0xec
 [AI] World-to-local transformation matrix for this actor/ROI. [AI] More...
 
LegoPathEdgeContainerm_grec
 [AI] Edge/boundary helper for tracking transitions and stateful animation. [AI] More...
 
LegoPathControllerm_pathController
 [AI] Path controller/manages permitted boundaries for transitions. [AI] More...
 
MxFloat m_maxLinearVel
 [AI] Maximum speed of actor while moving along path. [AI] More...
 
MxFloat m_unk0x140
 [AI] Scaling factor for fallback/collision response logic. [AI] More...
 
MxFloat m_unk0x144
 [AI] Damping factor for velocity after collision ("bounce" friction). [AI] More...
 
MxU8 m_unk0x148
 [AI] Angle/animation mode for rolling/camera tilting. [AI] More...
 
MxS32 m_unk0x14c
 [AI] Rolling angle delta (variant for camera logic). [AI] More...
 
MxFloat m_unk0x150
 [AI] Scalar factor for camera turn velocity logic. [AI] More...
 
- Protected Attributes inherited from LegoActor
MxFloat m_frequencyFactor
 [AI] The frequency/pitch scaling factor for the actor's sound (default 0 == normal). More...
 
LegoCacheSoundm_sound
 [AI] Pointer to a currently active sound instance played by the actor, if any. More...
 
MxFloat m_unk0x70
 [AI] Unknown float property, likely used for advanced audio/animation control. [AI_SUGGESTED_NAME: m_voicePitchModifier] More...
 
MxU8 m_actorId
 [AI] Unique identifier for this actor, corresponding to enum above. More...
 
- Protected Attributes inherited from LegoEntity
MxU8 m_unk0x10
 [AI] Unknown state/flag, used mainly to guard against repeated actions or manage animation/sound state. [AI] More...
 
MxU8 m_flags
 [AI] Primary entity flags (bitfield); tracks per-entity management status, internal update locks, etc. [AI] More...
 
Mx3DPointFloat m_worldLocation
 [AI] Entity location in world coordinates. [AI] More...
 
Mx3DPointFloat m_worldDirection
 [AI] Entity direction vector in world space (normalized). [AI] More...
 
Mx3DPointFloat m_worldUp
 [AI] Entity up vector in world space (normalized). [AI] More...
 
MxFloat m_worldSpeed
 [AI] World-relative speed (can affect animation/movement logic). [AI] More...
 
LegoROIm_roi
 [AI] Pointer to this entity's currently assigned ROI (3D instance in the world). [AI] More...
 
MxBool m_cameraFlag
 [AI] Set to TRUE if this entity is currently the camera target. [AI] More...
 
MxU8 m_type
 [AI] The entity type (Type enum value). [AI] More...
 
Extra::ActionType m_actionType
 [AI] Action type, parsed from script/extra string (e.g., openram/run/exit); guides Notify() and click logic. [AI] More...
 
char * m_siFile
 [AI] When parsing ACTION command, this is the SI script/filename to execute (owned, heap-allocated). [AI] More...
 
MxS32 m_targetEntityId
 [AI] When parsing ACTION command, this is the target entity ID for the action (or -1 for none). [AI] More...
 
- Protected Attributes inherited from MxEntity
MxS32 m_entityId
 The unique entity ID, typically used for lookup and reference. More...
 
MxAtomId m_atomId
 The AtomId associated with this entity, used for resource and script identification. More...
 

Detailed Description

[AI] Act2 mission-specific actor class, with custom state and animation handling for Act 2 of the story mode.

[AI]

[AI] Act2Actor is a specialized subclass of LegoAnimActor used for the story segment "Act 2" in LEGO Island. It adds fields and logic for interacting with escapee plants/buildings, triggering story progress, and custom animation/audio logic.

Definition at line 17 of file act2actor.h.

Constructor & Destructor Documentation

◆ Act2Actor()

Act2Actor::Act2Actor ( )

[AI] Constructs an Act2Actor and initializes all mission-related state.

[AI]

Definition at line 110 of file act2actor.cpp.

Member Function Documentation

◆ Animate()

void Act2Actor::Animate ( float  p_time)
overridevirtual

[AI] Orchestrates all Act2-specific animation logic and state switching each tick.

[AI]

Parameters
p_timeAbsolute, game-time timestamp for the tick. [AI]

[AI] Manages mission progression, detection of interactions with the player (Pepper), destruction triggers, and special effects. [AI]

Reimplemented from LegoPathActor.

Definition at line 206 of file act2actor.cpp.

◆ FUN_10018980()

void Act2Actor::FUN_10018980 ( )

[AI] Searches animation maps for a "shoot" animation, and prepares the mission audio effect.

[AI]

[AI] Must be called during initialization/mission start. [AI]

Definition at line 145 of file act2actor.cpp.

◆ FUN_10019250()

void Act2Actor::FUN_10019250 ( MxFloat  p_speed,
MxFloat  p_param2 
)

[AI] Sets current speed and schedules a timed speed change for mission event purposes.

[AI]

Parameters
p_speedNew speed to set. [AI]
p_param2Time (absolute value) after which speed changes again. [AI]

Definition at line 379 of file act2actor.cpp.

◆ FUN_100192a0()

void Act2Actor::FUN_100192a0 ( undefined4  p_location)

[AI] Relocates actor to a selected location by generating a path container for new destination.

[AI]

Parameters
p_locationIndex of the location to jump/move to. [AI]

Definition at line 396 of file act2actor.cpp.

◆ FUN_10019520()

void Act2Actor::FUN_10019520 ( )

[AI] Triggers major mission state transition: switches to "escape" mode and moves to special location 10.

[AI]

[AI] Used for handling Act 2 ending consequences or special cutscene triggers. [AI]

Definition at line 433 of file act2actor.cpp.

◆ FUN_10019560()

void Act2Actor::FUN_10019560 ( )

[AI] Triggers mission state transition: switches to "destroyed" mode and moves to special location 9.

[AI]

Definition at line 441 of file act2actor.cpp.

◆ FUN_10019700()

MxU32 Act2Actor::FUN_10019700 ( MxFloat  p_param)

[AI] Handles main shoot animation event and plant/building destruction, manages associated SFX and mission logic.

[AI]

Parameters
p_paramCurrent animation/game time in ms. [AI]
Returns
TRUE if no target is left to destroy, otherwise FALSE. [AI]

Definition at line 566 of file act2actor.cpp.

◆ FUN_100199f0()

void Act2Actor::FUN_100199f0 ( MxS8  p_param)

[AI] Plays a specific voice-over cue depending on context and mission state.

[AI]

Parameters
p_paramSelector for which voice type to trigger (head, behind, interrupt). [AI]

Definition at line 643 of file act2actor.cpp.

◆ FUN_10019b90()

LegoEntity * Act2Actor::FUN_10019b90 ( MxBool p_param)

[AI] Searches for the next building or plant entity to destroy for mission progression at current location.

[AI]

Parameters
p_paramOut parameter: TRUE if next target is a building, FALSE if plant. [AI]
Returns
Pointer to the next LegoEntity to destroy, or nullptr if none left. [AI]

Definition at line 713 of file act2actor.cpp.

◆ HitActor()

MxResult Act2Actor::HitActor ( LegoPathActor ,
MxBool   
)
overridevirtual

[AI] Handles being "hit" by another actor—used to trigger mission state transitions, mark as finished/destroyed, and play SFX.

[AI]

Parameters
SecondActorThe actor responsible (e.g., player or projectile). [AI]
IsProjectileTrue if interaction is with a projectile, otherwise false. [AI]
Returns
Result of handling, typically SUCCESS if interaction accepted. [AI]

Reimplemented from LegoPathActor.

Definition at line 169 of file act2actor.cpp.

◆ SetROI()

void Act2Actor::SetROI ( LegoROI p_roi,
MxBool  p_bool1,
MxBool  p_bool2 
)
overridevirtual

[AI] Sets the ROI (rendered object instance) for this actor and disables its visibility immediately.

[AI]

Parameters
p_roiThe new ROI to associate with this actor. [AI]
p_bool1First base parameter, passed to LegoAnimActor::SetROI. [AI]
p_bool2Second base parameter, passed to LegoAnimActor::SetROI. [AI]

Reimplemented from LegoEntity.

Definition at line 137 of file act2actor.cpp.

◆ SetWorldSpeed()

void Act2Actor::SetWorldSpeed ( MxFloat  p_worldSpeed)
overridevirtual

[AI] Sets the "world speed" (movement, animation, or activity speed) for the actor and resets speed timer.

[AI]

Parameters
p_worldSpeedNew speed to apply. [AI]

Reimplemented from LegoEntity.

Definition at line 388 of file act2actor.cpp.

◆ VTable0x68()

MxS32 Act2Actor::VTable0x68 ( Vector3 p_v1,
Vector3 p_v2,
Vector3 p_v3 
)
overridevirtual

[AI] Handles a virtual motion logic interaction, but disables base behavior if actor is in 'inactive' state.

[AI]

Parameters
p_v1First input vector (purpose per base class). [AI]
p_v2Second input vector. [AI]
p_v3Third input vector. [AI]
Returns
0 if actor is in an inactive state, otherwise result from LegoAnimActor. [AI]

Reimplemented from LegoPathActor.

◆ VTable0x9c()

MxResult Act2Actor::VTable0x9c ( )
overridevirtual

[AI] Handles per-frame mission resolution, cleanup, or ending logic for the Act2Actor.

[AI]

Returns
Result status: may trigger further mission events or actor deletion. [AI]

Reimplemented from LegoPathActor.

Definition at line 181 of file act2actor.cpp.

◆ VTable0xa0()

MxS32 Act2Actor::VTable0xa0 ( )
overridevirtual

[AI] Selects and moves the actor to a new random, valid mission location.

[AI]

Returns
Indicates if a valid relocation target was found and update was performed. [AI]

Reimplemented from LegoPathActor.

Definition at line 450 of file act2actor.cpp.


The documentation for this class was generated from the following files: