[AI] Controls all main logic and progression of Act 3 in LEGO Island, including objects, cutscenes, enemy and player actors, and event scheduling.
More...
|
| Act3 () |
| [AI] Initializes all mission-critical actors, resets world state, and sets up notification and navigation. More...
|
|
| ~Act3 () override |
| [AI] Cleans up world and unregisters from notifications, frees all owned data. More...
|
|
MxLong | Notify (MxParam &p_param) override |
| [AI] Handles notifications from other systems (animation, transition, audio, etc.). More...
|
|
MxResult | Tickle () override |
| [AI] Main tick/update—called on each game loop iteration to update state, advance animations, and sync objects. More...
|
|
MxBool | VTable0x5c () override |
| [AI] Always returns TRUE, notifies higher-level logic that Act 3 is always enabled for handing VTable0x5c queries. More...
|
|
const char * | ClassName () const override |
| [AI] Returns the class name string. More...
|
|
MxBool | IsA (const char *p_name) const override |
| [AI] Checks if the class name matches this class or any parent class. More...
|
|
MxResult | Create (MxDSAction &p_dsAction) override |
| [AI] World instancing method; sets up actors and notifies managers of state change. More...
|
|
void | Destroy (MxBool p_fromDestructor) override |
| [AI] Teardown logic for Act 3, unregisters from world and resets navigation/input. More...
|
|
void | ReadyWorld () override |
| [AI] Called when transitioning into Act 3; triggers state setup and intro animation/missions. More...
|
|
void | VTable0x60 () override |
| [AI] Empty implementation for Act3-specific state logic; present for interface fulfillment. More...
|
|
MxBool | Escape () override |
| [AI] Handles "escape" action (user attempts to leave/quit Act 3); cleans up state and halts audio/animation. More...
|
|
void | Enable (MxBool p_enable) override |
| [AI] Enables/Disables the world, handling time shifting/resume logic for all major actors in Act3. More...
|
|
void | SetHelicopter (Helicopter *p_copter) |
| [AI] Sets helicopter reference for main mission. More...
|
|
void | SetShark (Act3Shark *p_shark) |
| [AI] Sets Act3Shark reference for the current encounter. More...
|
|
void | SetDestLocation (LegoGameState::Area p_destLocation) |
| [AI] Sets the destination area/location for the next world switch. More...
|
|
void | EatPizza (MxS32 p_index) |
| [AI] Simulates eating (removing) a pizza from the world at the given index. More...
|
|
void | EatDonut (MxS32 p_index) |
| [AI] Simulates eating (removing) a donut from the world at the given index. More...
|
|
void | RemovePizza (Act3Ammo &p_p) |
| [AI] Removes given pizza actor and performs associated logic. More...
|
|
void | RemoveDonut (Act3Ammo &p_p) |
| [AI] Removes given donut actor and performs associated logic. More...
|
|
MxResult | ShootPizza (LegoPathController *p_controller, Vector3 &p_location, Vector3 &p_direction, Vector3 &p_up) |
| [AI] Attempts to launch a pizza as a projectile using the given controller and initial transform. More...
|
|
MxResult | ShootDonut (LegoPathController *p_controller, Vector3 &p_location, Vector3 &p_direction, Vector3 &p_up) |
| [AI] Attempts to launch a donut as a projectile using the given controller and initial transform. More...
|
|
void | FUN_10072ad0 (undefined4 p_param1) |
| [AI] Triggers special sequence actions or sounds depending on the provided param; cycles through queues. More...
|
|
MxResult | FUN_10073360 (Act3Ammo &p_ammo, const Vector3 &p_param2) |
| [AI] Triggers script/animation effects on the brickster for pizzas that impact him. More...
|
|
MxResult | FUN_10073390 (Act3Ammo &p_ammo, const Vector3 &p_param2) |
| [AI] Triggers script/animation effects on cops for donuts that impact them. More...
|
|
void | SetBrickster (Act3Brickster *p_brickster) |
| [AI] Sets the reference to the Brickster actor in this Act3 instance. More...
|
|
void | AddCop (Act3Cop *p_cop) |
| [AI] Registers a new cop, assigning to cop1 or cop2 as appropriate. More...
|
|
void | FUN_10073400 () |
| [AI] Moves Act3 and its state to next step/action in custom sequence (used for in-game cutscene transitions). More...
|
|
void | FUN_10073430 () |
| [AI] Moves Act3 and its state to a different step/action in custom sequence (used for in-game cutscene transitions). More...
|
|
void | GoodEnding (const Matrix4 &p_destination) |
| [AI] Handles victory logic for Act3 (good ending); disables enemy actors, clears lists, triggers copter animation to destination. More...
|
|
void | BadEnding (const Matrix4 &p_destination) |
| [AI] Handles loss logic for Act3 (bad ending); disables enemy actors, clears lists, triggers copter animation. More...
|
|
void | FUN_10073a60 () |
| [AI] Removes one helicopter dot from the HUD, used when the copter progresses or an event is triggered. More...
|
|
| LegoWorld () |
| Constructs a LegoWorld, initializing lists and notifying the notification manager. More...
|
|
| ~LegoWorld () override |
| Cleans up the world, destroying all held entities, presenters, and controllers. More...
|
|
MxLong | Notify (MxParam &p_param) override |
| Notification callback responding to registered events such as EndAction and NewPresenter. More...
|
|
MxResult | Tickle () override |
| Main world tick/update, especially manages startup countdown. More...
|
|
MxResult | Create (MxDSAction &p_dsAction) override |
| Initializes the world using an action, creating entity and sound lists, and camera controller. More...
|
|
void | Destroy (MxBool p_fromDestructor) override |
| Destroys the world and its contents, optionally called from the destructor. More...
|
|
virtual void | ReadyWorld () |
| Called when the world is ready to be used—typically for custom scene setup after startup. More...
|
|
virtual LegoCameraController * | VTable0x54 () |
| Initializes and returns the camera controller for the world; may create it on-demand. More...
|
|
virtual void | Add (MxCore *p_object) |
| Adds an object (entity, presenter, ROI, etc.) to the appropriate world-managed list or set. More...
|
|
virtual MxBool | VTable0x5c () |
| Potential "escape" action for world; returns FALSE by default, may be overridden in child worlds. More...
|
|
virtual void | VTable0x60 () |
| Placeholder/extensible virtual—default does nothing. More...
|
|
virtual MxBool | Escape () |
| Handles user-initiated "escape" or exit action. More...
|
|
virtual void | Enable (MxBool p_enable) |
| Enables or disables (pauses) the world and its main components. More...
|
|
const char * | ClassName () const override |
| Returns the class name for runtime type information and debugging. More...
|
|
MxBool | IsA (const char *p_name) const override |
| Runtime type checking; checks class hierarchy. More...
|
|
MxBool | PresentersPending () |
| Checks if there are any presenters pending to fully enter their tickle (animation) state. More...
|
|
void | Remove (MxCore *p_object) |
| Removes an object from all relevant world-managed lists or sets, and also detaches if needed. More...
|
|
MxResult | PlaceActor (LegoPathActor *p_actor, const char *p_name, MxS32 p_src, float p_srcScale, MxS32 p_dest, float p_destScale) |
| Places an actor along a path, from source to destination, using named references and scaling. More...
|
|
MxResult | PlaceActor (LegoPathActor *p_actor) |
| Places an actor using only its reference, using controller logic. More...
|
|
MxResult | PlaceActor (LegoPathActor *p_actor, LegoAnimPresenter *p_presenter, Vector3 &p_position, Vector3 &p_direction) |
| Places an actor using detailed presenter, position and direction. More...
|
|
void | RemoveActor (LegoPathActor *p_actor) |
| Removes an actor from all known path controllers. More...
|
|
MxBool | ActorExists (LegoPathActor *p_actor) |
| Determines if an actor already exists in any controller in this world. More...
|
|
void | FUN_1001fda0 (LegoAnimPresenter *p_presenter) |
| Forwards a presenter to all path controllers to perform a custom action (possibly hide, etc.). More...
|
|
void | FUN_1001fe90 (LegoAnimPresenter *p_presenter) |
| Forwards a presenter to all path controllers for another custom or state change action. More...
|
|
LegoPathBoundary * | FindPathBoundary (const char *p_name) |
| Finds a path boundary in all path controllers by name. More...
|
|
void | AddPath (LegoPathController *p_controller) |
| Adds a path controller to the world and calls its initialization with this. More...
|
|
MxResult | GetCurrPathInfo (LegoPathBoundary **p_boundaries, MxS32 &p_numL) |
| Gets information about the currently active path and boundaries. More...
|
|
MxCore * | Find (const char *p_class, const char *p_name) |
| Finds an object of a given class and name in the world. More...
|
|
MxCore * | Find (const MxAtomId &p_atom, MxS32 p_entityId) |
| Finds an object in the world by its atom id and entity id. More...
|
|
LegoCameraController * | GetCameraController () |
| Returns the current camera controller for the world. More...
|
|
LegoEntityList * | GetEntityList () |
| Returns the current list of entities. More...
|
|
LegoOmni::World | GetWorldId () |
| Gets the world id associated with this world. More...
|
|
MxBool | GetUnknown0xd0Empty () |
| Checks if the 'set0xd0' set is empty. More...
|
|
list< LegoROI * > & | GetROIList () |
| Gets the list of all ROIs (Real-time Object Instances) in the world. More...
|
|
LegoHideAnimPresenter * | GetHideAnimPresenter () |
| Gets the animation presenter responsible for hide animations in this world. More...
|
|
void | SetWorldId (LegoOmni::World p_worldId) |
| Sets the world id for this world instance. More...
|
|
| LegoEntity () |
| [AI] Default constructor. Initializes the LegoEntity with default values. [AI] More...
|
|
| ~LegoEntity () override |
| [AI] Destructor. Cleans up resources and ensures ROI and script state are released. [AI] More...
|
|
MxLong | Notify (MxParam &p_param) override |
| [AI] Handles event notification for the entity, most notably user clicks, using polymorphic dispatch. More...
|
|
const char * | ClassName () const override |
| [AI] Returns the class name string. Used in entity runtime type identification. [AI] More...
|
|
MxBool | IsA (const char *p_name) const override |
| [AI] Polymorphic type check for this entity given a string. More...
|
|
virtual MxResult | Create (MxDSAction &p_dsAction) |
| [AI] Initializes the entity from a DSAction object, typically from a script or file load. More...
|
|
virtual void | Destroy (MxBool p_fromDestructor) |
| [AI] Cleans up the entity, detaching ROI and releasing references. More...
|
|
virtual void | ParseAction (char *p_extra) |
| [AI] Parses an action description string (usually from script "extra" data) and sets up this entity's action state. More...
|
|
virtual void | SetROI (LegoROI *p_roi, MxBool p_bool1, MxBool p_bool2) |
| [AI] Assigns a 3D ROI (3D object instance) to this entity, controlling how it appears/acts in the world. More...
|
|
virtual void | SetWorldTransform (const Vector3 &p_location, const Vector3 &p_direction, const Vector3 &p_up) |
| [AI] Explicitly sets the world transformation (location, direction, up vector) for this entity. More...
|
|
virtual void | ResetWorldTransform (MxBool p_cameraFlag) |
| [AI] Resets the transformation for this entity (e.g., used with camera transitions). More...
|
|
virtual void | SetWorldSpeed (MxFloat p_worldSpeed) |
| [AI] Sets the current world speed value for this entity (used to control motion/animation rate). More...
|
|
virtual void | ClickSound (MxBool p_und) |
| [AI] Plays a click sound, typically in response to user/AI actions, according to entity type. More...
|
|
virtual void | ClickAnimation () |
| [AI] Plays a context-sensitive click animation, driven by current entity type and state. [AI] More...
|
|
virtual void | SwitchVariant () |
| [AI] Switches variants for this entity (e.g., different animation, mesh, or texture variant), based on type. [AI] More...
|
|
virtual void | SwitchSound () |
| [AI] Triggers a context-dependent audio/sound variant switch for this entity. [AI] More...
|
|
virtual void | SwitchMove () |
| [AI] Switches movement/animation variant for this entity, if applicable (e.g., walking/running state). [AI] More...
|
|
virtual void | SwitchColor (LegoROI *p_roi) |
| [AI] Switches the color or texture variant for this entity (or target ROI). More...
|
|
virtual void | SwitchMood () |
| [AI] Triggers a mood/state switch for this entity (if supported), often for characters. [AI] More...
|
|
void | FUN_10010c30 () |
| [AI] Updates the camera transformation when this entity is the camera target. Used after movement or position updates. [AI] More...
|
|
void | SetType (MxU8 p_type) |
| [AI] Sets the entity's type (actor/plant/building/etc.) [AI] More...
|
|
void | SetLocation (const Vector3 &p_location, const Vector3 &p_direction, const Vector3 &p_up, MxBool p_und) |
| [AI] Sets the world-space location, direction, and up, applying normalization and transformation. More...
|
|
Mx3DPointFloat | GetWorldDirection () |
| [AI] Gets the normalized world-space direction vector, optionally updating from ROI. [AI] More...
|
|
Mx3DPointFloat | GetWorldUp () |
| [AI] Gets the normalized world-space up vector, optionally updating from ROI. [AI] More...
|
|
Mx3DPointFloat | GetWorldPosition () |
| [AI] Gets the world-space position vector, optionally updating from ROI. [AI] More...
|
|
MxBool | GetUnknown0x10IsSet (MxU8 p_flag) |
| [AI] Checks if a bit flag in m_unk0x10 is set (purpose: state/animation suppression lock). More...
|
|
MxBool | GetFlagsIsSet (MxU8 p_flag) |
| [AI] Checks if a flag is set in the primary flags byte (m_flags). More...
|
|
MxU8 | GetFlags () |
| [AI] Returns the value of the flag byte. [AI] More...
|
|
MxFloat | GetWorldSpeed () |
| [AI] Gets the entity's current world speed state. [AI] More...
|
|
LegoROI * | GetROI () |
| [AI] Gets the ROI (Realtime Object Instance) associated with this entity. [AI] More...
|
|
MxU8 | GetType () |
| [AI] Gets the type of this entity (one of the enum Type values). [AI] More...
|
|
MxBool | GetCameraFlag () |
| [AI] Returns whether this entity is flagged as camera (affects world/camera synchronization). [AI] More...
|
|
void | SetFlags (MxU8 p_flags) |
| [AI] Sets all entity flags at once (replaces previous). More...
|
|
void | SetFlag (MxU8 p_flag) |
| [AI] Sets the given flag in the flags byte. More...
|
|
void | ClearFlag (MxU8 p_flag) |
| [AI] Clears the given flag in the flags byte. More...
|
|
void | SetUnknown0x10Flag (MxU8 p_flag) |
| [AI] Sets the given bit in the unknown (usually internal action suppression) flag byte. More...
|
|
void | ClearUnknown0x10Flag (MxU8 p_flag) |
| [AI] Clears the given bit in the unknown flag byte. More...
|
|
| MxEntity () |
| Default constructor. More...
|
|
| ~MxEntity () override |
| Virtual destructor for MxEntity. More...
|
|
const char * | ClassName () const override |
| Returns the class name for type introspection. More...
|
|
MxBool | IsA (const char *p_name) const override |
| Checks if the object is of the given class name or a parent type. More...
|
|
virtual MxResult | Create (MxS32 p_entityId, const MxAtomId &p_atomId) |
| Initializes the entity from a given entity ID and AtomId. More...
|
|
MxResult | Create (MxDSAction &p_dsAction) |
| Initializes the entity from a MxDSAction object. More...
|
|
MxS32 | GetEntityId () |
| Returns the current entity ID. More...
|
|
MxAtomId & | GetAtomId () |
| Returns a reference to the entity AtomId. More...
|
|
void | SetEntityId (MxS32 p_entityId) |
| Sets the entity ID to the given value. More...
|
|
void | SetAtomId (const MxAtomId &p_atomId) |
| Sets the AtomId to the given value. More...
|
|
| MxCore () |
| [AI] Constructs a new MxCore object and assigns it a unique id. More...
|
|
virtual | ~MxCore () |
| [AI] Virtual destructor. Required for correct polymorphic cleanup in derived classes. More...
|
|
virtual MxLong | Notify (MxParam &p_param) |
| [AI] Virtual callback notification mechanism. More...
|
|
virtual MxResult | Tickle () |
| [AI] Called by tickle managers to allow the object to update itself. More...
|
|
virtual const char * | ClassName () const |
| [AI] Returns the runtime class name of this object. More...
|
|
virtual MxBool | IsA (const char *p_name) const |
| [AI] Checks whether this object's class type or parents match the given name. More...
|
|
MxU32 | GetId () |
| [AI] Gets the unique (per-process) id assigned to this object instance. More...
|
|
|
Act3State * | m_state |
| [AI] Current persistent Act3 state (progress flags, etc.). More...
|
|
Act3Ammo | m_pizzas [MAX_PIZZAS] |
| [AI] All possible pizza projectiles/instances in flight for this sequence. More...
|
|
Act3Ammo | m_donuts [MAX_DONUTS] |
| [AI] All possible donuts in flight/active for Act3's special logic. More...
|
|
undefined | m_unk0x41fc |
| [AI] General flag, possibly "started" or "initialized". [AI_SUGGESTED_NAME: m_started] More...
|
|
Act3Cop * | m_cop1 |
| [AI] First cop involved in sequence (player/AI). More...
|
|
Act3Cop * | m_cop2 |
| [AI] Second cop, instantiated when both are present. More...
|
|
Act3Brickster * | m_brickster |
| [AI] Main antagonist. More...
|
|
Helicopter * | m_copter |
| [AI] Player's helicopter, main vehicle. More...
|
|
Act3Shark * | m_shark |
| [AI] Shark entity in the world, for special chase/attack scenes. More...
|
|
MxFloat | m_time |
| [AI] Used to track the time when Act3 was paused, and for actor resynchronization. More...
|
|
MxU8 | m_unk0x4218 |
| [AI] Index/counter for the first event-queue or script sequence. [AI_SUGGESTED_NAME: m_scriptIndex1] More...
|
|
MxU8 | m_unk0x4219 |
| [AI] Index/counter for the second event-queue or script sequence. [AI_SUGGESTED_NAME: m_scriptIndex2] More...
|
|
MxU8 | m_unk0x421a |
| [AI] Index/counter for third event-queue or script sequence. [AI_SUGGESTED_NAME: m_scriptIndex3] More...
|
|
MxU8 | m_unk0x421b |
| [AI] Index/counter for fourth event-queue or script sequence. [AI_SUGGESTED_NAME: m_scriptIndex4] More...
|
|
MxU8 | m_unk0x421c |
| [AI] Index/counter for fifth event-queue or script sequence. [AI_SUGGESTED_NAME: m_scriptIndex5] More...
|
|
MxU8 | m_unk0x421d |
| [AI] Index/counter for sixth event-queue or script sequence. [AI_SUGGESTED_NAME: m_scriptIndex6] More...
|
|
undefined | m_unk0x421e |
| [AI] Stores number of helicopter "dot" items to show on the HUD, decremented for bad/good ending. [AI_SUGGESTED_NAME: m_helicopterDotCount] More...
|
|
Act3List | m_unk0x4220 |
| [AI] Main queue/list for triggering and removing queued scripted actions. [AI_SUGGESTED_NAME: m_actionQueue] More...
|
|
MxPresenter * | m_helicopterDots [15] |
| [AI] Visual indicators for helicopter progress/UI. More...
|
|
Act3Script::Script | m_unk0x426c |
| [AI] Current animation or script in progress (for intro/finale). [AI_SUGGESTED_NAME: m_currentScript] More...
|
|
LegoGameState::Area | m_destLocation |
| [AI] Target world/area to switch to upon transition. Used for story progression. More...
|
|
LegoPathControllerList | m_pathControllerList |
| List of all path controllers currently managing pathing in this world. More...
|
|
MxPresenterList | m_animPresenters |
| List of active animation presenters (anims, hide/show, looping, etc.). More...
|
|
LegoCameraController * | m_cameraController |
| Camera controller for world's main view. More...
|
|
LegoEntityList * | m_entityList |
| List of all main world entities, such as actors and objects. More...
|
|
LegoCacheSoundList * | m_cacheSoundList |
| List of cached sounds for faster access during this world's lifetime. More...
|
|
MxBool | m_destroyed |
| Indicates if the world has been destroyed or is pending destruction. More...
|
|
MxCoreSet | m_set0xa8 |
| Set of 'auxiliary' objects, including presenters, that aren't core entity or animation, but still must be managed. More...
|
|
MxPresenterList | m_controlPresenters |
| List of control presenters (UI, input, cutscene control, etc.). More...
|
|
MxCoreSet | m_set0xd0 |
| Set of currently paused/disconnected objects when world is disabled. More...
|
|
list< LegoROI * > | m_roiList |
| List of all visible LegoROI objects in the world, used for rendering and selection. More...
|
|
LegoOmni::World | m_worldId |
| Currently assigned world id, corresponding to an enum in LegoOmni. More...
|
|
LegoHideAnimPresenter * | m_hideAnim |
| Animation presenter for ROI hide (vanish, fade, etc.) sequences. More...
|
|
MxS16 | m_startupTicks |
| Current world startup tick countdown—controls staged world startup logic. More...
|
|
MxBool | m_worldStarted |
| Indicates if the world has successfully started and is considered active. More...
|
|
undefined | m_unk0xf7 |
| Unknown, probably flags or padding. More...
|
|
MxU8 | m_unk0x10 |
| [AI] Unknown state/flag, used mainly to guard against repeated actions or manage animation/sound state. [AI] More...
|
|
MxU8 | m_flags |
| [AI] Primary entity flags (bitfield); tracks per-entity management status, internal update locks, etc. [AI] More...
|
|
Mx3DPointFloat | m_worldLocation |
| [AI] Entity location in world coordinates. [AI] More...
|
|
Mx3DPointFloat | m_worldDirection |
| [AI] Entity direction vector in world space (normalized). [AI] More...
|
|
Mx3DPointFloat | m_worldUp |
| [AI] Entity up vector in world space (normalized). [AI] More...
|
|
MxFloat | m_worldSpeed |
| [AI] World-relative speed (can affect animation/movement logic). [AI] More...
|
|
LegoROI * | m_roi |
| [AI] Pointer to this entity's currently assigned ROI (3D instance in the world). [AI] More...
|
|
MxBool | m_cameraFlag |
| [AI] Set to TRUE if this entity is currently the camera target. [AI] More...
|
|
MxU8 | m_type |
| [AI] The entity type (Type enum value). [AI] More...
|
|
Extra::ActionType | m_actionType |
| [AI] Action type, parsed from script/extra string (e.g., openram/run/exit); guides Notify() and click logic. [AI] More...
|
|
char * | m_siFile |
| [AI] When parsing ACTION command, this is the SI script/filename to execute (owned, heap-allocated). [AI] More...
|
|
MxS32 | m_targetEntityId |
| [AI] When parsing ACTION command, this is the target entity ID for the action (or -1 for none). [AI] More...
|
|
MxS32 | m_entityId |
| The unique entity ID, typically used for lookup and reference. More...
|
|
MxAtomId | m_atomId |
| The AtomId associated with this entity, used for resource and script identification. More...
|
|
[AI] Controls all main logic and progression of Act 3 in LEGO Island, including objects, cutscenes, enemy and player actors, and event scheduling.
Derives from LegoWorld. Manages state progression, scripted events, player/AI interaction, special actions, win/loss logic, and event synchronization. Acts as a controller for main sequence, tracks and manages special actors (cop, brickster, shark, helicopter), their states, and all in-world objects like pizzas/donuts.
SIZE 0x4274
Definition at line 182 of file act3.h.