24 m_maxLinearVel = 40.0;
56 sprintf(buf,
"%g", speed / maxLinearVel);
59 m_fuel += (p_time - m_time) * -3.333333333e-06f;
66 sprintf(buf,
"%g", m_fuel);
141 if (p_param.
GetData() == 0x168) {
158 mat.
TranslateBy(mat[2][0] * 2.5, mat[2][1] + 0.7, mat[2][2] * 2.5);
[AI] Holds state and transient gameplay data for the first act on Lego Island.
MxBool m_unk0x022
[AI] Temporary state variable; persists through serialization, often used for logic gating....
Derived path actor type for handling player transitions and activities on LEGO Island.
MxResult Create(MxDSAction &p_dsAction) override
[AI] Initialize this actor from a DSAction.
virtual void Exit()
[AI] Called when the actor is deactivated or moved out of player control, restoring previous actor if...
LegoWorld * m_world
[AI] Pointer to the current world instance actor is existing in. [AI]
virtual void Enter()
[AI] Called when the actor is made active in a new area or context, setting navigation and visibility...
[AI] Represents the main overworld (LEGO Island) in the game, acting as the central hub and state mac...
virtual MxU8 GetActorId()
[AI] Gets this actor's numeric ID, corresponding to a known enumeration/actor.
MxResult FUN_10060dc0(MxU32 p_objectId, MxMatrix *p_matrix, MxBool p_param3, MxU8 p_param4, LegoROI *p_roi, MxBool p_param6, MxBool p_param7, MxBool p_param8, MxBool p_param9)
[AI] Helper for starting a specific animation, including world matrix and camera settings.
@ e_unk0
[AI] Unknown/unspecified play mode
MxResult FUN_10064740(Vector3 *p_position)
[AI] Similar to FUN_10064670, but triggers a different special animation event for secondary location...
MxResult FUN_10064670(Vector3 *p_position)
[AI] Activates special triggered animation in response to player position near given point.
[AI] Notification parameter for the LegoControlManager, used to propagate information about control e...
MxS32 m_clickedObjectId
[AI] Object ID of the clicked control/presenter (or -1 if not set). [AI]
MxS16 m_unk0x28
[AI] Undetermined; settable via SetUnknown0x28. [AI]
void Register(MxCore *p_listener)
[AI] Adds a listener to be notified of control events.
void Unregister(MxCore *p_listener)
[AI] Removes a listener so it no longer receives control events.
LegoROI * GetROI()
[AI] Gets the ROI (Realtime Object Instance) associated with this entity. [AI]
MxFloat m_worldSpeed
[AI] World-relative speed (can affect animation/movement logic). [AI]
LegoROI * m_roi
[AI] Pointer to this entity's currently assigned ROI (3D instance in the world). [AI]
Area m_currentArea
Area/world the player is presently in. [AI].
LegoState * GetState(const char *p_stateName)
Find an existing state (LegoState-derived) object by its registered script/class name.
@ e_infomain
Information Center, main screen. [AI].
@ e_motocycle
Motorcycle (vehicle, spawn). [AI].
@ e_unk66
Used for some spawn locations. [AI].
MxFloat GetMaxLinearVel()
[AI] Returns the current maximum linear velocity (units per sec).
virtual void Animate(float p_time)
[AI] Per-frame animation update.
[AI] Specialized notification parameter used for path structure related events in LEGO Island.
MxS16 GetData()
[AI] Retrieves the supplemental data associated with the notification.
virtual void Add(MxCore *p_object)
Adds an object (entity, presenter, ROI, etc.) to the appropriate world-managed list or set.
virtual void TranslateBy(const float &p_x, const float &p_y, const float &p_z)
Applies translation by amounts along X, Y, Z axes.
Motocycle is an IslePathActor representing the motorcycle vehicle the user can drive in LEGO Island.
void ActivateSceneActions()
[AI] Triggers in-game events when scene actions should execute after transition into Motocycle.
void Animate(float p_time) override
[AI] Updates animation state and Motocycle-specific logic, including fuel and dashboard variables.
MxLong HandlePathStruct(LegoPathStructNotificationParam &) override
[AI] Handles notifications for special-path contact, e.g.
MxResult Create(MxDSAction &p_dsAction) override
[AI] Creates and registers the Motocycle in the game world from a DS action.
MxLong HandleClick() override
[AI] Handles the event when the user clicks to enter/use the motorcycle.
void Exit() override
[AI] Handles exit and cleanup from Motocycle mode, including dashboard and HUD.
MxLong HandleControl(LegoControlManagerNotificationParam &p_param) override
[AI] Handles dashboard or control area UI interactions for the motorcycle.
[AI] Represents an action deserialized from SI chunks, holding key animation or script parameters suc...
void SetObjectId(MxU32 p_objectId)
[AI] Sets the object id (for serialization or lookup).
[AI] Represents a 4x4 transformation matrix, specialized for the LEGO Island engine and derived from ...
MxLong GetTime()
Returns the current timer value in ms, depending on running state.
MxResult StartTransition(TransitionType p_animationType, MxS32 p_speed, MxBool p_doCopy, MxBool p_playMusicInAnim)
[AI] Begins a new transition animation of type p_animationType at the specified speed,...
@ e_mosaic
[AI] Complex mosaic block-out effect.
void SetVariable(const char *p_key, const char *p_value)
Sets a variable by key and value, replacing or updating if it exists.
const float * GetWorldPosition() const
Returns a pointer to the world position from the transformation matrix (translation row).
[AI] 3D vector class, providing vector and cross-product operations in 3D space.
#define DECOMP_SIZE_ASSERT(T, S)
#define NULL
[AI] Null pointer value (C/C++ semantics).
void InvokeAction(Extra::ActionType p_actionId, const MxAtomId &p_pAtom, MxS32 p_streamId, LegoEntity *p_sender)
[AI] Dispatches and triggers a game action on the given script or object.
MxBool RemoveFromCurrentWorld(const MxAtomId &p_atomId, MxS32 p_id)
[AI] Removes an entity or presenter with specified AtomId and ID from the current world; triggers End...
MxBool FUN_1003ef60()
[AI] Determines if the current actor can exit their area, based on state/zone/vehicle.
MxAtomId * g_isleScript
[AI] Node used in hierarchical scene graphs and animation trees. [AI]
const char * g_varMOTOSPEED
[AI] Global variable key for the motorcycle's speed.
const char * g_varMOTOFUEL
[AI] Global variable key for the motorcycle's fuel value.
LegoGameState * GameState()
[AI] Accessor for the game's central game state controller. [AI]
LegoAnimationManager * AnimationManager()
[AI] Accessor for the animation manager, which controls Lego character/world animation state....
MxTransitionManager * TransitionManager()
[AI] Accessor for the MxTransitionManager, handling level transitions, fades, and world changes....
MxDSAction & GetCurrentAction()
[AI] Accessor for the currently running MxDSAction (e.g.
LegoControlManager * ControlManager()
[AI] Accessor for the control manager through the input manager; manages higher-level user/game contr...
LegoWorld * CurrentWorld()
[AI] Accessor for the currently active LegoWorld instance. [AI]
void FUN_10015820(MxBool p_disable, MxU16 p_flags)
[AI] Utility for enabling or disabling functionality in LegoOmni based on certain flags.
LegoNavController * NavController()
[AI] Accessor for the navigation controller, managing player/camera navigation. [AI]
void PlayMusic(JukeboxScript::Script p_objectId)
[AI] Starts music playback by scripting the background audio manager to play the music piece referenc...
LegoPathActor * UserActor()
[AI] Accessor for the user (player-controllable) LegoPathActor. [AI]
MxTimer * Timer()
[AI] Returns the global simulation timer.
MxVariableTable * VariableTable()
[AI] Returns the variable table used for script variables and global key/value state.
@ c_MotoBikeDashboard_Bitmap
@ c_PoliceStation_Music
[AI] Music played inside or near the police station.