Isle
Loading...
Searching...
No Matches
Isle Class Reference

[AI] Represents the main overworld (LEGO Island) in the game, acting as the central hub and state machine for act transitions, minigames, elevators, mouse input, and audio/trigger/dialogue management. More...

#include <isle.h>

Inheritance diagram for Isle:
Collaboration diagram for Isle:

Public Types

enum  { c_playCamAnims = 0x20 , c_playMusic = 0x40 }
 [AI] Bitmask options controlling various world behaviors. More...
 
- Public Types inherited from LegoWorld
enum  StartupTicks {
  e_start = 0 , e_one , e_two , e_three ,
  e_four
}
 Ticks for world startup sequencing. More...
 
- Public Types inherited from LegoEntity
enum  Type {
  e_actor = 0 , e_unk1 , e_plant , e_building ,
  e_autoROI
}
 [AI] Types of LegoEntity (Actor, Plant, Building, Auto ROI, etc.) [AI] More...
 
enum  { c_bit1 = 0x01 , c_managerOwned = 0x02 }
 [AI] Bit flag constants for entity state management [AI] More...
 
enum  { c_altBit1 = 0x01 }
 [AI] Secondary bit flag constants [AI] More...
 

Public Member Functions

 Isle ()
 [AI] Creates a new Isle world, initializing all vehicle pointers, radio, and registering for notifications. More...
 
 ~Isle () override
 [AI] Cleans up Isle world, unregistering notifications and releasing allocated resources/pointer state. [AI] More...
 
MxLong Notify (MxParam &p_param) override
 [AI] Handles incoming notifications from various event sources, dispatches to specialized handlers where required. More...
 
MxBool VTable0x5c () override
 [AI] Returns TRUE, marks Isle as valid for 0x5c world-table vtable slot (possibly is-player-world check). More...
 
const char * ClassName () const override
 [AI] Returns class name as string literal for RTTI. More...
 
MxBool IsA (const char *p_name) const override
 [AI] Returns whether this or a base class matches the string argument. More...
 
MxResult Create (MxDSAction &p_dsAction) override
 [AI] Sets up the Isle world based on the given MxDSAction (content/scene/act loading entry). More...
 
void ReadyWorld () override
 [AI] Prepares the world for play, switching areas if needed and handling music, cutscene, and actor restoration. More...
 
void Add (MxCore *p_object) override
 [AI] Adds an object/actor to the Isle world, binding pointers for special-cased vehicles or entities. More...
 
void VTable0x60 () override
 [AI] Stub function slot; no operation in current implementation. [AI] More...
 
MxBool Escape () override
 [AI] Handles exiting from this world (Escape key, area transition, etc.). Manages background audio/scene/actor deactivation. More...
 
void Enable (MxBool p_enable) override
 [AI] Enables or disables Isle world objects/logic, forcibly setting input and world activation status, and (re)placing actors as needed. More...
 
virtual void VTable0x6c (LegoPathActor *p_actor)
 [AI] Removes a path-based actor (vehicle, etc.) from the Isle world and unbinds pointers as needed. More...
 
void SetDestLocation (LegoGameState::Area p_destLocation)
 [AI] Sets destination location for world transitions (are used after certain cutscenes/buttons). More...
 
MxBool HasHelicopter ()
 [AI] Returns TRUE if the helicopter is currently present and assigned in this world. More...
 
void FUN_10033350 ()
 [AI] Performs world cleanup related to transitions and resets (see source for transition/actor logic). More...
 
- Public Member Functions inherited from LegoWorld
 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 LegoCameraControllerVTable0x54 ()
 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...
 
