51 if (!jetskiRaceState) {
55 m_raceState = jetskiRaceState;
57 if (!jetskiRaceState) {
61 m_raceState->m_unk0x28 = 1;
62 m_unk0x130.SetLeft(397);
63 m_unk0x130.SetTop(317);
64 m_unk0x130.SetRight(543);
65 m_unk0x130.SetBottom(333);
166 if (paramData <= m_unk0x104 || paramData >=
m_unk0x104 + 5) {
172 sprintf(buffer,
"%g", 0.032 + 0.936 * (
m_unk0xf8 * 20.0 +
m_unk0x104) / (g_unk0x100f0c78 * 20.0));
201 raceStateEntry->
m_score = position;
218 if (paramData <= m_unk0x108 || paramData >=
m_unk0x108 + 5) {
236 if (paramData <= m_unk0x10c || paramData >=
m_unk0x10c + 5) {
267 if (p_param1 == 11) {
271 else if (p_param1 == 12) {
MxU32 m_unk0x018
[AI] Internal gameplay state variable; see Get/SetUnknown18 for usage. [AI]
static MxS32 GetColorOffset(const char *p_variable)
[AI] Determines the color offset index for the dune buggy dashboard based on a variable.
[AI] LEGO Island's "Jetski" racing game logic and presenter class, derived from LegoRace.
MxLong HandleClick(LegoEventNotificationParam &) override
[AI] Handles click/interaction events on JetskiRace-specific controls or UI.
void ReadyWorld() override
[AI] Prepares the game world objects and scene for Jetski racing gameplay.
MxLong HandlePathStruct(LegoPathStructNotificationParam &) override
[AI] Handles path struct notifications during path/race progression.
MxLong HandleEndAction(MxEndActionNotificationParam &) override
[AI] Handles notifications when scripted actions end.
void FUN_10016930(MxS32 p_param1, MxS16 p_param2)
[AI] Updates auxiliary race progress presenters for opponents or other racers.
MxBool Escape() override
[AI] Handles escape/exit-from-minigame actions for JetskiRace.
void Mute(MxBool p_muted)
[AI] Mutes or unmutes the actor's current sound.
void FUN_10061010(MxBool p_und)
[AI] Cancels all camera/transition animations and resets camera after completion.
void Resume()
[AI] Resumes animation manager from suspension, restoring all previously suspended state.
[AI] Notification parameter for the LegoControlManager, used to propagate information about control e...
Notification parameter class for LEGO event notifications such as mouse events and modifier keys.
Comprehensive persistent game state manager: handles save/load, player selection, area switching,...
Area m_currentArea
Area/world the player is presently in. [AI].
LegoState * CreateState(const char *p_stateName)
Creates an instance of given state, registers it, and returns pointer.
void StopArea(Area p_area)
Calls cleanup logic for the specified area (removes actors, VMs, closes handles, etc....
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_jetraceExterior
Jetski race transition? [AI].
@ e_jetrace
Jetski race area, "interior"/main. [AI].
@ e_jetrace2
Jetski race (exterior). [AI].
@ e_undefined
Undefined or unset area. [AI].
void FUN_1006db40(LegoTime p_time)
[AI] Traverses the animation node hierarchy starting at the root and synchronizes visibility flags fo...
static void InitSoundIndices()
[AI] Initializes static indices for jetski-specific sound arrays to randomized starting positions.
@ c_clearScreen
[AI] When set, clears the display surface. [AI]
@ c_disable3d
[AI] When set, disables 3D rendering. [AI]
@ c_disableInput
[AI] When set, disables input processing. [AI]
[AI] An actor that moves along a predefined path, supporting boundary transitions,...
[AI] Specialized notification parameter used for path structure related events in LEGO Island.
MxS16 GetData()
[AI] Retrieves the supplemental data associated with the notification.
MxU8 GetTrigger()
[AI] Returns the trigger type associated with this notification.
static void FUN_10012de0()
[AI] Resets static sound state variables for the car (last sound time, stopped flag,...
MxStillPresenter * m_unk0x128
[AI] Unknown, likely for presenting stills during race transitions or cutscenes.
MxResult Create(MxDSAction &p_dsAction) override
[AI] Creates and initializes LegoRace world/logic for a DS action.
MxS32 m_unk0x104
[AI] Unknown (race-specific state/control variable).
MxS32 m_unk0x10c
[AI] Unknown (race-specific state/control variable).
RaceState * m_raceState
[AI] Stores persistent race state/results for the race world instance.
MxS32 m_unk0xfc
[AI] Unknown (race-specific state/control variable).
LegoGameState::Area m_destLocation
[AI] Destination location (area to switch to after race/transition).
MxRect32 m_unk0x130
[AI] Unknown 32-bit rectangle, possible HUD/viewport region.
LegoRaceMap * m_maps[3]
[AI] Map objects used by this race (main, alternate, or lap variants).
Act1State * m_act1State
[AI] Pointer to Act1State (first act/sequence logic).
MxStillPresenter * m_unk0x12c
[AI] Unknown, likely for presenting stills during race transitions or cutscenes.
MxS32 m_unk0x100
[AI] Unknown (race-specific state/control variable).
MxS32 m_unk0x108
[AI] Unknown (race-specific state/control variable).
MxS32 m_unk0xf8
[AI] Unknown (race-specific state/control variable).
virtual void ReadyWorld()
Called when the world is ready to be used—typically for custom scene setup after startup.
LegoHideAnimPresenter * m_hideAnim
Animation presenter for ROI hide (vanish, fade, etc.) sequences.
MxCore * Find(const char *p_class, const char *p_name)
Finds an object of a given class and name in the world.
MxDSAction * GetAction()
[AI] Direct access to the underlying action.
MxResult PlayMusic(MxDSAction &p_action, undefined4 p_speed, MxPresenter::TickleState p_tickleState)
[AI] Initiates playback of a new background music action with specified speed and target tickle state...
[AI] Represents an action deserialized from SI chunks, holding key animation or script parameters suc...
virtual void SetAtomId(MxAtomId p_atomId)
[AI] Sets the atom id for this object instance, used for indexing or lookup.
void SetObjectId(MxU32 p_objectId)
[AI] Sets the object id (for serialization or lookup).
MxU32 GetObjectId()
[AI] Returns the object id numeric value.
[AI] Notification parameter marking the end of an action, specialization of MxActionNotificationParam...
MxEntity is a base class for game entities which are uniquely identified by an integer ID and an Atom...
MxS32 GetEntityId()
Returns the current entity ID.
MxAtomId m_atomId
The AtomId associated with this entity, used for resource and script identification.
MxCore * GetSender() const
[AI] Retrieves the sender pointer associated with this notification.
@ e_repeating
[AI] Presentation is repeating (e.g., looping media).
T GetTop() const
[AI] Get the top edge.
T GetRight() const
[AI] Get the right edge.
T GetLeft() const
[AI] Get the left edge.
T GetBottom() const
[AI] Get the bottom edge.
[AI] Presenter for single still image/bitmap media sources in the game.
virtual void SetPosition(MxS32 p_x, MxS32 p_y)
[AI] Sets the pixel-based position of the presented image.
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.
[AI] Maintains persistent information about race progress, results, and high scores for up to five ra...
undefined4 m_unk0x28
[AI] Unknown extra field, always initialized to zero.
Entry * GetState(MxU8 p_id)
[AI] Fetches a race state entry matching the given entry ID, or NULL if not found in the array.
#define DECOMP_SIZE_ASSERT(T, S)
const char * g_varJSWNSHY5
const char * g_varJSFRNTY5
const char * g_strHIT_WALL_SOUND
[AI] Variable table name for the wall hit sound [AI]
const char * g_strHIT_WALL_SOUND
[AI] Variable table name for the wall hit sound [AI]
const char * g_raceState
[AI] Global variable storing the name of the race state variable (used for checking or setting state ...
const char * g_racing
[AI] Global variable storing the name of the racing state (used to check if the race is currently ong...
#define NULL
[AI] Null pointer value (C/C++ semantics).
char LegoChar
[AI] Alias for char, for use in character/byte data and string handling.
#define FAILURE
[AI] Used to indicate a failed operation in result codes.
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.
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....
void DeleteObjects(MxAtomId *p_id, MxS32 p_first, MxS32 p_last)
[AI] Batch deletes objects, given by atom id, and within the entity id range [p_first,...
MxTransitionManager * TransitionManager()
[AI] Accessor for the MxTransitionManager, handling level transitions, fades, and world changes....
MxBackgroundAudioManager * BackgroundAudioManager()
[AI] Accessor for the background audio manager. Used for background music and ambient sounds....
void FUN_10015820(MxBool p_disable, MxU16 p_flags)
[AI] Utility for enabling or disabling functionality in LegoOmni based on certain flags.
MxVariableTable * VariableTable()
[AI] Returns the variable table used for script variables and global key/value state.
@ c_JetskiArms_Ctl
[AI] HUD control/entity for player's jetski arms or hands display.
@ c_JetskiDashboard
[AI] Parent dashboard control, aggregates dashboard bitmaps/controls.
@ c_AirHorn_PlayWav
[AI] Action to play airhorn WAV file (JetRace SFX).
@ c_JetskiInfo_Ctl
[AI] HUD control/entity for player's jetski info screen.
@ c_JetskiRace_Music
[AI] Music for the Jetski race event.
[AI] Contains global script AtomId pointers and utility functions for managing script AtomIds in LEGO...
MxAtomId * g_jukeboxScript
[AI] Script AtomId for the Jukebox entity/event script.
MxAtomId * g_jetraceScript
[AI] Script AtomId for jet racing-related scripts.
[AI] Entry for an individual race event/state, holding its identifier, unknown field,...
MxS16 m_unk0x02
[AI] Unknown field (usage unclear).
MxS16 m_score
[AI] High score for this race/entry.