[AI] Holds state and transient gameplay data for the first act on Lego Island.
Notification parameter class for LEGO event notifications such as mouse events and modifier keys.
Area
Enumeration of all major in-game locations ("areas") for area/scene management and serialization.
[AI] An actor that moves along a predefined path, supporting boundary transitions,...
[AI] Specialized notification parameter used for path structure related events in LEGO Island.
[AI] Represents the world-space to screen-space mapping and rendering handler for the interactive rac...
[AI] Base class for all race-type LegoWorlds.
const char * ClassName() const override
[AI] Returns the runtime class name ("LegoRace") for type checks.
MxStillPresenter * m_unk0x128
[AI] Unknown, likely for presenting stills during race transitions or cutscenes.
MxResult Create(MxDSAction &p_dsAction) override
[AI] Creates and initializes LegoRace world/logic for a DS action.
MxBool Escape() override
[AI] Handles Escape input, which is intentionally disabled in race states for legacy reasons.
MxBool IsA(const char *p_name) const override
[AI] Runtime type check for this class (or parent LegoWorld).
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 void VTable0x7c(LegoRaceMap *p_map, MxU32 p_index)
[AI] Associates a race map instance to the maps array at the given index.
MxBool VTable0x5c() override
[AI] Indicates that custom "VTable0x5c" logic is enabled (always TRUE for LegoRace,...
MxS32 m_unk0x104
[AI] Unknown (race-specific state/control variable).
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.
MxS32 m_unk0x10c
[AI] Unknown (race-specific state/control variable).
RaceState * m_raceState
[AI] Stores persistent race state/results for the race world instance.
MxS32 m_unk0xfc
[AI] Unknown (race-specific state/control variable).
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).
LegoRace()
[AI] Default constructor.
static const char * HandlerClassName()
[AI] Gets the handler class name string for this class ("LegoRace").
virtual MxLong HandleType0Notification(MxNotificationParam &)
[AI] Handles notification of type 0 (specific logic event), can be overridden for custom event proces...
MxRect32 m_unk0x130
[AI] Unknown 32-bit rectangle, possible HUD/viewport region.
LegoRaceMap * m_maps[3]
[AI] Map objects used by this race (main, alternate, or lap variants).
Act1State * m_act1State
[AI] Pointer to Act1State (first act/sequence logic).
MxStillPresenter * m_unk0x12c
[AI] Unknown, likely for presenting stills during race transitions or cutscenes.
MxS32 m_unk0x100
[AI] Unknown (race-specific state/control variable).
~LegoRace() override
[AI] Destructor.
MxS32 m_unk0x108
[AI] Unknown (race-specific state/control variable).
MxS32 m_unk0xf8
[AI] Unknown (race-specific state/control variable).
[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.
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.
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] Rectangle using 32-bit signed integer coordinates.
[AI] Presenter for single still image/bitmap media sources in the game.
[AI] Maintains persistent information about race progress, results, and high scores for up to five ra...
const char * ClassName() const override
[AI] Returns the class name of the RaceState object ("RaceState").
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.
MxBool IsA(const char *p_name) const override
[AI] Checks if the object is exactly a RaceState or derived thereof, using class name string comparis...
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 FAILURE
[AI] Used to indicate a failed operation in result codes.
#define SUCCESS
[AI] Used to indicate a successful operation in result codes.
[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).
Entry()
[AI] Default constructor that initializes all fields to zero.
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.
MxS16 GetHighScore()
[AI] Retrieves the race entry's current high score.
MxS16 GetUnknown0x02()
[AI] Gets the unknown 0x02 field associated with this entry.