248 if (m_unk0x100 == 1) {
[AI] Holds state and transient gameplay data for the first act on Lego Island.
MxU32 m_unk0x018
[AI] Internal gameplay state variable; see Get/SetUnknown18 for usage. [AI]
[AI] Represents the music selection state for the Jukebox in the game.
Music m_music
[AI] Currently selected music track in the Jukebox. [AI]
@ e_torpedos
[AI] "Torpedos" music track. [AI]
@ e_nelson
[AI] "Nelson" music track. [AI]
@ e_decal
[AI] "Decal" music track. [AI]
@ e_right
[AI] "Right" music track. [AI]
@ e_pasquell
[AI] "Pasquell" music track (default selection). [AI]
@ e_wallis
[AI] "Wallis" music track. [AI]
[AI] Represents the Jukebox world environment in the game—handles display, state, notifications,...
MxResult Tickle() override
[AI] Called by the tickle manager on update/tick events; manages per-frame logic such as input disabl...
~JukeBox() override
[AI] Destructor. Unregisters world from all managers and releases input/camera focus if currently set...
void ReadyWorld() override
[AI] Finalizes world setup, including enabling presenters for the currently selected music bitmap and...
void Enable(MxBool p_enable) override
[AI] Enables or disables input/control focus for the world (and sets input manager state accordingly)...
MxBool Escape() override
[AI] Handles request to exit the Jukebox world—sets destination for transition (will switch area on n...
MxResult Create(MxDSAction &p_dsAction) override
[AI] Sets up world state, registers input and control handlers, and initializes camera upon entry.
MxLong Notify(MxParam &p_param) override
[AI] Handles incoming notifications (such as control input and transition events) for the Jukebox wor...
[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.
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.
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_previousArea
Alias: go to previous area. [AI].
@ e_jukeboxw
Western Jukebox (special minigame). [AI].
@ e_jukeboxExterior
Jukebox, seen from outside. [AI].
@ 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]
virtual void Enable(MxBool p_enable)
Enables or disables (pauses) the world and its main components.
MxResult Tickle() override
Main world tick/update, especially manages startup countdown.
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.
MxResult Create(MxDSAction &p_dsAction) override
Initializes the world using an action, creating entity and sound lists, and camera controller.
[AI] Represents an action deserialized from SI chunks, holding key animation or script parameters suc...
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.
[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] 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...
virtual void UnregisterClient(MxCore *p_client)
[AI] Unregisters (marks for destruction) a previously registered client.
virtual void RegisterClient(MxCore *p_client, MxTime p_interval)
[AI] Registers an MxCore object to receive periodic tickles.
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.
#define DECOMP_SIZE_ASSERT(T, S)
#define NULL
[AI] Null pointer value (C/C++ semantics).
#define SUCCESS
[AI] Used to indicate a successful operation in result codes.
LegoGameState * GameState()
[AI] Accessor for the game's central game state controller. [AI]
MxTransitionManager * TransitionManager()
[AI] Accessor for the MxTransitionManager, handling level transitions, fades, and world changes....
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.
LegoInputManager * InputManager()
[AI] Accessor for the input manager, which handles keyboard, mouse, and controller input....
MxNotificationManager * NotificationManager()
[AI] Returns the notification manager for system-wide state/update notifications.
MxTickleManager * TickleManager()
[AI] Provides access to the global tickle manager.
@ c_notificationControl
[AI] UI control event [AI]
@ c_notificationTransitioned
[AI] Object has transitioned states or locations [AI]
@ c_Dback_Ctl
[AI] Script/control ID for "back" (rewind or previous) button in the interface. [AI]
@ c_Note_Ctl
[AI] Script/control ID for a "note" imagery/button. [AI]
@ c_Dfwd_Ctl
[AI] Script/control ID for "forward" (advance/next) button. [AI]