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

[AI] Represents a Jetski actor in the race, combining behavior from LegoJetskiRaceActor and LegoRaceMap. More...

#include <legoracers.h>

Inheritance diagram for LegoJetski:
Collaboration diagram for LegoJetski:

Public Member Functions

 LegoJetski ()
 
 ~LegoJetski () override
 
MxLong Notify (MxParam &p_param) override
 [AI] Processes notifications/events for the LegoJetski instance (see MxCore). More...
 
const char * ClassName () const override
 [AI] Returns the runtime class name ("LegoJetski"). More...
 
MxBool IsA (const char *p_name) const override
 [AI] Determines if this object is of the given class type or derives from it. More...
 
void ParseAction (char *p_extra) override
 [AI] Parses an action string to configure or trigger Jetski behaviors such as switching race boundaries. More...
 
void SetWorldSpeed (MxFloat p_worldSpeed) override
 [AI] Sets world speed for the jetski, influencing both physics and animation logic. More...
 
MxU32 VTable0x6c (LegoPathBoundary *p_boundary, Vector3 &p_v1, Vector3 &p_v2, float p_f1, float p_f2, Vector3 &p_v3) override
 [AI] Thin override that delegates path boundary-related animation calculation to base implementation. More...
 
void Animate (float p_time) override
 [AI] Updates jetski animation for the current frame. More...
 
MxResult HitActor (LegoPathActor *p_actor, MxBool p_bool) override
 [AI] Handles collision/hit logic between this jetski and another race actor. More...
 
void SwitchBoundary (LegoPathBoundary *&p_boundary, LegoUnknown100db7f4 *&p_edge, float &p_unk0xe4) override
 [AI] Switches the current boundary and tracking edge based on race logic. More...
 
MxResult VTable0x9c () override
 [AI] Used for post-animation logic (purpose inferred as clean up or ready-check; see base classes). More...
 
virtual void FUN_100136f0 (float p_worldSpeed)
 [AI] Custom world speed handler for clamping or setting maximum velocity for the jetski. More...
 
- Public Member Functions inherited from LegoJetskiRaceActor
 LegoJetskiRaceActor ()
 [AI] Constructor initializing jetski movement and acceleration parameters. [AI] More...
 
const char * ClassName () const override
 [AI] Returns the class name for this actor type. More...
 
MxBool IsA (const char *p_name) const override
 [AI] Checks if the object is a given class name (used for runtime type identification). More...
 
MxU32 VTable0x6c (LegoPathBoundary *p_boundary, Vector3 &p_v1, Vector3 &p_v2, float p_f1, float p_f2, Vector3 &p_v3) override
 [AI] Collision and path interaction routine specialized for jetski actors. More...
 
void Animate (float p_time) override
 [AI] Per-frame logic and animation for jetski racing - enables racing state and syncs with variables. [AI] More...
 
MxS32 VTable0x1c (LegoPathBoundary *p_boundary, LegoEdge *p_edge) override
 [AI] Handles state transitions for jetski racing at control edges or waterway turns. More...
 
- Public Member Functions inherited from LegoCarRaceActor
 LegoCarRaceActor ()
 [AI] Constructor, sets up initial movement parameters and starting variable values. [AI] More...
 
const char * ClassName () const override
 [AI] Returns the class name for this actor type. More...
 
MxBool IsA (const char *p_name) const override
 [AI] Checks if the object is a given class name (used for runtime type identification). More...
 
MxU32 VTable0x6c (LegoPathBoundary *p_boundary, Vector3 &p_v1, Vector3 &p_v2, float p_f1, float p_f2, Vector3 &p_v3) override
 [AI] Performs collision detection and/or special logic while moving the car actor along a boundary. More...
 
void Animate (float p_time) override
 [AI] Main per-frame update for the car racer, controls activation of animation and state switching based on global variable values. More...
 
void SwitchBoundary (LegoPathBoundary *&p_boundary, LegoUnknown100db7f4 *&p_edge, float &p_unk0xe4) override
 [AI] Handles switching from one path boundary to another, updating relevant edge and position parameters. More...
 
MxResult VTable0x9c () override
 [AI] Handles the transition at key animation logic points, such as the end/start of edges and boundaries. More...
 
virtual void FUN_10080590 (float p_time)
 [AI] Adjusts the target and acceleration for the car based on path, player position, and time step. More...
 
virtual void FUN_10012bb0 (float p_unk0x14)
 [AI] Sets the car acceleration or acceleration-related value. More...
 
virtual float FUN_10012bc0 ()
 [AI] Returns the current value of the acceleration or acceleration-related parameter. [AI] More...
 
