[AI] Represents the door world for the information center, handling control, transitions and area swi...
MxBool Escape() override
[AI] Handles ESC key (or game escape) in the InfocenterDoor world.
MxLong Notify(MxParam &p_param) override
[AI] Handles notifications for actions ending, control input, and transitions in this world.
void Enable(MxBool p_enable) override
[AI] Enables or disables the world, controlling input routing and world state.
void ReadyWorld() override
[AI] Prepares the world for entry.
MxResult Create(MxDSAction &p_dsAction) override
[AI] Creates the InfocenterDoor world from a script action and sets up input/control handlers.
~InfocenterDoor() override
[AI] Cleans up InfocenterDoor, unregistering from control/notification managers and updating input st...
[AI] Represents the state of the Infocenter area, storing scripts, dialogue playlists and UI letter p...
MxBool HasRegistered()
[AI] True if any letter slot is filled (indicating the player has registered).
[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].
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_infoscor
Info Center hi-score area. [AI].
@ e_undefined
Undefined or unset area. [AI].
@ e_unk4
Unknown / possibly reserved. [AI].
@ e_elevbott
Elevator bottom. [AI].
@ e_infodoor
Info Center door/title view. [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 ReadyWorld()
Called when the world is ready to be used—typically for custom scene setup after startup.
virtual void Enable(MxBool p_enable)
Enables or disables (pauses) the world and its main components.
MxBool m_worldStarted
Indicates if the world has successfully started and is considered active.
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.
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...
[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).
[AI] Notification parameter marking the end of an action, specialization of MxActionNotificationParam...
MxAtomId & GetAtomId()
Returns a reference to the entity AtomId.
MxAtomId m_atomId
The AtomId associated with this entity, used for resource and script identification.
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...
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 SUCCESS
[AI] Used to indicate a successful operation in result codes.
LegoGameState * GameState()
[AI] Accessor for the game's central game state controller. [AI]
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....
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 PlayMusic(JukeboxScript::Script p_objectId)
[AI] Starts music playback by scripting the background audio manager to play the music piece referenc...
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.
MxNotificationManager * NotificationManager()
[AI] Returns the notification manager for system-wide state/update notifications.
@ c_notificationControl
[AI] UI control event [AI]
@ c_notificationTransitioned
[AI] Object has transitioned states or locations [AI]
@ c_notificationEndAction
[AI] Indicates the end of an action [AI]
@ c_iic007in_PlayWav
[AI] Plays a .wav sound effect indexed at 007in. [SI file: iic007in_PlayWav]
@ c_LeftArrow_Ctl
[AI] Handles left arrow button control. [SI file: LeftArrow_Ctl]
@ c_Info_Ctl
[AI] Handles info button control. [SI file: Info_Ctl]
@ c_Door_Ctl
[AI] Handles door button control. [SI file: Door_Ctl]
@ c_RightArrow_Ctl
[AI] Handles right arrow button control. [SI file: RightArrow_Ctl]
@ c_iic037in_PlayWav
[AI] Plays a .wav sound effect indexed at 037in. [SI file: iic037in_PlayWav]
@ c_InformationCenter_Music
[AI] Background music for the information center.
[AI] Contains global script AtomId pointers and utility functions for managing script AtomIds in LEGO...
MxAtomId * g_infodoorScript
[AI] Script AtomId for the Info Center door logic script.