Isle
|
Main game logic and control entity for the Ambulance gameplay activity. More...
#include <ambulance.h>
Public Member Functions | |
Ambulance () | |
[AI] Creates and initializes the ambulance actor; sets default velocities and initial mission state. [AI] More... | |
~Ambulance () override | |
[AI] Destructor—unregisters the Ambulance from control and tickle managers and performs cleanup. [AI] More... | |
MxLong | Notify (MxParam &p_param) override |
[AI] Handles notifications from the system (events, actions, button presses, etc.). More... | |
MxResult | Tickle () override |
[AI] Called on each game "tick" to update state, handle random sounds, etc. More... | |
void | Destroy (MxBool p_fromDestructor) override |
[AI] Does nothing for Ambulance; stub for virtual destroy. More... | |
const char * | ClassName () const override |
[AI] Returns the class name "Ambulance" for RTTI. [AI] More... | |
MxBool | IsA (const char *p_name) const override |
[AI] Checks whether this object is of type "Ambulance" or inherits from a type with the given name. More... | |
MxResult | Create (MxDSAction &p_dsAction) override |
[AI] Creates this Ambulance object based on the provided DS action (from scripts/etc). More... | |
void | Animate (float p_time) override |
[AI] Per-frame update for position, fuel, and any animation logic. More... | |
MxLong | HandleClick () override |
[AI] Handles a "click" on this Ambulance actor (starts mission, triggers transitions, etc.). More... | |
MxLong | HandleControl (LegoControlManagerNotificationParam &p_param) override |
[AI] Responds to control (UI/keyboard/joystick) input events. More... | |
MxLong | HandlePathStruct (LegoPathStructNotificationParam &p_param) override |
[AI] Handles notifications related to path structure triggers such as mission segments or locations. More... | |
void | Exit () override |
[AI] Exits the mission; triggers cleanup, world removal, and area/state updates. [AI] More... | |
virtual MxLong | HandleButtonDown (LegoControlManagerNotificationParam &p_param) |
[AI] Handles button down events in the mission interface (e.g., gate click). More... | |
virtual MxLong | HandleEndAction (MxEndActionNotificationParam &p_param) |
[AI] Handles end action notifications (e.g., animation completion), progresses mission or triggers feedback. More... | |
void | CreateState () |
[AI] Ensures AmbulanceMissionState is present in the game state manager; creates if missing. [AI] More... | |
void | FUN_10036e60 () |
[AI] Marks mission as failed/successful, triggers cutscene/animation for mission outcome. [AI_SUGGESTED_NAME: SetMissionOutcomeAnimation] More... | |
void | ActivateSceneActions () |
[AI] Handles the enabling of in-game ambient/scene actions when player enters the hospital scene. [AI] More... | |
void | StopActions () |
[AI] Stops currently running scripted actions/animations associated with the Ambulance mission. [AI] More... | |
void | FUN_10037250 () |
[AI] Resets game- and mission-related state after the mission; restores music, resets state objects, etc. [AI_SUGGESTED_NAME: ResetAfterMission] More... | |
![]() | |
IslePathActor () | |
[AI] Constructs a new IslePathActor and resets its world state. More... | |
virtual MxLong | HandleClick () |
[AI] Handles a click event for interaction with this actor. More... | |
virtual MxLong | HandleNotification0 () |
[AI] Handles custom notification type 0 for this actor. More... | |
virtual MxLong | HandleControl (LegoControlManagerNotificationParam &) |
[AI] Handles in-game player controls notifications for this actor. More... | |
virtual MxLong | HandleEndAnim (LegoEndAnimNotificationParam &) |
[AI] Handles end-of-animation notifications for this actor. More... | |
virtual MxLong | HandlePathStruct (LegoPathStructNotificationParam &) |
[AI] Handles structure/path-related notifications for this actor. More... | |
virtual void | Enter () |
[AI] Called when the actor is made active in a new area or context, setting navigation and visibility state. More... | |
virtual void | Exit () |
[AI] Called when the actor is deactivated or moved out of player control, restoring previous actor if available. More... | |
virtual void | SpawnPlayer (LegoGameState::Area p_area, MxBool p_enter, MxU8 p_flags) |
[AI] Spawns the player in a specific area/location, potentially triggering music and animation. More... | |
virtual void | VTable0xec (MxMatrix p_transform, LegoPathBoundary *p_boundary, MxBool p_reset) |
[AI] Places this actor in the current world with a given transformation, resets input if requested. More... | |
~IslePathActor () override | |
[AI] Destructor; performs resource cleanup by delegating to Destroy(TRUE). More... | |
MxLong | Notify (MxParam &p_param) override |
[AI] Dispatches notifications to specialized handlers based on notification type. More... | |
const char * | ClassName () const override |
[AI] Get class name string for RTTI/comparison. More... | |
MxBool | IsA (const char *p_name) const override |
[AI] Checks if class or any superclass matches the given type string. More... | |
MxResult | Create (MxDSAction &p_dsAction) override |
[AI] Initialize this actor from a DSAction. More... | |
void | Destroy (MxBool p_fromDestructor) override |
[AI] Cleans up the actor and associated resources. More... | |
void | FUN_1001b660 () |
[AI] Synchronizes the actor's world transformation and ROI. More... | |
void | SetWorld (LegoWorld *p_world) |
[AI] Sets the current world this actor belongs to, updating its reference for placement. More... | |
![]() | |
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... | |
LegoPathBoundary * | GetBoundary () |
[AI] Retrieves the current path boundary associated with this actor. More... | |
MxU32 | GetActorState () |
[AI] Gets the current navigation/animation state of the actor. More... | |
LegoPathController * | GetController () |
[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... | |
![]() | |
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... | |
![]() | |
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... | |
LegoROI * | GetROI () |
[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... | |
![]() | |
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... | |
MxAtomId & | GetAtomId () |
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... | |
![]() | |
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 | |
![]() | |
enum | { c_LOCATIONS_NUM = 29 } |
enum | { c_spawnBit1 = 0x01 , c_playMusic = 0x02 , c_spawnBit3 = 0x04 } |
![]() | |
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... | |
![]() | |
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... | |
![]() | |
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 void | RegisterSpawnLocations () |
[AI] Static: Registers all known player spawn locations into the global location table. More... | |
![]() | |
static const char * | GetActorName (MxU8 p_id) |
[AI] Gets the static display name of an actor by ID. More... | |
![]() | |
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... | |
![]() | |
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... | |
![]() | |
LegoWorld * | m_world |
[AI] Pointer to the current world instance actor is existing in. [AI] More... | |
LegoPathActor * | m_previousActor |
[AI] The last active path actor before this one; for restoration after exit. [AI] More... | |
MxFloat | m_previousVel |
[AI] Stores previous navigation velocity for actor/handoffs. [AI] More... | |
![]() | |
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... | |
LegoPathBoundary * | m_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... | |
LegoUnknown100db7f4 * | m_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... | |
LegoPathEdgeContainer * | m_grec |
[AI] Edge/boundary helper for tracking transitions and stateful animation. [AI] More... | |
LegoPathController * | m_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... | |
![]() | |
MxFloat | m_frequencyFactor |
[AI] The frequency/pitch scaling factor for the actor's sound (default 0 == normal). More... | |
LegoCacheSound * | m_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... | |
![]() | |
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... | |
LegoROI * | m_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... | |
![]() | |
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... | |
Main game logic and control entity for the Ambulance gameplay activity.
[AI]
[AI] Handles player and world interaction during the Ambulance rescue mini-game mission. Manages actor animations, mission state, controls, UI transitions, scoring, audio, and the player's progress. Inherits from IslePathActor to utilize navigation and path-following support. [AI]
Definition at line 75 of file ambulance.h.
Ambulance::Ambulance | ( | ) |
[AI] Creates and initializes the ambulance actor; sets default velocities and initial mission state. [AI]
Definition at line 34 of file ambulance.cpp.
|
override |
[AI] Destructor—unregisters the Ambulance from control and tickle managers and performs cleanup. [AI]
Definition at line 51 of file ambulance.cpp.
void Ambulance::ActivateSceneActions | ( | ) |
[AI] Handles the enabling of in-game ambient/scene actions when player enters the hospital scene. [AI]
Definition at line 466 of file ambulance.cpp.
|
overridevirtual |
[AI] Per-frame update for position, fuel, and any animation logic.
[AI]
p_time | The animation frame timestamp or delta time. [AI] |
Reimplemented from LegoPathActor.
Definition at line 85 of file ambulance.cpp.
|
overridevirtual |
[AI] Returns the class name "Ambulance" for RTTI. [AI]
Reimplemented from MxCore.
|
overridevirtual |
[AI] Creates this Ambulance object based on the provided DS action (from scripts/etc).
[AI]
p_dsAction | The action that spawns/configures the Ambulance. [AI] |
Reimplemented from LegoEntity.
Definition at line 59 of file ambulance.cpp.
void Ambulance::CreateState | ( | ) |
[AI] Ensures AmbulanceMissionState is present in the game state manager; creates if missing. [AI]
Definition at line 111 of file ambulance.cpp.
|
inlineoverridevirtual |
[AI] Does nothing for Ambulance; stub for virtual destroy.
[AI]
p_fromDestructor | Is this called from destructor? [AI] |
Reimplemented from LegoEntity.
Definition at line 93 of file ambulance.h.
|
overridevirtual |
[AI] Exits the mission; triggers cleanup, world removal, and area/state updates. [AI]
Reimplemented from IslePathActor.
Definition at line 410 of file ambulance.cpp.
void Ambulance::FUN_10036e60 | ( | ) |
[AI] Marks mission as failed/successful, triggers cutscene/animation for mission outcome. [AI_SUGGESTED_NAME: SetMissionOutcomeAnimation]
Definition at line 401 of file ambulance.cpp.
void Ambulance::FUN_10037250 | ( | ) |
[AI] Resets game- and mission-related state after the mission; restores music, resets state objects, etc. [AI_SUGGESTED_NAME: ResetAfterMission]
Definition at line 574 of file ambulance.cpp.
|
virtual |
[AI] Handles button down events in the mission interface (e.g., gate click).
[AI]
p_param | Button down event details. [AI] |
Definition at line 242 of file ambulance.cpp.
|
overridevirtual |
[AI] Handles a "click" on this Ambulance actor (starts mission, triggers transitions, etc.).
[AI]
Reimplemented from IslePathActor.
Definition at line 365 of file ambulance.cpp.
|
overridevirtual |
[AI] Responds to control (UI/keyboard/joystick) input events.
[AI]
p_param | The detail of control manager input. [AI] |
Reimplemented from IslePathActor.
Definition at line 436 of file ambulance.cpp.
|
virtual |
[AI] Handles end action notifications (e.g., animation completion), progresses mission or triggers feedback.
[AI]
p_param | Notification about an action's end. [AI] |
Definition at line 156 of file ambulance.cpp.
|
overridevirtual |
[AI] Handles notifications related to path structure triggers such as mission segments or locations.
[AI]
p_param | Notification carrying trigger details, e.g. for start, gas, finish locations. [AI] |
Reimplemented from IslePathActor.
Definition at line 265 of file ambulance.cpp.
|
overridevirtual |
[AI] Checks whether this object is of type "Ambulance" or inherits from a type with the given name.
[AI]
p_name | Type name. [AI] |
Reimplemented from MxCore.
[AI] Handles notifications from the system (events, actions, button presses, etc.).
[AI]
p_param | The notification parameter describing the event. [AI] |
Reimplemented from MxCore.
Definition at line 125 of file ambulance.cpp.
void Ambulance::StopActions | ( | ) |
[AI] Stops currently running scripted actions/animations associated with the Ambulance mission. [AI]
Definition at line 568 of file ambulance.cpp.
|
overridevirtual |
[AI] Called on each game "tick" to update state, handle random sounds, etc.
[AI]
Reimplemented from MxCore.
Definition at line 514 of file ambulance.cpp.