LegoPathBoundaryFindPathBoundary (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...
 
MxCoreFind (const char *p_class, const char *p_name)
 Finds an object of a given class and name in the world. More...
 
MxCoreFind (const MxAtomId &p_atom, MxS32 p_entityId)
 Finds an object in the world by its atom id and entity id. More...
 
LegoCameraControllerGetCameraController ()
 Returns the current camera controller for the world. More...
 
LegoEntityListGetEntityList ()
 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...
 
LegoHideAnimPresenterGetHideAnimPresenter ()
 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...
 
- Public Member Functions inherited from LegoEntity
 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...
 
LegoROIGetROI ()
 [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...
 
- Public Member Functions inherited from MxEntity
 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...
 
MxAtomIdGetAtomId ()
 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...
 
- Public Member Functions inherited from MxCore
 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...
 

Protected Member Functions

MxLong HandleEndAction (MxEndActionNotificationParam &p_param)
 [AI] Processes notifications marking the end of actions (animations, audio, transitions), dispatches handling for major sub-states (e.g. More...
 
MxLong HandleControl (LegoControlManagerNotificationParam &p_param)
 [AI] Processes control notifications (e.g., elevator, arrow buttons, environment toggles), calling appropriate actions and state transitions. More...
 
MxLong HandlePathStruct (LegoPathStructNotificationParam &p_param)
 [AI] Dispatches Lego path structure notifications (actor/path region completed, unique triggers) to vehicles/entities, triggering animations as needed. More...
 
MxLong HandleTransitionEnd ()
 [AI] Handles transitions for all destination logic (scene swaps with audio/video cut, cursor, user actor restoration, post-transition event logic). More...
 
void HandleElevatorEndAction ()
 [AI] Handles the completion of elevator actions, progressing the game/area as appropriate for the current floor. More...
 
void UpdateGlobe ()
 [AI] Updates the globe UI in the observation area, enabling the correct presenter's bitmap representing the current sun position. More...
 
void FUN_10032620 ()
 [AI] Internal utility to setup camera/actor state after some transitions (e.g., resets view and spawns appropriate IslePathActor in race/exterior spots). More...
 
void CreateState ()
 [AI] Reinstantiates/reset the play state in all child objects (radio, vehicles, pizzeria, etc.) and recreates missing Act1State if needed. More...
 
void FUN_10032d30 (IsleScript::Script p_script, JukeboxScript::Script p_music, const char *p_cameraLocation, MxBool p_und)
 [AI] Facilitates transitions with visual and audio state, camera positioning and palette reset for the given script/music/camera area. More...
 
- Protected Member Functions inherited from LegoEntity
void Init ()
 [AI] Initializes the entity's members to default/neutral values (utility for constructors and resets). [AI] More...
 
void SetWorld ()
 [AI] Registers/attaches this entity to the current world if not already; called on create or location change. [AI] More...
 

Protected Attributes

Act1Statem_act1state
 [AI] Points to active Act1State, holding currently serialized vehicle and gameplay data. More...
 
Pizzam_pizza
 [AI] Pointer to pizza actor. More...
 
Pizzeriam_pizzeria
 [AI] Pointer to pizzeria scene. More...
 
TowTrackm_towtrack
 [AI] Pointer to tow track actor. More...
 
Ambulancem_ambulance
 [AI] Pointer to ambulance actor. More...
 
JukeBoxEntitym_jukebox
 [AI] Pointer to in-world jukebox entity. More...
 
Helicopterm_helicopter
 [AI] Pointer to helicopter actor (if present). More...
 
Bikem_bike
 [AI] Pointer to bike actor. More...
 
DuneBuggym_dunebuggy
 [AI] Pointer to dune buggy actor. More...
 
Motocyclem_motocycle
 [AI] Pointer to motorcycle actor. More...
 
SkateBoardm_skateboard
 [AI] Pointer to skateboard actor. More...
 
RaceCarm_racecar
 [AI] Pointer to racecar actor. More...
 
Jetskim_jetski
 [AI] Pointer to jetski actor. More...
 
Radio m_radio
 [AI] In-world radio/audio playback manager. More...
 
LegoGameState::Area m_destLocation
 [AI] Next requested world/area to transition to after animation/dialogue/cutscene currently in progress. More...
 
- Protected Attributes inherited from LegoWorld
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...
 
LegoCameraControllerm_cameraController
 Camera controller for world's main view. More...
 
LegoEntityListm_entityList
 List of all main world entities, such as actors and objects. More...
 
LegoCacheSoundListm_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...
 
LegoHideAnimPresenterm_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...
 
- Protected Attributes inherited from LegoEntity
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...
 
LegoROIm_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...
 
- Protected Attributes inherited from MxEntity
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...
 

Friends

class Act1State
 

Detailed Description

[AI] Represents the main overworld (LEGO Island) in the game, acting as the central hub and state machine for act transitions, minigames, elevators, mouse input, and audio/trigger/dialogue management.

Derived from LegoWorld. [AI]

[AI] Holds all pointers to world-placed vehicles, audio systems, state transitions. Handles notifications, transitions, cutscenes, and state loading for entire "island" world.

Definition at line 179 of file isle.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

[AI] Bitmask options controlling various world behaviors.

Enumerator
c_playCamAnims 

[AI] If set, enables camera animation sequences.

c_playMusic 

[AI] If set, background music plays.

Definition at line 182 of file isle.h.

Constructor & Destructor Documentation

◆ Isle()

Isle::Isle ( )

[AI] Creates a new Isle world, initializing all vehicle pointers, radio, and registering for notifications.

Definition at line 53 of file isle.cpp.

◆ ~Isle()

Isle::~Isle ( )
override

[AI] Cleans up Isle world, unregistering notifications and releasing allocated resources/pointer state. [AI]

Definition at line 74 of file isle.cpp.

Member Function Documentation

◆ Add()

void Isle::Add ( MxCore p_object)
overridevirtual

[AI] Adds an object/actor to the Isle world, binding pointers for special-cased vehicles or entities.

Parameters
p_object[AI] Object (vehicle, character, etc.) to add to the world.

Reimplemented from LegoWorld.

Definition at line 1103 of file isle.cpp.

◆ ClassName()

const char * Isle::ClassName ( ) const
overridevirtual

[AI] Returns class name as string literal for RTTI.

Reimplemented from MxCore.

◆ Create()

MxResult Isle::Create ( MxDSAction p_dsAction)
overridevirtual

[AI] Sets up the Isle world based on the given MxDSAction (content/scene/act loading entry).

Registers input, resets palette, loads act state.

Parameters
p_dsAction[AI] Action reference for initializing world (e.g., loaded script/scene).

Reimplemented from LegoEntity.

Definition at line 91 of file isle.cpp.

◆ CreateState()

void Isle::CreateState ( )
protected

[AI] Reinstantiates/reset the play state in all child objects (radio, vehicles, pizzeria, etc.) and recreates missing Act1State if needed.

Definition at line 1165 of file isle.cpp.

◆ Enable()

void Isle::Enable ( MxBool  p_enable)
overridevirtual

[AI] Enables or disables Isle world objects/logic, forcibly setting input and world activation status, and (re)placing actors as needed.

Parameters
p_enable[AI] TRUE to enable world and initialize, FALSE to disable/reset world.

Reimplemented from LegoWorld.

Definition at line 530 of file isle.cpp.

◆ Escape()

MxBool Isle::Escape ( )
overridevirtual

[AI] Handles exiting from this world (Escape key, area transition, etc.). Manages background audio/scene/actor deactivation.

Reimplemented from LegoWorld.

Definition at line 1191 of file isle.cpp.

◆ FUN_10032620()

void Isle::FUN_10032620 ( )
protected

[AI] Internal utility to setup camera/actor state after some transitions (e.g., resets view and spawns appropriate IslePathActor in race/exterior spots).

Definition at line 861 of file isle.cpp.

◆ FUN_10032d30()

void Isle::FUN_10032d30 ( IsleScript::Script  p_script,
JukeboxScript::Script  p_music,
const char *  p_cameraLocation,
MxBool  p_und 
)
protected

[AI] Facilitates transitions with visual and audio state, camera positioning and palette reset for the given script/music/camera area.

Parameters
p_script[AI] Script to invoke for cutscene/transition.
p_music[AI] Music to play for the transition.
p_cameraLocation[AI] Camera string for positioning (may be NULL).
p_und[AI] TRUE to reset camera to world default, FALSE for explicit transition.

Definition at line 1059 of file isle.cpp.

◆ FUN_10033350()

void Isle::FUN_10033350 ( )

[AI] Performs world cleanup related to transitions and resets (see source for transition/actor logic).

Definition at line 1248 of file isle.cpp.

◆ HandleControl()

MxLong Isle::HandleControl ( LegoControlManagerNotificationParam p_param)
protected

[AI] Processes control notifications (e.g., elevator, arrow buttons, environment toggles), calling appropriate actions and state transitions.

Parameters
p_param[AI] Notification parameter for control operation.

Definition at line 285 of file isle.cpp.

◆ HandleElevatorEndAction()

void Isle::HandleElevatorEndAction ( )
protected

[AI] Handles the completion of elevator actions, progressing the game/area as appropriate for the current floor.

Definition at line 238 of file isle.cpp.

◆ HandleEndAction()

MxLong Isle::HandleEndAction ( MxEndActionNotificationParam p_param)
protected

[AI] Processes notifications marking the end of actions (animations, audio, transitions), dispatches handling for major sub-states (e.g.

ambulance, pizza, radio).

Parameters
p_param[AI] Notification parameter describing the finished action.

Definition at line 186 of file isle.cpp.

◆ HandlePathStruct()

MxLong Isle::HandlePathStruct ( LegoPathStructNotificationParam p_param)
protected

[AI] Dispatches Lego path structure notifications (actor/path region completed, unique triggers) to vehicles/entities, triggering animations as needed.

Parameters
p_param[AI] Path struct notification param (contains data ID for case switches).

Definition at line 468 of file isle.cpp.

◆ HandleTransitionEnd()

MxLong Isle::HandleTransitionEnd ( )
protected

[AI] Handles transitions for all destination logic (scene swaps with audio/video cut, cursor, user actor restoration, post-transition event logic).

Definition at line 894 of file isle.cpp.

◆ HasHelicopter()

MxBool Isle::HasHelicopter ( )
inline

[AI] Returns TRUE if the helicopter is currently present and assigned in this world.

Definition at line 237 of file isle.h.

◆ IsA()

MxBool Isle::IsA ( const char *  p_name) const
overridevirtual

[AI] Returns whether this or a base class matches the string argument.

Parameters
p_name[AI] Name of class to check against.

Reimplemented from MxCore.

◆ Notify()

MxLong Isle::Notify ( MxParam p_param)
overridevirtual

[AI] Handles incoming notifications from various event sources, dispatches to specialized handlers where required.

[AI]

Parameters
p_param[AI] Parameter containing notification event and data.

Reimplemented from MxCore.

Definition at line 132 of file isle.cpp.

◆ ReadyWorld()

void Isle::ReadyWorld ( )
overridevirtual

[AI] Prepares the world for play, switching areas if needed and handling music, cutscene, and actor restoration.

Reimplemented from LegoWorld.

Definition at line 267 of file isle.cpp.

◆ SetDestLocation()

void Isle::SetDestLocation ( LegoGameState::Area  p_destLocation)
inline

[AI] Sets destination location for world transitions (are used after certain cutscenes/buttons).

Parameters
p_destLocation[AI] The next intended world/area to transition to.

Definition at line 234 of file isle.h.

◆ UpdateGlobe()

void Isle::UpdateGlobe ( )
protected

[AI] Updates the globe UI in the observation area, enabling the correct presenter's bitmap representing the current sun position.

Definition at line 453 of file isle.cpp.

◆ VTable0x5c()

MxBool Isle::VTable0x5c ( )
inlineoverridevirtual

[AI] Returns TRUE, marks Isle as valid for 0x5c world-table vtable slot (possibly is-player-world check).

Reimplemented from LegoWorld.

Definition at line 198 of file isle.h.

◆ VTable0x60()

void Isle::VTable0x60 ( )
overridevirtual

[AI] Stub function slot; no operation in current implementation. [AI]

Reimplemented from LegoWorld.

Definition at line 1185 of file isle.cpp.

◆ VTable0x6c()

void Isle::VTable0x6c ( LegoPathActor p_actor)
virtual

[AI] Removes a path-based actor (vehicle, etc.) from the Isle world and unbinds pointers as needed.

Parameters
p_actor[AI] Actor to remove from world and pointer table.

Definition at line 1146 of file isle.cpp.

Friends And Related Function Documentation

◆ Act1State

friend class Act1State
friend

Definition at line 242 of file isle.h.

Member Data Documentation

◆ m_act1state

Act1State* Isle::m_act1state
protected

[AI] Points to active Act1State, holding currently serialized vehicle and gameplay data.

Definition at line 285 of file isle.h.

◆ m_ambulance

Ambulance* Isle::m_ambulance
protected

[AI] Pointer to ambulance actor.

Definition at line 297 of file isle.h.

◆ m_bike

Bike* Isle::m_bike
protected

[AI] Pointer to bike actor.

Definition at line 306 of file isle.h.

◆ m_destLocation

LegoGameState::Area Isle::m_destLocation
protected

[AI] Next requested world/area to transition to after animation/dialogue/cutscene currently in progress.

Definition at line 327 of file isle.h.

◆ m_dunebuggy

DuneBuggy* Isle::m_dunebuggy
protected

[AI] Pointer to dune buggy actor.

Definition at line 309 of file isle.h.

◆ m_helicopter

Helicopter* Isle::m_helicopter
protected

[AI] Pointer to helicopter actor (if present).

Definition at line 303 of file isle.h.

◆ m_jetski

Jetski* Isle::m_jetski
protected

[AI] Pointer to jetski actor.

Definition at line 321 of file isle.h.

◆ m_jukebox

JukeBoxEntity* Isle::m_jukebox
protected

[AI] Pointer to in-world jukebox entity.

Definition at line 300 of file isle.h.

◆ m_motocycle

Motocycle* Isle::m_motocycle
protected

[AI] Pointer to motorcycle actor.

Definition at line 312 of file isle.h.

◆ m_pizza

Pizza* Isle::m_pizza
protected

[AI] Pointer to pizza actor.

Definition at line 288 of file isle.h.

◆ m_pizzeria

Pizzeria* Isle::m_pizzeria
protected

[AI] Pointer to pizzeria scene.

Definition at line 291 of file isle.h.

◆ m_racecar

RaceCar* Isle::m_racecar
protected

[AI] Pointer to racecar actor.

Definition at line 318 of file isle.h.

◆ m_radio

Radio Isle::m_radio
protected

[AI] In-world radio/audio playback manager.

Definition at line 324 of file isle.h.

◆ m_skateboard

SkateBoard* Isle::m_skateboard
protected

[AI] Pointer to skateboard actor.

Definition at line 315 of file isle.h.

◆ m_towtrack

TowTrack* Isle::m_towtrack
protected

[AI] Pointer to tow track actor.

Definition at line 294 of file isle.h.


The documentation for this class was generated from the following files: