142 for (
MxS16 i = 0; i < 5; i++) {
153 for (
MxS16 i = 0;; i++) {
[AI] Holds state and transient gameplay data for the first act on Lego Island.
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.
virtual void SetWorldSpeed(MxFloat p_worldSpeed)
[AI] Sets the current world speed value for this entity (used to control motion/animation rate).
Notification parameter class for LEGO event notifications such as mouse events and modifier keys.
void SwitchArea(Area p_area)
Switches the whole game state into a new area/world; manages transitions/scene loads.
void SetActorId(MxU8 p_actorId)
Directly sets the current actor ID (preferred: use SetActor).
MxU8 GetActorId()
Returns the current selected actor ID. [AI].
void RemoveActor()
Removes (and deletes) the current user actor from the world.
LegoState * GetState(const char *p_stateName)
Find an existing state (LegoState-derived) object by its registered script/class name.
@ e_undefined
Undefined or unset area. [AI].
void ResetMaxLinearVel(MxFloat p_maxLinearVel)
[AI] Resets the maximum allowed linear velocity and marks controller as using custom parameters.
virtual MxFloat GetMaxLinearVel()
[AI] Gets the maximum allowed navigation speed for this actor.
[AI] Specialized notification parameter used for path structure related events in LEGO Island.
[AI] Base class for all race-type LegoWorlds.
MxResult Create(MxDSAction &p_dsAction) override
[AI] Creates and initializes LegoRace world/logic for a DS action.
MxLong Notify(MxParam &p_param) override
[AI] Notification callback, dispatches events to various race handlers (click, end action,...
virtual MxLong HandlePathStruct(LegoPathStructNotificationParam &)
[AI] Handles "path struct" notifications (such as map changes or logic triggers for race boundaries).
virtual MxLong HandleEndAction(MxEndActionNotificationParam &)
[AI] Handles "end action" (e.g., finish line reached, cutscene ended) events for the race state logic...
LegoPathActor * m_pathActor
[AI] User's path actor for the race event.
void Enable(MxBool p_enable) override
[AI] Enables or disables the race world and detaches the user actor if switching away.
virtual MxLong HandleClick(LegoEventNotificationParam &)=0
[AI] Handles user click events within the race area.
LegoGameState::Area m_destLocation
[AI] Destination location (area to switch to after race/transition).
virtual MxLong HandleType0Notification(MxNotificationParam &)
[AI] Handles notification of type 0 (specific logic event), can be overridden for custom event proces...
Act1State * m_act1State
[AI] Pointer to Act1State (first act/sequence logic).
~LegoRace() override
[AI] Destructor.
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...
void Remove(MxCore *p_object)
Removes an object from all relevant world-managed lists or sets, and also detaches if needed.
virtual void Enable(MxBool p_enable)
Enables or disables (pauses) the world and its main components.
MxBool GetUnknown0xd0Empty()
Checks if the 'set0xd0' set is empty.
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.
[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...
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] Maintains persistent information about race progress, results, and high scores for up to five ra...
Entry m_state[5]
[AI] Entries for each tracked race/state (IDs 1..5).
MxResult Serialize(LegoStorage *p_storage) override
[AI] Serializes all race state entries to or from the given storage object.
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.
RaceState()
[AI] Constructs a RaceState, initializing all races with default values and IDs (1 through 5).
#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]
void SetUserActor(LegoPathActor *p_userActor)
[AI] Sets the user-controlled LegoPathActor in the engine.
LegoControlManager * ControlManager()
[AI] Accessor for the control manager through the input manager; manages higher-level user/game contr...
LegoNavController * NavController()
[AI] Accessor for the navigation controller, managing player/camera navigation. [AI]
LegoPathActor * UserActor()
[AI] Accessor for the user (player-controllable) LegoPathActor. [AI]
MxNotificationManager * NotificationManager()
[AI] Returns the notification manager for system-wide state/update notifications.
@ c_notificationTransitioned
[AI] Object has transitioned states or locations [AI]
@ c_notificationType0
[AI] Undefined/Generic notification type [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]
[AI] Entry for an individual race event/state, holding its identifier, unknown field,...
MxS16 m_unk0x02
[AI] Unknown field (usage unclear).
MxU8 m_id
[AI] Unique race or entry ID (1-based, up to 5).
MxResult Serialize(LegoStorage *p_storage)
[AI] Serializes or deserializes the entry using the specified LegoStorage.
MxS16 m_score
[AI] High score for this race/entry.