47 return "InfocenterState";
297 void InitializeBitmaps();
347 void UpdateFrameHot(
MxBool p_display);
388 void StopCurrentAction();
393 void PlayBookAnimation();
398 void StopBookAnimation();
408 MxS16 m_selectedCharacter;
453 MxS16 m_infoManDialogueTimer;
458 MxS16 m_bookAnimationTimer;
[AI] Represents the state of the Infocenter area, storing scripts, dialogue playlists and UI letter p...
Playlist m_leaveDialogue[3]
[AI] Playlists for leave dialogue, one per act (indices: 0=act1, 1=act2, 2=act3).
const char * ClassName() const override
[AI] Returns the runtime class name.
MxBool IsSerializable() override
[AI] Indicates the state is not serializable—InfocenterState is not saved to disk.
MxS16 GetMaxNameLength()
[AI] Returns the maximum number of letters in the UI registration name (always 7).
Playlist & GetExitDialogueAct23()
[AI] Returns the exit dialogue playlist for act 2 and 3.
Playlist m_exitDialogueAct1
[AI] Playlist of exit dialogue scripts for Act 1.
MxStillPresenter * m_letters[7]
[AI] UI presenters for each slot in the 7-letter name entry field (could be player's registered name)...
Playlist m_bricksterDialogue
[AI] Playlist for Brickster special dialogue events ("heckling").
Playlist & GetBricksterDialogue()
[AI] Returns the Brickster random interjection dialogue playlist.
void SetNameLetter(MxS32 p_index, MxStillPresenter *p_letter)
[AI] Sets the UI presenter for a specific name letter slot.
Playlist m_returnDialogue[3]
[AI] Playlists for return dialogue, one per act (indices: 0=act1, 1=act2, 2=act3).
Playlist & GetExitDialogueAct1()
[AI] Returns the exit dialogue playlist for act 1.
InfomainScript::Script GetNextReturnDialogue()
[AI] Gets the next "return" dialogue script for the current act, looping within the act's playlist.
Playlist m_exitDialogueAct23
[AI] Playlist of exit dialogue scripts for Act 2/3.
InfomainScript::Script GetNextLeaveDialogue()
[AI] Gets the next "leave" dialogue script for the current act, looping within the act's playlist.
MxBool HasRegistered()
[AI] True if any letter slot is filled (indicating the player has registered).
~InfocenterState() override
[AI] Destroys the InfocenterState, cleaning up letter presenters and their associated actions.
MxStillPresenter * GetNameLetter(MxS32 p_index)
[AI] Returns the pointer to the UI presenter for a specific letter in the name field.
MxU32 m_unk0x74
[AI] State machine variable tracking the Infocenter flow (e.g., 0=intro, 3=NA, 4=goto book,...
InfocenterState()
[AI] Constructs the InfocenterState, initializing all dialogue playlists and clearing letter pointers...
MxBool IsA(const char *p_name) const override
[AI] Type check for InfocenterState and base classes by name.
[AI] Manages Infocenter world logic, UI, cutscenes, dialogue, and area transitions.
MxResult Tickle() override
[AI] Advances the Infocenter tick/update logic (timers, dialogue triggers, animation triggers,...
Infocenter()
[AI] Constructs Infocenter world, initializes state and registers for notifications.
MxResult Create(MxDSAction &p_dsAction) override
[AI] Creates the Infocenter world and performs all Infocenter-specific setup logic.
MxBool Escape() override
[AI] Handles Escape key (or similar) logic—exits cutscenes, cancels credits, or advances dialog state...
MxLong Notify(MxParam &p_param) override
[AI] Handles all notifications/events for Infocenter, routing them to specialized handlers.
const char * ClassName() const override
[AI] Returns the runtime class name ("Infocenter").
MxBool VTable0x5c() override
[AI] Returns TRUE unconditionally.
void ReadyWorld() override
[AI] Loads initial Infocenter state and presents the background, name registration,...
MxBool IsA(const char *p_name) const override
[AI] Checks whether this object or any base is of type @p_name.
Cutscene
[AI] Enum for cutscene (movie) types played within Infocenter.
@ e_legoMovie
[AI] The LEGO logo intro movie.
@ e_noIntro
[AI] Sentinel for no movie/cutscene running.
@ e_badEndMovie
[AI] Bad ending cutscene.
@ e_introMovie
[AI] Main introduction movie.
@ e_mindscapeMovie
[AI] The Mindscape logo intro movie.
@ e_outroMovie
[AI] Generic outro (may reference any ending).
@ e_goodEndMovie
[AI] Good ending cutscene.
Character
[AI] Enum for characters selectable in the Infocenter (i.e., for player/avatar registration).
@ e_pepper
[AI] Pepper Roni.
@ e_mama
[AI] Mama Brickolini.
@ e_noCharacter
[AI] No selection.
@ e_laura
[AI] Laura Brick.
@ e_papa
[AI] Papa Brickolini.
~Infocenter() override
[AI] Destroys Infocenter world, unregisters and cleans up all state and UI/presenters.
void Enable(MxBool p_enable) override
[AI] Enables or disables the Infocenter world, managing input and activity appropriately.
[AI] Notification parameter for the LegoControlManager, used to propagate information about control e...
Act GetCurrentAct()
Returns the active act that is currently in play. [AI].
Area
Enumeration of all major in-game locations ("areas") for area/scene management and serialization.
[AI] Base class for game state blocks which encapsulate serializable and/or resettable aspects of the...
MxBool IsA(const char *p_name) const override
[AI] Tests if this object is of a given class name, directly or through inheritance.
Represents the active 3D world, holding all entity, animation, sound, path, and ROI objects.
MxBool IsA(const char *p_name) const override
Runtime type checking; checks class hierarchy.
[AI] Represents an action deserialized from SI chunks, holding key animation or script parameters suc...
[AI] Notification parameter marking the end of an action, specialization of MxActionNotificationParam...
[AI] Parameter object representing a single notification or event, carrying an identifier and sender ...
[AI] MxParam serves as a polymorphic base class for parameter passing in event and notification syste...
[AI] 2D rectangle class templated on its value type.
[AI] Presenter for single still image/bitmap media sources in the game.
[AI] High-level manager for the in-game radio, handling notifications, playing/stopping,...
#define NULL
[AI] Null pointer value (C/C++ semantics).
LegoGameState * GameState()
[AI] Accessor for the game's central game state controller. [AI]
[AI] Maps a UI region in the Infocenter to a destination presenter for glow effects.
undefined4 m_unk0x04
[AI] Action/group/area identifier; used for routing (e.g., 3=main, 10=boat, ...).
InfocenterMapEntry()
[AI] Default constructor, does not initialize members.
MxStillPresenter * m_destCtl
[AI] The bitmap/still presenter to enable/disable when the region is active.
MxRect< MxS32 > m_area
[AI] The rectangular screen area for this map entry.
[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.