424 MxU32 Beta0x10070520();
429 void StopActionIn0x344();
497 MxU8 m_presentersEnabled;
502 static MxS16 g_unk0x100f11cc;
507 static MxFloat g_unk0x100d65a4;
512 static MxFloat g_rotationAngleStepYAxis;
517 static LookupTableActions g_unk0x100d65b0[];
[AI] Represents a bounding sphere in 3D space with center and radius.
[AI] Handles the logic and animation presentation for the LEGO Island car-building activity,...
[AI] World implementation for the LEGO vehicle builder (Racecar, Copter, Dune Car,...
MxS16 GetPlacedPartCount()
[AI] Gets number of parts currently placed in build progress.
void FUN_10022f00()
[AI] Internal: handles transition when moving a placed part, possibly triggering state change.
MxResult Create(MxDSAction &p_dsAction) override
[AI] Creates world from script action; initializes build and assigns state according to area/car type...
MxS32 FUN_10025d70()
[AI] Gets next animation/cutscene ID depending on current build stage value.
void FUN_100243a0()
[AI] Handles the transition to the next act/location when building is complete.
LegoCarBuild()
[AI] Constructs a new LegoCarBuild world and initializes all references/UI.
MxBool IsA(const char *p_name) const override
[AI] Checks run-time type compatibility.
MxResult Tickle() override
[AI] Tickle function (called every frame/tick); processes build logic and part animation.
void FUN_10024f30()
[AI] Internal: Logic for the shelf-up UI animation/response.
virtual void VTable0x7c(MxFloat p_param1[2], MxFloat p_param2[3])
[AI] Adjusts transformation for part manipulation above the "default" reference.
virtual void VTable0x70()
[AI] Computes screen-projected coordinates for picking/placing parts and updates internal pixel locat...
void SetUnknown0x258(LegoCarBuildAnimPresenter *p_unk0x258)
[AI] Directly sets the animation presenter for this build world.
void FUN_10025350(MxS32 p_objectId)
[AI] Handles color/decal actions by object ID, mapping click to appropriate color or updating variabl...
void FUN_10025720(undefined4 p_param1)
[AI] Initiates the next world/cutscene/animation step, based on internal build progress and car ID.
void ReadyWorld() override
[AI] Prepares UI and scripting when world is ready.
undefined4 FUN_100244e0(MxLong p_x, MxLong p_y)
[AI] Handles mouse click/button down notifications to pick parts or trigger color/decal tools.
MxLong Notify(MxParam &p_param) override
[AI] Handles notifications (input, state, animation, world events) for the build world.
undefined4 FUN_10024c20(LegoEventNotificationParam *p_param)
[AI] Handles the core event when the build is completed and creation should be finalized.
MxBool Escape() override
[AI] Escapes from the build UI (initiates transition to outside world/menu).
void FUN_10024f50()
[AI] Internal: Handles part rotation/y-axis interaction.
virtual void VTable0x78(MxFloat p_param1[2], MxFloat p_param2[3])
[AI] Adjusts transformation for part manipulation when within the vertical bounds of the reference po...
virtual void VTable0x6c()
[AI] Internal logic, used during part drag/drop and animation (possibly for placing or updating a par...
virtual void VTable0x74(MxFloat p_param1[2], MxFloat p_param2[3])
[AI] Adjusts transformation for part manipulation based on mouse/drag locations below the "default" p...
void FUN_10022f30()
[AI] Internal: logic for finalizing or dropping a part at build location, updates sound and UI.
undefined4 FUN_10024250(LegoEventNotificationParam *p_param)
[AI] Handles keyboard event notifications, most notably the Space key for canceling animations or sou...
undefined4 FUN_10024890(MxParam *p_param)
[AI] Handles UI input/control presenter notifications.
const char * ClassName() const override
[AI] Returns the type string for this object.
void SetPlacedPartCount(MxU8 p_placedPartCount)
[AI] Sets the number of placed parts in the build state.
void InitPresenters()
[AI] Finds and initializes all presenters (UI and sound) used in the car build area.
void FUN_10025e40()
[AI] Re-applies enabled/disabled flags on presenters, resetting the last-toggled presenter if needed.
virtual void VTable0x80(MxFloat p_param1[2], MxFloat p_param2[2], MxFloat p_param3, MxFloat p_param4[2])
[AI] Used for conversions between projected and real pixel/world space.
Unknown0xf8
[AI] Special constants for internal state tracking of the build world.
@ c_unknownminusone
[AI] Default/uninitialized
@ c_unknown8
[AI] Internal marker
void FUN_100250e0(MxBool p_param)
[AI] Enables/Disables only the presenter set related to current part, using name pattern.
~LegoCarBuild() override
[AI] Cleans up presenters, unregisters input/notification handlers, and resets world build state.
MxBool VTable0x5c() override
[AI] Always returns TRUE; signals that this world can be entered.
void FUN_100236d0()
[AI] Internal: launches the finalization of all parts if build is completed; triggers further game pr...
undefined4 FUN_100246e0(MxLong p_x, MxLong p_y)
[AI] Handles mouse button up events; initiates part-finalization or validated placement.
void FUN_10025450()
[AI] Updates part transformation matrices and records old/new world/projected positions for drag/drop...
void FUN_10024f70(MxBool p_enabled)
[AI] Enables/Disables color/decal presenters depending on selected part and part name.
void TogglePresentersEnabled()
[AI] Toggles enabled/disabled state for all main presenters (color/decal tools).
MxS32 FUN_10025ee0(undefined4 p_param1)
[AI] Gets the appropriate jukebox/music action ID for the current car type, used when leaving the bui...
void Enable(MxBool p_enable) override
[AI] Enables or disables the world, handling both visual and audio states and input registration.
undefined4 FUN_10024480(MxActionNotificationParam *p_param)
[AI] Handles animation end notification action (e.g., volume restoration, state reset,...
void FUN_10025db0(const char *p_param1, undefined4 p_param2)
[AI] Controls global UI presentations actions (such as blinking or activation), based on progress in ...
MxS32 FUN_10024850(MxLong p_x, MxLong p_y)
[AI] Handles mouse move notifications for drag-to-place part.
void FUN_10025d10(MxS32 p_param)
[AI] Starts/stops an animation action for the specified parameter (e.g., cutscene transition,...
void FUN_10023130(MxLong p_x, MxLong p_y)
[AI] Internal: handles interaction when dragging part along projected axis.
void FUN_10024ef0()
[AI] Starts the cutscene or music intro for the build with necessary state adjustment.
void SetPresentersEnabled(MxBool p_enabled)
[AI] Controls common set of UI presenters' enabled state at once.
[AI] Notification parameter for the LegoControlManager, used to propagate information about control e...
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] Represents a Real-time Object Instance enriched with LEGO-specific functionality.
[AI] Base class for game state blocks which encapsulate serializable and/or resettable aspects of the...
Abstract base class providing an interface for file-like storage with binary and text read/write oper...
[AI] Represents the persistent state of the LEGO vehicle build world, tracking animation and part pla...
MxBool m_unk0x4d
[AI] Persists transition or completion flag across world reloads.
AnimationState m_animationState
[AI] Current animation state within the build area.
AnimationState
[AI] Enumerates the possible animation states for the build process.
@ e_exiting
[AI] Build area is in the process of ending/exiting.
@ e_entering
[AI] Transition/Entering the build area.
@ e_unknown4
[AI] Indicates transition to exit (possibly ready for world exit or next act).
@ e_cutscene
[AI] Indicates that the build is in a cutscene (camera or instructions animation).
@ e_unknown0
[AI] Default/uninitialized state. Meaning unclear.
@ e_unknown2
[AI] Likely a 'ready' or transitional state before a cutscene.
Playlist m_unk0x08[4]
[AI] Unused/unknown playlists per build? [AI_SUGGESTED_NAME: m_playlists] Unclear,...
MxResult Serialize(LegoStorage *p_storage) override
[AI] Serialize or deserialize the build state to/from a storage object for save/load.
MxBool m_unk0x4e
[AI] Unknown. Flag—purpose unclear.
MxString m_className
[AI] Class name string ("LegoRaceCarBuildState", etc), used for identifying the build state type.
const char * ClassName() const override
[AI] Returns the class name (run-time type string) for this object.
MxU8 m_placedPartCount
[AI] Number of parts (bricks) placed during the build.
MxBool IsA(const char *p_name) const override
[AI] Checks if the provided type name matches this class or any base class.
MxU8 m_unk0x4c
[AI] Number of completed actions or animation steps, incremented through build progress.
Represents the active 3D world, holding all entity, animation, sound, path, and ROI objects.
[AI] 4D point class for floating point values.
[AI] Notification parameter class that contains information about an MxDSAction, used for inter-objec...
[AI] Presenter for UI controls, supporting toggles, grids, and "map" style controls with multiple int...
[AI] Represents an action deserialized from SI chunks, holding key animation or script parameters suc...
[AI] Represents a 4x4 transformation matrix, specialized for the LEGO Island engine and derived from ...
[AI] MxParam serves as a polymorphic base class for parameter passing in event and notification syste...
[AI] Abstract base class for all presenter types in the LEGO Island engine, responsible for managing ...
[AI] Concrete presenter for sound playback and control within the LEGO Island engine.
[AI] Presenter for single still image/bitmap media sources in the game.
Mindscape custom string class for managing dynamic C-strings within the game engine.
typedef DWORD(FAR PASCAL *LPCLIPPERCALLBACK)(LPDIRECTDRAWCLIPPER lpDDClipper
LegoVehicleBuildState LegoRaceCarBuildState
[AI] Typedefs to support all vehicle variants using a single base build state class.
LegoVehicleBuildState LegoDuneCarBuildState
LegoVehicleBuildState LegoJetskiBuildState
LegoVehicleBuildState LegoCopterBuildState
[AI] Lookup table for animation/action IDs for vehicle types.
undefined4 m_unk0x18
[AI] Script/action ID for animation 6.
undefined4 m_unk0x10
[AI] Script/action ID for animation 4.
undefined4 m_unk0x00
[AI] Script/action ID for animation 0.
undefined4 m_unk0x08
[AI] Script/action ID for animation 2.
undefined4 m_unk0x0c
[AI] Script/action ID for animation 3.
undefined4 m_unk0x04
[AI] Script/action ID for animation 1.
undefined4 m_unk0x14
[AI] Script/action ID for animation 5.
[AI] Playlist structure representing an indexed list of object IDs with next-item selection strategie...