virtual void FUN_10012bd0 (float p_unk0x10)
 [AI] Sets a parameter likely related to speed multipliers when going straight. More...
 
virtual float FUN_10012be0 ()
 [AI] Returns the current value of the straight path speed multiplier parameter. [AI] More...
 
virtual void FUN_10012bf0 (float p_unk0x18)
 [AI] Sets a parameter likely affecting dynamic velocity or similar adjustment factor. More...
 
virtual float FUN_10012c00 ()
 [AI] Retrieves the current value of the velocity-related/dynamic adjustment parameter. [AI] More...
 
virtual MxS32 VTable0x1c (LegoPathBoundary *p_boundary, LegoEdge *p_edge)
 [AI] Handles logic for state transitions at control edges, updating actor state if needed based on path position. More...
 
- Public Member Functions inherited from LegoRaceActor
 LegoRaceActor ()
 [AI] Constructor for the LegoRaceActor class. More...
 
const char * ClassName () const override
 [AI] Returns the runtime class name for this class. More...
 
MxBool IsA (const char *p_name) const override
 [AI] Determines whether this object is of a class with a given name. More...
 
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. More...
 
MxU32 VTable0x90 (float p_time, Matrix4 &p_matrix) override
 [AI] Updates the actor's state and transformation for a given simulation time. More...
 
MxResult HitActor (LegoPathActor *p_actor, MxBool p_bool) override
 [AI] Handles logic when this actor is hit by another actor (e.g., collision interaction). More...
 
virtual MxResult FUN_10014aa0 ()
 [AI] Additional race-specific behavior stub. 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...
 
- Public Member Functions inherited from LegoRaceMap
 LegoRaceMap ()
 [AI] Constructs a new, non-enabled LegoRaceMap and registers it with the ControlManager. More...
 
 ~LegoRaceMap () override
 [AI] Destroys the LegoRaceMap and unregisters it from the ControlManager. More...
 
MxLong Notify (MxParam &p_param) override
 [AI] Handles notifications, especially for UI control interactions (e.g., clicking the map control to show/hide the minimap). More...
 
void ParseAction (char *p_extra) override
 [AI] Parses action strings for map locator and geometry mapping and links control and map geometry to world/display mapping. More...
 
void Animate (float p_time) override=0
 [AI] Abstract interface for updating minimap animations according to world state/time. More...
 
virtual void FUN_1005d4b0 ()
 [AI] Updates the minimap overlay position and enables/disables the overlay image as needed. More...
 

Static Public Member Functions

static void InitSoundIndices ()
 [AI] Initializes static indices for jetski-specific sound arrays to randomized starting positions. 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...
 

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...
 
- 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 LegoCarRaceActor
MxFloat m_unk0x08
 [AI] Used for initial movement adjustment or normalization; always set to 1.0f in constructor. [AI] More...
 
MxU8 m_unk0x0c
 [AI] State variable/fsm controlling the actor's current animation/logic state. [AI] More...
 
MxFloat m_unk0x10
 [AI] Likely a multiplier for maximum speed when on a straight portion of the track. [AI_SUGGESTED_NAME: m_straightSpeedMultiplier] More...
 
MxFloat m_unk0x14
 [AI] Could represent car acceleration or change-in-speed envelope. [AI_SUGGESTED_NAME: m_acceleration] More...
 
MxFloat m_unk0x18
 [AI] General movement/velocity adjustment parameter, possibly for handling or group speed adjustment. [AI] More...
 
MxFloat m_unk0x1c
 [AI] Used for storing timestamps for time-based actor movement updates. [AI_SUGGESTED_NAME: m_lastUpdateTimestamp] 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...
 
- Static Protected Attributes inherited from LegoCarRaceActor
static MxFloat g_unk0x100f7aec = 8.0f
 [AI] Static value used as a global reference for minimum or target speed under specific circumstances. [AI] More...
 

Detailed Description

[AI] Represents a Jetski actor in the race, combining behavior from LegoJetskiRaceActor and LegoRaceMap.

[AI] Handles custom world speed, animation phases, boundary switching, hit logic, and event notification within Jetski races.

Definition at line 60 of file legoracers.h.

Constructor & Destructor Documentation

◆ LegoJetski()

LegoJetski::LegoJetski ( )

Definition at line 636 of file legoracers.cpp.

◆ ~LegoJetski()

LegoJetski::~LegoJetski ( )
override

Definition at line 643 of file legoracers.cpp.

Member Function Documentation

◆ Animate()

void LegoJetski::Animate ( float  p_time)
overridevirtual

[AI] Updates jetski animation for the current frame.

Parameters
p_time[AI] The time at which to evaluate animation.

Implements LegoRaceMap.

Definition at line 608 of file legoracers.cpp.

◆ ClassName()

const char * LegoJetski::ClassName ( ) const
inlineoverridevirtual

[AI] Returns the runtime class name ("LegoJetski").

Reimplemented from LegoRaceActor.

Definition at line 74 of file legoracers.h.

◆ FUN_100136f0()

void LegoJetski::FUN_100136f0 ( float  p_worldSpeed)
virtual

[AI] Custom world speed handler for clamping or setting maximum velocity for the jetski.

Parameters
p_worldSpeed[AI] The world speed value to set.

Definition at line 594 of file legoracers.cpp.

◆ HitActor()

MxResult LegoJetski::HitActor ( LegoPathActor p_actor,
MxBool  p_bool 
)
overridevirtual

[AI] Handles collision/hit logic between this jetski and another race actor.

Parameters
p_actor[AI] Actor with which the collision is detected.
p_bool[AI] Hit context (usually whether the actor was hit by the player or vice versa).

[AI] Handles sound playback, user state change and collision response.

Reimplemented from LegoRaceActor.

Definition at line 671 of file legoracers.cpp.

◆ InitSoundIndices()

void LegoJetski::InitSoundIndices ( )
static

[AI] Initializes static indices for jetski-specific sound arrays to randomized starting positions.

Definition at line 570 of file legoracers.cpp.

◆ IsA()

MxBool LegoJetski::IsA ( const char *  p_name) const
inlineoverridevirtual

[AI] Determines if this object is of the given class type or derives from it.

Parameters
p_name[AI] Name string of the class to check.

Reimplemented from LegoRaceActor.

Definition at line 83 of file legoracers.h.

◆ Notify()

MxLong LegoJetski::Notify ( MxParam p_param)
overridevirtual

[AI] Processes notifications/events for the LegoJetski instance (see MxCore).

Parameters
p_param[AI] Notification parameters (engine event details).

Reimplemented from LegoRaceMap.

Definition at line 665 of file legoracers.cpp.

◆ ParseAction()

void LegoJetski::ParseAction ( char *  p_extra)
overridevirtual

[AI] Parses an action string to configure or trigger Jetski behaviors such as switching race boundaries.

Parameters
p_extra[AI] Null-terminated string with action parameters/commands.

Reimplemented from LegoRaceMap.

Definition at line 650 of file legoracers.cpp.

◆ SetWorldSpeed()

void LegoJetski::SetWorldSpeed ( MxFloat  p_worldSpeed)
overridevirtual

[AI] Sets world speed for the jetski, influencing both physics and animation logic.

Parameters
p_worldSpeed[AI] Target world speed.

Reimplemented from LegoAnimActor.

Definition at line 579 of file legoracers.cpp.

◆ SwitchBoundary()

void LegoJetski::SwitchBoundary ( LegoPathBoundary *&  p_boundary,
LegoUnknown100db7f4 *&  p_edge,
float &  p_unk0xe4 
)
inlineoverridevirtual

[AI] Switches the current boundary and tracking edge based on race logic.

Parameters
p_boundary[AI] Boundary to switch to.
p_edge[AI] Edge to switch to.
p_unk0xe4[AI] Additional tracking parameter (purpose unclear).

Reimplemented from LegoPathActor.

Definition at line 136 of file legoracers.h.

◆ VTable0x6c()

MxU32 LegoJetski::VTable0x6c ( LegoPathBoundary p_boundary,
Vector3 p_v1,
Vector3 p_v2,
float  p_f1,
float  p_f2,
Vector3 p_v3 
)
inlineoverridevirtual

[AI] Thin override that delegates path boundary-related animation calculation to base implementation.

Parameters
p_boundary[AI] Path boundary reference.
p_v1[AI] Vector parameter 1 (animation context).
p_v2[AI] Vector parameter 2 (animation context).
p_f1[AI] Float param 1 (animation context).
p_f2[AI] Float param 2 (animation context).
p_v3[AI] Vector parameter 3 (animation context).

[AI] Used for advanced animation steering—see base classes.

Reimplemented from LegoPathActor.

Definition at line 110 of file legoracers.h.

◆ VTable0x9c()

MxResult LegoJetski::VTable0x9c ( )
inlineoverridevirtual

[AI] Used for post-animation logic (purpose inferred as clean up or ready-check; see base classes).

Reimplemented from LegoPathActor.

Definition at line 144 of file legoracers.h.


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