118 if (act1state ==
NULL) {
377 switch (rand() % 3) {
457 for (
MxS32 i = 0; i < 6; i++) {
460 if (presenter !=
NULL) {
461 presenter->
Enable(i == lightPosition);
562 MxS32 locations[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
564 for (
MxU32 i = 0; i < 5; i++) {
565 MxS32 r = rand() % 5;
568 if (locations[j] != 0 && r-- == 0) {
1062 const char* p_cameraLocation,
1081 if (p_cameraLocation !=
NULL) {
1107 if (p_object->
IsA(
"Pizza")) {
1110 else if (p_object->
IsA(
"Pizzeria")) {
1113 else if (p_object->
IsA(
"TowTrack")) {
1116 else if (p_object->
IsA(
"Ambulance")) {
1119 else if (p_object->
IsA(
"JukeBoxEntity")) {
1122 else if (p_object->
IsA(
"Helicopter")) {
1125 else if (p_object->
IsA(
"Bike")) {
1128 else if (p_object->
IsA(
"DuneBuggy")) {
1131 else if (p_object->
IsA(
"Motorcycle")) {
1134 else if (p_object->
IsA(
"SkateBoard")) {
1137 else if (p_object->
IsA(
"Jetski")) {
1140 else if (p_object->
IsA(
"RaceCar")) {
1150 if (p_actor->
IsA(
"Helicopter")) {
1153 else if (p_actor->
IsA(
"DuneBuggy")) {
1156 else if (p_actor->
IsA(
"Jetski")) {
1159 else if (p_actor->
IsA(
"RaceCar")) {
[AI] Holds state and transient gameplay data for the first act on Lego Island.
MxBool Reset() override
[AI] Resets all internal state, including planes, pointers, vehicle flags, and clears dynamic memory ...
LegoNamedTexture * m_jetskiWindshield
[AI] Named texture for jetski windshield (state restoration, streaming). [AI]
LegoNamedTexture * m_racecarFront
[AI] Named texture for racecar front (state restoration, streaming). [AI]
void RemoveActors()
[AI] Serializes all current actor locations and status, disassociating them from the world for later ...
undefined m_unk0x021
[AI] Internal state/transition flag, possibly for initializing/handling world entry....
DuneBuggy * m_dunebuggy
[AI] Serializable pointer to current dune buggy object (NULL when not held in state)....
LegoNamedTexture * m_jetskiFront
[AI] Named texture for jetski front (state restoration, streaming). [AI]
Playlist m_cptClickDialogue
[AI] Playlist object which cycles and holds available "Captain Click" audio scripts for the info cent...
LegoNamedPlane m_bikePlane
[AI] Serialized/deserialized world placement state for bike.
MxU8 GetUnknown21()
[AI] Returns the internal state variable at 0x021 (unknown, seems to control transitions).
void SetUnknown18(MxU32 p_unk0x18)
[AI] Sets the gameplay progress variable at 0x018 (controls state transitions, gameplay mode changes,...
Helicopter * m_helicopter
[AI] Serializable pointer to current helicopter object (NULL when not held in state)....
RaceCar * m_racecar
[AI] Serializable pointer to current racecar object (NULL when not held in state)....
MxBool m_unk0x022
[AI] Temporary state variable; persists through serialization, often used for logic gating....
LegoNamedPlane m_motocyclePlane
[AI] Serialized/deserialized world placement state for motorcycle.
void PlayCptClickDialogue()
[AI] Starts the "Captain Click" dialogue cutscene/playlist with audio and triggers background music f...
MxS16 m_elevFloor
[AI] Current floor of the elevator, using enum ElevatorFloor.
IsleScript::Script m_currentCptClickDialogue
[AI] Currently playing island script for the cutscene/voiceover event initiated by Captain Click.
LegoNamedTexture * m_helicopterJetLeft
[AI] Named texture for left jet on helicopter (needed for restoration/streaming). [AI]
LegoNamedTexture * m_dunebuggyFront
[AI] Named texture for dune buggy front (state restoration, streaming). [AI]
MxResult Serialize(LegoStorage *p_storage) override
[AI] Serializes all vehicle/named plane and other gameplay state to/from given persistent storage.
void SetUnknown21(MxU8 p_unk0x21)
[AI] Sets the state flag at offset 0x021 (purpose: controls certain transitions and checks).
MxU32 m_unk0x018
[AI] Internal gameplay state variable; see Get/SetUnknown18 for usage. [AI]
LegoNamedTexture * m_helicopterWindshield
[AI] Named texture for helicopter windshield (needed for state restoration, texture streaming)....
LegoNamedPlane m_helicopterPlane
[AI] Serialized/deserialized world placement state for helicopter.
LegoNamedPlane m_skateboardPlane
[AI] Serialized/deserialized world placement state for skateboard.
void PlaceActors()
[AI] Places all actors/vehicles in the world at their previously-serialized locations and attaches th...
LegoNamedTexture * m_racecarTail
[AI] Named texture for racecar tail (state restoration, streaming). [AI]
LegoNamedPlane m_jetskiPlane
[AI] Placement state for jetski in world (serializable). [AI]
MxBool m_unk0x01e
[AI] Temporary flag for info center elevator; used to determine if elevator is currently active/trans...
LegoNamedTexture * m_racecarBack
[AI] Named texture for racecar back (state restoration, streaming). [AI]
LegoNamedPlane m_dunebuggyPlane
[AI] Placement state for dune buggy in world (serializable). [AI]
MxBool m_planeActive
[AI] Indicates that the airplane cutscene is currently active (info center window)....
Act1State()
[AI] Constructs a new instance and resets default state, including initializing cutscene playlist and...
LegoNamedPlane m_racecarPlane
[AI] Placement state for racecar in world (serializable). [AI]
Jetski * m_jetski
[AI] Serializable pointer to current jetski object (NULL when not held in state). [AI]
MxBool m_unk0x01f
[AI] Temporary flag for info center elevator; often used as a "ready for transition" check....
LegoNamedTexture * m_helicopterJetRight
[AI] Named texture for right jet on helicopter (needed for restoration/streaming)....
void StopCptClickDialogue()
[AI] Stops the "Captain Click" dialogue cutscene if playing and resets background music....
Main game logic and control entity for the Ambulance gameplay activity.
MxLong Notify(MxParam &p_param) override
[AI] Handles notifications from the system (events, actions, button presses, etc.).
void CreateState()
[AI] Ensures AmbulanceMissionState is present in the game state manager; creates if missing....
void FUN_10037250()
[AI] Resets game- and mission-related state after the mission; restores music, resets state objects,...
void ActivateSceneActions()
[AI] Handles the enabling of in-game ambient/scene actions when player enters the hospital scene....
void FUN_10036e60()
[AI] Marks mission as failed/successful, triggers cutscene/animation for mission outcome....
void StopActions()
[AI] Stops currently running scripted actions/animations associated with the Ambulance mission....
[AI] Represents the player's bicycle vehicle in LEGO Island, allowing for in-world interactions such ...
void ActivateSceneActions()
[AI] Triggers the bike's area-specific actions, such as playing background music and starting scripte...
The state object used for the car race mini-game.
[AI] Represents the player-controllable dune buggy vehicle in LEGO Island, inheriting movement and in...
void ActivateSceneActions()
[AI] Triggers cutscene/cinematic actions associated with the garage/dune buggy scenario ("scene actio...
[AI] Represents the flyable helicopter vehicle/path actor in the game, handling all in-game behaviors...
void CreateState()
[AI] Creates or retrieves the associated HelicopterState instance for this actor. [AI]
MxLong Notify(MxParam &p_param) override
[AI] Handles notification messages sent to this actor and dispatches to the appropriate handler based...
Derived path actor type for handling player transitions and activities on LEGO Island.
@ c_spawnBit1
[AI] Bit flag to trigger additional camera/animation sequence during spawn. [AI]
@ c_playMusic
[AI] Bit flag to trigger background music playback on spawn. [AI]
@ c_spawnBit3
[AI] Unused/reserved extra spawn bit in flag set. [AI]
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.
void SetWorld(LegoWorld *p_world)
[AI] Sets the current world this actor belongs to, updating its reference for placement.
MxLong Notify(MxParam &p_param) override
[AI] Dispatches notifications to specialized handlers based on notification type.
[AI] Represents the main overworld (LEGO Island) in the game, acting as the central hub and state mac...
Pizzeria * m_pizzeria
[AI] Pointer to pizzeria scene.
void CreateState()
[AI] Reinstantiates/reset the play state in all child objects (radio, vehicles, pizzeria,...
LegoGameState::Area m_destLocation
[AI] Next requested world/area to transition to after animation/dialogue/cutscene currently in progre...
Act1State * m_act1state
[AI] Points to active Act1State, holding currently serialized vehicle and gameplay data.
~Isle() override
[AI] Cleans up Isle world, unregistering notifications and releasing allocated resources/pointer stat...
MxLong Notify(MxParam &p_param) override
[AI] Handles incoming notifications from various event sources, dispatches to specialized handlers wh...
SkateBoard * m_skateboard
[AI] Pointer to skateboard actor.
Jetski * m_jetski
[AI] Pointer to jetski actor.
MxLong HandleControl(LegoControlManagerNotificationParam &p_param)
[AI] Processes control notifications (e.g., elevator, arrow buttons, environment toggles),...
void FUN_10032620()
[AI] Internal utility to setup camera/actor state after some transitions (e.g., resets view and spawn...
Ambulance * m_ambulance
[AI] Pointer to ambulance actor.
Radio m_radio
[AI] In-world radio/audio playback manager.
Pizza * m_pizza
[AI] Pointer to pizza actor.
MxLong HandleTransitionEnd()
[AI] Handles transitions for all destination logic (scene swaps with audio/video cut,...
MxLong HandlePathStruct(LegoPathStructNotificationParam &p_param)
[AI] Dispatches Lego path structure notifications (actor/path region completed, unique triggers) to v...
Helicopter * m_helicopter
[AI] Pointer to helicopter actor (if present).
void FUN_10032d30(IsleScript::Script p_script, JukeboxScript::Script p_music, const char *p_cameraLocation, MxBool p_und)
[AI] Facilitates transitions with visual and audio state, camera positioning and palette reset for th...
void Add(MxCore *p_object) override
[AI] Adds an object/actor to the Isle world, binding pointers for special-cased vehicles or entities.
RaceCar * m_racecar
[AI] Pointer to racecar actor.
Bike * m_bike
[AI] Pointer to bike actor.
MxBool Escape() override
[AI] Handles exiting from this world (Escape key, area transition, etc.). Manages background audio/sc...
virtual void VTable0x6c(LegoPathActor *p_actor)
[AI] Removes a path-based actor (vehicle, etc.) from the Isle world and unbinds pointers as needed.
MxResult Create(MxDSAction &p_dsAction) override
[AI] Sets up the Isle world based on the given MxDSAction (content/scene/act loading entry).
MxBool IsA(const char *p_name) const override
[AI] Returns whether this or a base class matches the string argument.
MxLong HandleEndAction(MxEndActionNotificationParam &p_param)
[AI] Processes notifications marking the end of actions (animations, audio, transitions),...
void UpdateGlobe()
[AI] Updates the globe UI in the observation area, enabling the correct presenter's bitmap representi...
void FUN_10033350()
[AI] Performs world cleanup related to transitions and resets (see source for transition/actor logic)...
Isle()
[AI] Creates a new Isle world, initializing all vehicle pointers, radio, and registering for notifica...
Motocycle * m_motocycle
[AI] Pointer to motorcycle actor.
void VTable0x60() override
[AI] Stub function slot; no operation in current implementation. [AI]
void ReadyWorld() override
[AI] Prepares the world for play, switching areas if needed and handling music, cutscene,...
DuneBuggy * m_dunebuggy
[AI] Pointer to dune buggy actor.
JukeBoxEntity * m_jukebox
[AI] Pointer to in-world jukebox entity.
void Enable(MxBool p_enable) override
[AI] Enables or disables Isle world objects/logic, forcibly setting input and world activation status...
void HandleElevatorEndAction()
[AI] Handles the completion of elevator actions, progressing the game/area as appropriate for the cur...
TowTrack * m_towtrack
[AI] Pointer to tow track actor.
[AI] Per-race state data and logic holder for JetskiRace, used for tracking player and AI standings,...
[AI] Represents the jetski vehicle placed in the 3D world of LEGO Island.
void ActivateSceneActions()
[AI] Activates scene-specific scripted actions, such as music or camera animations,...
MxS16 GetUnknown0x160()
[AI] Gets the current jetski dashboard stream ID, used to select/activate the dashboard/overlay for r...
[AI] Represents the jukebox interactive entity in LEGO Island, handling click events,...
void StartAction()
[AI] Starts the jukebox action: plays the selected music track, sets proper animation,...
void StopAction(JukeboxScript::Script p_script)
[AI] Stops the given jukebox music and resets related animation/states.
int SetFrustrum(float p_fov, float p_front, float p_back)
[AI] Sets the 3D perspective frustum parameters for camera and view.
@ c_pepper
Pepper Roni ([AI])
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.
void FUN_10061010(MxBool p_und)
[AI] Cancels all camera/transition animations and resets camera after completion.
@ e_unk1
[AI] Unknown/unspecified play mode
void Resume()
[AI] Resumes animation manager from suspension, restoring all previously suspended state.
MxResult FUN_10064880(const char *p_name, MxS32 p_unk0x0c, MxS32 p_unk0x10)
[AI] Updates specified character's extra animation idle/play time values for active extras.
void EnableCamAnims(MxBool p_enableCamAnims)
[AI] Sets whether camera-based queued animations are enabled for the world.
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.
void AddExtra(MxS32 p_location, MxBool p_und)
[AI] Spawns a new extra actor at a boundary or location, if capacity and logic allow.
void FUN_1005f6d0(MxBool p_unk0x400)
[AI] Enables or disables extras (extra actors).
void ToggleSkyColor()
Rotates hue to cycle sky color (e.g. progressing through the day), updating all visuals....
void ToggleDayNight(MxBool p_sun)
Adjusts the saturation (day/night) and updates sky color and light accordingly.
[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.
[AI] Represents an entity that can be placed and managed in the LEGO Island world.
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.
LegoROI * GetROI()
[AI] Gets the ROI (Realtime Object Instance) associated with this entity. [AI]
MxLong Notify(MxParam &p_param) override
[AI] Handles event notification for the entity, most notably user clicks, using polymorphic dispatch.
Mx3DPointFloat GetWorldPosition()
[AI] Gets the world-space position vector, optionally updating from ROI. [AI]
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,...
void SwitchArea(Area p_area)
Switches the whole game state into a new area/world; manages transitions/scene loads.
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.
LegoBackgroundColor * GetBackgroundColor()
Gets the main background color variable object. [AI].
@ e_act3
Act 3: final main story segment. [AI].
@ e_act1
Act 1: the first main segment of the game. [AI].
@ e_actNotFound
No act currently loaded (does not correspond to valid play). [AI].
@ e_act2
Act 2: main story segment two. [AI].
void StopArea(Area p_area)
Calls cleanup logic for the specified area (removes actors, VMs, closes handles, etc....
MxU8 GetActorId()
Returns the current selected actor ID. [AI].
Area m_previousArea
Where player was before last area switch. [AI].
void FindLoadedAct()
Analyses the loaded Lego worlds to determine which act is present. [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_previousArea
Alias: go to previous area. [AI].
@ e_motocycle
Motorcycle (vehicle, spawn). [AI].
@ e_bike
Bike minigame (spawns). [AI].
@ e_police
Police Station interior. [AI].
@ e_elevdown
Elevator moving down (animated). [AI].
@ e_copter
Helicopter (vehicle, spawn). [AI].
@ e_unk66
Used for some spawn locations. [AI].
@ e_hospitalExterior
Hospital, seen from outside. [AI].
@ e_dunecar
Dune buggy (vehicle, for spawn). [AI].
@ e_act2main
Act 2 world main screen. [AI].
@ e_jetraceExterior
Jetski race transition? [AI].
@ e_elevride2
Elevator ride/cab down (animated). [AI].
@ e_garageExterior
Garage (vehicle construction) exterior. [AI].
@ e_garage
Garage (build vehicle) interior. [AI].
@ e_garadoor
Garage door or doorway. [AI].
@ e_polidoor
Police Station door. [AI].
@ e_isle
Open world (LEGO Island main map). [AI].
@ e_jetrace2
Jetski race (exterior). [AI].
@ e_pizzeriaExterior
Pizzeria, seen from outside. [AI].
@ e_unk28
Used for certain spawn locations. [AI].
@ e_towtrack
Towtruck (vehicle, spawn). [AI].
@ e_undefined
Undefined or unset area. [AI].
@ e_unk33
Used for certain player spawns. [AI].
@ e_skateboard
Skateboard (vehicle, spawn). [AI].
@ e_elevride
Elevator ride/cab up (animated). [AI].
@ e_unk4
Unknown / possibly reserved. [AI].
@ e_jukeboxExterior
Jukebox, seen from outside. [AI].
@ e_observe
Observatory interior. [AI].
@ e_ambulance
Ambulance (vehicle, spawn). [AI].
@ e_policeExterior
Police Station, from outside. [AI].
@ e_carraceExterior
Car race exterior/transition. [AI].
@ e_seaview
Ocean-side view at observatory. [AI].
@ e_elevopen
Elevator doors open. [AI].
@ e_jetski
Jetski (vehicle, spawn). [AI].
void SetDirty(MxBool p_isDirty)
Sets whether there are unsaved changes to the state.
@ 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,...
void SetBoundary(LegoPathBoundary *p_boundary)
[AI] Assigns a new boundary for the actor (for path switching).
void SetController(LegoPathController *p_pathController)
[AI] Assigns a new path controller (used for actor transitions between paths).
@ c_initial
[AI] Default state upon creation or reset. [AI]
void PlaceActor(LegoNamedPlane &p_namedPlane)
[AI] Places this actor into the world at the given plane's name, location, and orientation.
void UpdatePlane(LegoNamedPlane &p_namedPlane)
[AI] Updates a named plane to match this actor's world position, direction, and up vector.
MxBool IsA(const char *p_name) const override
[AI] RTTI-like check, matches against own or base class name for IsA hierarchy checks.
LegoPathBoundary * GetBoundary()
[AI] Retrieves the current path boundary associated with this actor.
void SetActorState(MxU32 p_actorState)
[AI] Sets the navigation/path state of the actor.
[AI] Represents a path segment or boundary in the navigation network for actors (vehicles,...
[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 MxResult Serialize(LegoStorage *p_storage)
[AI] Serialize state to a storage (for save/load).
Abstract base class providing an interface for file-like storage with binary and text read/write oper...
LegoStorage * WriteU8(LegoU8 p_data)
Writes an 8-bit unsigned value to storage.
virtual LegoBool IsWriteMode()
Returns TRUE if object was opened in write mode.
LegoStorage * ReadU8(LegoU8 &p_data)
Reads an 8-bit unsigned value from storage.
LegoStorage * WriteS16(LegoS16 p_data)
Writes a 16-bit signed value to storage.
LegoStorage * ReadS16(LegoS16 &p_data)
Reads a 16-bit signed value from storage.
virtual LegoBool IsReadMode()
Returns TRUE if object was opened in read mode.
MxResult ResetPalette(MxBool p_ignoreSkyColor)
[AI] Resets palette entries and re-installs base palette, restoring sky color if requested.
Lego3DManager * Get3DManager()
[AI] Returns the Lego3DManager for this manager, which owns all 3D scene representations and view con...
void Remove(MxCore *p_object)
Removes an object from all relevant world-managed lists or sets, and also detaches if needed.
virtual void ReadyWorld()
Called when the world is ready to be used—typically for custom scene setup after startup.
MxResult PlaceActor(LegoPathActor *p_actor, const char *p_name, MxS32 p_src, float p_srcScale, MxS32 p_dest, float p_destScale)
Places an actor along a path, from source to destination, using named references and scaling.
MxCoreSet m_set0xd0
Set of currently paused/disconnected objects when world is disabled.
virtual void Add(MxCore *p_object)
Adds an object (entity, presenter, ROI, etc.) to the appropriate world-managed list or set.
virtual void Enable(MxBool p_enable)
Enables or disables (pauses) the world and its main components.
LegoCameraController * m_cameraController
Camera controller for world's main view.
MxBool m_worldStarted
Indicates if the world has successfully started and is considered active.
MxCore * Find(const char *p_class, const char *p_name)
Finds an object of a given class and name in the world.
MxLong Notify(MxParam &p_param) override
Notification callback responding to registered events such as EndAction and NewPresenter.
void RemoveActor(LegoPathActor *p_actor)
Removes an actor from all known path controllers.
MxResult Create(MxDSAction &p_dsAction) override
Initializes the world using an action, creating entity and sound lists, and camera controller.
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.
[AI] Represents a 3D point with floating-point precision, inheriting from Vector3.
MxDSAction * GetAction()
[AI] Direct access to the underlying action.
void RaiseVolume()
[AI] Requests that the background music volume is raised (decrements suppression counter); triggers f...
void LowerVolume()
[AI] Requests a reduction in current background music volume, queuing for fade out (increments suppre...
void Stop()
[AI] Immediately stops all background music, clears all actions and presenters, and resets tickle sta...
[AI] Base virtual class for all Mindscape engine (Mx) objects.
virtual MxBool IsA(const char *p_name) const
[AI] Checks whether this object's class type or parents match the given name.
[AI] Represents an action deserialized from SI chunks, holding key animation or script parameters suc...
const MxAtomId & GetAtomId()
[AI] Returns a const-reference to the object's atom identifier.
virtual void SetAtomId(MxAtomId p_atomId)
[AI] Sets the atom id for this object instance, used for indexing or lookup.
void SetUnknown24(MxS16 p_unk0x24)
[AI] Sets the unknown field at 0x24 (possibly version/state).
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...
MxAtomId m_atomId
The AtomId associated with this entity, used for resource and script identification.
[AI] Represents a 4x4 transformation matrix, specialized for the LEGO Island engine and derived from ...
void Unregister(MxCore *p_listener)
[AI] Removes a previously registered listener and flushes any pending notifications for it.
void Register(MxCore *p_listener)
[AI] Registers a listener object to receive notifications.
MxResult Send(MxCore *p_listener, const MxNotificationParam &p_param)
[AI] Queues a notification to be sent to a specific registered listener.
[AI] Parameter object representing a single notification or event, carrying an identifier and sender ...
NotificationId GetNotification() const
[AI] Retrieves the current notification type of this parameter.
[AI] MxParam serves as a polymorphic base class for parameter passing in event and notification syste...
[AI] Abstract base class for all presenter types in the LEGO Island engine, responsible for managing ...
MxS32 GetCurrentTickleState() const
[AI] Returns the current tickle state.
@ e_repeating
[AI] Presentation is repeating (e.g., looping media).
[AI] Presenter for single still image/bitmap media sources in the game.
void Enable(MxBool p_enable) override
[AI] Sets the enabled/disabled state of the presenter, updating the video manager's rendering as need...
char * GetData() const
Returns a pointer to the internal character buffer.
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 SetWaitIndicator(MxVideoPresenter *p_waitIndicator)
[AI] Sets or resets the visual wait indicator presented during blocking transitions.
void SetVariable(const char *p_key, const char *p_value)
Sets a variable by key and value, replacing or updating if it exists.
Interactive pizza entity actor; manages the in-game pizza delivery sequence and reacts to mission tri...
void StopActions()
Stops all currently running pizza mission actions and resets to an idle state.
void FUN_100382b0()
Cancels or resets the Pizza mission, stopping music, resetting camera, and animation state.
void CreateState()
Initializes or restores references to PizzaMissionState and Act1State in GameState.
[AI] Actor representing the pizzeria (Pizza Shop) as an interactive entity in the LEGO Island world.
void CreateState()
[AI] Searches the game state for existing state objects for "PizzeriaState" and "PizzaMissionState",...
void SetVisibility(unsigned char p_visible)
[AI] Sets the visibility flag to the provided value.
[AI] Represents the drivable race car entity in the LEGO Island world.
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.
void Stop()
[AI] Stops radio playback if currently active and updates audio state.
MxLong Notify(MxParam &p_param) override
[AI] Handles system notifications (end actions, control events) relevant to the radio.
void CreateState()
[AI] Creates or retrieves a RadioState object in the game state manager.
void Initialize(MxBool p_und)
[AI] Sets radio system as enabled/disabled and resets state if changed.
[AI] Represents the skateboard vehicle actor used in the minigame and cutscenes.
void SetPizzaVisible(MxBool p_pizzaVisible)
[AI] Sets whether the pizza bitmap/scene is visible in the skateboard minigame.
void ActivateSceneActions()
[AI] Activates the skateboard scene-specific scripted actions, including animations and music.
[AI] 3D world actor for the Tow Track mini-game; manages Tow Track mission logic, scene activation an...
void StopActions()
[AI] Halts all ongoing Tow Track mini-game actions.
void FUN_1004dbe0()
[AI] Handles cleanup tasks upon mini-game exit, including resetting state variables and unregistering...
void ActivateSceneActions()
[AI] Triggers scene-based scripted actions according to mission state.
MxLong Notify(MxParam &p_param) override
[AI] Notifies the TowTrack actor of an event.
void CreateState()
[AI] Ensures the TowTrackMissionState exists and is registered in the global state manager.
void FUN_1004dab0()
[AI] Begins the Tow Track mission, sets state variable, and triggers click-handling sequence.
float LenSquared() const override
[AI] Computes the squared magnitude (x^2 + y^2 + z^2) of this vector.
void Add(ViewROI *p_roi)
[AI] Adds a ViewROI object to the list of managed ROI objects.
#define DECOMP_SIZE_ASSERT(T, S)
IsleScript::Script g_cptClickDialogue[]
#define NULL
[AI] Null pointer value (C/C++ semantics).
#define FAILURE
[AI] Used to indicate a failed operation in result codes.
#define SUCCESS
[AI] Used to indicate a successful operation in result codes.
void EnableAnimations(MxBool p_enable)
[AI] Enables or disables animation playback globally.
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.
LegoNamedTexture * ReadNamedTexture(LegoStorage *p_storage)
[AI] Reads a named texture and its associated image data from storage.
MxS32 UpdateLightPosition(MxS32 p_increase)
[AI] Steps or resets the in-game light position; wraps and saves in global variables; updates lightin...
void SetAppCursor(Cursor p_cursor)
[AI] Sets the in-game cursor to a specified type.
void FUN_1003f930(LegoNamedTexture *p_namedTexture)
[AI] Applies the image bits of a named texture to its associated texture info container entry.
@ e_cursorArrow
[AI] Standard arrow cursor. [AI]
void WriteDefaultTexture(LegoStorage *p_storage, const char *p_name)
[AI] Writes a default texture by name (and its image/palette) to storage for serialization.
void WriteNamedTexture(LegoStorage *p_storage, LegoNamedTexture *p_namedTexture)
[AI] Writes a LegoNamedTexture and its associated image to storage.
MxAtomId * g_isleScript
[AI] Node used in hierarchical scene graphs and animation trees. [AI]
const char * g_varCAMERALOCATION
[AI] Global variable key for the camera location.
LegoGameState * GameState()
[AI] Accessor for the game's central game state controller. [AI]
LegoVideoManager * VideoManager()
[AI] Accessor for the game's LegoVideoManager subsystem. Used for managing 3D/video hardware....
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....
ViewManager * GetViewManager()
[AI] Accessor for the current ViewManager, managing rendering views/cameras. [AI]
LegoWorld * FindWorld(const MxAtomId &p_atom, MxS32 p_entityid)
[AI] Searches for or retrieves a LegoWorld instance based on an atom id and entity id.
LegoControlManager * ControlManager()
[AI] Accessor for the control manager through the input manager; manages higher-level user/game contr...
void FUN_10015820(MxBool p_disable, MxU16 p_flags)
[AI] Utility for enabling or disabling functionality in LegoOmni based on certain flags.
void SetROIVisible(const char *p_name, MxBool p_visible)
[AI] Utility for setting the visibility flag of a named ROI object.
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]
void SetIsWorldActive(MxBool p_isWorldActive)
[AI] Toggles whether the world should be considered active (enables/disables camera/user control etc)...
LegoInputManager * InputManager()
[AI] Accessor for the input manager, which handles keyboard, mouse, and controller input....
MxResult Start(MxDSAction *p_dsAction)
[AI] Schedules and initiates execution of a script action.
MxVariableTable * VariableTable()
[AI] Returns the variable table used for script variables and global key/value state.
MxNotificationManager * NotificationManager()
[AI] Returns the notification manager for system-wide state/update notifications.
@ c_notificationType20
[AI] Unspecified notification type [AI]
@ c_notificationControl
[AI] UI control event [AI]
@ c_notificationButtonUp
[AI] Mouse/gamepad button release [AI]
@ c_notificationButtonDown
[AI] Mouse/gamepad button press [AI]
@ c_notificationEndAnim
[AI] End of an animation [AI]
@ c_notificationTransitioned
[AI] Object has transitioned states or locations [AI]
@ c_notificationEndAction
[AI] Indicates the end of an action [AI]
@ c_notificationClick
[AI] Mouse click event [AI]
@ c_notificationPathStruct
[AI] Data related to a path structure [AI]
@ c_ElevDown_LeftArrow_Ctl
@ c_ElevOpen_RightArrow_Ctl
@ c_Observe_GlobeRArrow_Ctl
@ c_SeaView_Background_Bitmap
@ c_Observe_Background_Bitmap
@ c_PoliDoor_LeftArrow_Ctl
@ c_PoliDoor_RightArrow_Ctl
@ c_ElevDown_Background_Bitmap
@ c_GaraDoor_Background_Bitmap
@ c_HelicopterDashboard_Bitmap
@ c_Observe_RightArrow_Ctl
@ c_PoliDoor_Background_Bitmap
@ c_Observe_Globe1_Bitmap
@ c_GaraDoor_RightArrow_Ctl
@ c_ElevRide_Background_Bitmap
@ c_ElevOpen_LeftArrow_Ctl
@ c_Observe_LeftArrow_Ctl
@ c_ElevDown_RightArrow_Ctl
@ c_ElevOpen_Background_Bitmap
@ c_GaraDoor_LeftArrow_Ctl
@ c_Observe_GlobeLArrow_Ctl
@ c_SeaView_RightArrow_Ctl
@ c_MotoBikeDashboard_Bitmap
@ c_ElevDown_Elevator_Ctl
@ c_SeaView_LeftArrow_Ctl
@ c_InfoCenter_3rd_Floor_Music
[AI] Music for the information center's third floor.
@ c_JBMusic1
[AI] Jukebox miscellaneous music 1.
@ c_JBMusic6
[AI] Jukebox miscellaneous music 6.
@ c_PoliceStation_Music
[AI] Music played inside or near the police station.
@ c_JBMusic2
[AI] Jukebox miscellaneous music 2.
@ c_Elevator_Music
[AI] Music for elevator sequences.
@ c_MusicTheme1
[AI] Main theme music, variant 1.
[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.
[AI] Represents a named 3D plane with orientation and position, used to describe places or camera tar...
const char * GetName() const
[AI] Default destructor (implementation likely trivial).
void Reset()
[AI] Reset the plane to "not present" by clearing its name.
const Mx3DPointFloat & GetPosition()
[AI] Get the 3D position of this plane in world coordinates.
MxString m_name
[AI] Name identifier for this plane (used for lookups and scripting).
MxResult Serialize(LegoStorage *p_storage)
[AI] Serialize or deserialize the plane data to or from a LegoStorage object.
MxBool IsPresent()
[AI] Determines whether the plane instance is valid (present) based on its name.
const Mx3DPointFloat & GetDirection()
[AI] Get the normalized direction (forward) vector of the plane.
const Mx3DPointFloat & GetUp()
[AI] Get the normalized "up" vector of the plane, defining its orientation.
[AI] Playlist structure representing an indexed list of object IDs with next-item selection strategie...
MxU32 Next()
[AI] Retrieves the object ID at the current position, advances next index according to playlist mode.
MxS16 m_nextIndex
[AI] Current index for next selection (suitable for sequential/random access). [AI]