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

[AI] Central hub singleton for the LEGO Island game engine, managing all core game systems, state, world switching, and providing high-level access to all major engine subsystems. More...

#include <legomain.h>

Inheritance diagram for LegoOmni:
Collaboration diagram for LegoOmni:

Classes

struct  WorldContainer
 [AI] Associates a world enum, key, and AtomId for dynamic world lookup, Atom-based registry, and key-string identification. More...
 

Public Types

enum  { c_disableInput = 0x01 , c_disable3d = 0x02 , c_clearScreen = 0x04 }
 
enum  World {
  e_undefined = -1 , e_act1 = 0 , e_imain , e_icube ,
  e_ireg , e_ielev , e_iisle , e_hosp ,
  e_police , e_gmain , e_bldh , e_bldd ,
  e_bldj , e_bldr , e_racc , e_racj ,
  e_act2 , e_act3 , e_test , e_numWorlds = e_test + 2
}
 [AI] Identifiers for all unique, script-driven world environments in LEGO Island. More...
 

Public Member Functions

 LegoOmni ()
 [AI] Constructs the LegoOmni singleton and initializes all internal pointers to NULL/default state. More...
 
 ~LegoOmni () override
 [AI] Tears down LegoOmni, deleting or unregistering all major owned game systems and registry lists. More...
 
MxLong Notify (MxParam &p_param) override
 [AI] Handles notification messages sent to the engine, including EndAction notifications for quitting, etc. More...
 
const char * ClassName () const override
 [AI] Returns a static string identifying this class for runtime type checking. More...
 
MxBool IsA (const char *p_name) const override
 [AI] Performs runtime type checking, supporting inheritance. More...
 
void Init () override
 [AI] Performs LegoOmni member and subsystem initialization. More...
 
MxResult Create (MxOmniCreateParam &p_param) override
 [AI] Creates and initializes all subsystems for the game, wiring up all managers and attaching Lego-specific logic. More...
 
void Destroy () override
 [AI] Shuts down and deletes all owned game managers, variable tables, registry lists and Lego subsystems. More...
 
MxResult Start (MxDSAction *p_dsAction) override
 [AI] Begins executing the specified DSAction/script in the context of the current world/state. More...
 
void DeleteObject (MxDSAction &p_dsAction) override
 [AI] Deletes an entity or world referenced by the given DSAction (by object and Atom), cascading to removal in current world. More...
 
MxBool DoesEntityExist (MxDSAction &p_dsAction) override
 [AI] Checks if the entity described by the DSAction does NOT exist in worlds (true if not found, false if found). More...
 
MxEntityAddToWorld (const char *p_id, MxS32 p_entityId, MxPresenter *p_presenter) override
 [AI] Adds an entity presenter to the specified world (by id or current). More...
 
void NotifyCurrentEntity (const MxNotificationParam &p_param) override
 [AI] Sends notification to the currently active world. More...
 
void Pause () override
 [AI] Pauses the engine/game state and sets busy cursor. More...
 
void Resume () override
 [AI] Resumes engine/game state and sets default cursor. More...
 
LegoWorldFindWorld (const MxAtomId &p_atom, MxS32 p_entityid)
 [AI] Finds and returns the LegoWorld by AtomId and/or entity id. More...
 
LegoROIFindROI (const char *p_name)
 [AI] Finds a top-level LegoROI (region of interest/3D object) by name string. More...
 
void AddWorld (LegoWorld *p_world)
 [AI] Appends a LegoWorld to the active world list, acquiring ownership. More...
 
void DeleteWorld (LegoWorld *p_world)
 [AI] Deletes (and removes from registry) a LegoWorld, deleting all resources. More...
 
void FUN_1005b4f0 (MxBool p_disable, MxU16 p_flags)
 [AI] Enables or disables input/3d/screen clearing in a single call, based on flags. More...
 
void CreateBackgroundAudio ()
 [AI] Initializes background audio manager and starts music using global script. More...
 
void RemoveWorld (const MxAtomId &p_atom, MxLong p_objectId)
 [AI] Removes worlds by Atom and/or id, deleting matching entries from the world list and freeing resources. More...
 
MxResult RegisterWorlds ()
 [AI] Registers all builtin worlds/scripts into the world's Atom/registry list (m_worlds). More...
 
const char * GetWorldName (LegoOmni::World p_id)
 [AI] Looks up and returns the registered world key for a world id. More...
 
MxAtomIdGetWorldAtom (LegoOmni::World p_id)
 [AI] Looks up and returns the AtomId of a world by its enum id. More...
 
World GetWorldId (const char *p_key)
 [AI] Looks up a World enum id from its string key. More...
 
void DeleteAction ()
 [AI] Deletes and clears the current DSAction used for world/entity tracking. More...
 
LegoVideoManagerGetVideoManager ()
 [AI] Returns the active video manager, cast to LegoVideoManager. More...
 
LegoSoundManagerGetSoundManager ()
 [AI] Returns the sound manager, cast to LegoSoundManager. More...
 
LegoInputManagerGetInputManager ()
 [AI] Returns the input manager. More...
 
LegoTextureContainerGetTextureContainer ()
 [AI] Returns the global texture container (all loaded textures). More...
 
ViewLODListManagerGetViewLODListManager ()
 [AI] Returns the LOD list manager for handling refcounted LOD data in the scene. More...
 
LegoWorldGetCurrentWorld ()
 [AI] Returns the pointer to the currently active world. More...
 
LegoNavControllerGetNavController ()
 [AI] Returns the navigation controller (handles player navigation and camera logic). More...
 
LegoPathActorGetUserActor ()
 [AI] Returns the player-controlled ("user") actor. More...
 
LegoPlantManagerGetPlantManager ()
 [AI] Returns active plant manager, which tracks in-world plants/objects. More...
 
LegoAnimationManagerGetAnimationManager ()
 [AI] Returns animation manager for managing character/world animations. More...
 
LegoBuildingManagerGetBuildingManager ()
 [AI] Returns building manager (handles in-world structures and their logic). More...
 
LegoWorldListGetWorldList ()
 [AI] Returns pointer to world and script registry list. More...
 
LegoGameStateGetGameState ()
 [AI] Returns the global game state tracker. More...
 
MxBackgroundAudioManagerGetBackgroundAudioManager ()
 [AI] Returns handle to the background audio manager (jukebox/music/ambience). More...
 
MxTransitionManagerGetTransitionManager ()
 [AI] Returns transition manager for handling UI/game state transitions/fades. More...
 
MxDSActionGetCurrentAction ()
 [AI] Returns the actual DSAction used for the current/pending event. More...
 
LegoCharacterManagerGetCharacterManager ()
 [AI] Returns character manager, handling population and logic for all in-world characters. More...
 
void SetNavController (LegoNavController *p_navController)
 [AI] Sets the navigation controller. More...
 
void SetUserActor (LegoPathActor *p_userActor)
 [AI] Sets the user actor pointer (player). More...
 
void SetCurrentWorld (LegoWorld *p_currentWorld)
 [AI] Sets the current world pointer for global context. More...
 
void SetExit (MxBool p_exit)
 [AI] Signals the engine to exit/game quit procedure. More...
 
MxResult StartActionIfUnknown0x13c (MxDSAction &p_dsAction)
 [AI] Starts action if the unknown0x13c member is set; otherwise returns success. More...
 
void SetUnknown13c (MxBool p_unk0x13c)
 [AI] Sets the unknown0x13c flag (purpose not fully documented in reverse). More...
 
void CloseMainWindow ()
 [AI] Posts a close (exit) message to the main window handle, triggering shutdown. More...
 
- Public Member Functions inherited from MxOmni
 MxOmni ()
 [AI] Initializes default state. More...
 
 ~MxOmni () override
 [AI] Destroys all subsystems and releases memory/resources. More...
 
MxLong Notify (MxParam &p_param) override
 [AI] Handles global notifications. More...
 
virtual void Init ()
 [AI] Resets all internal pointers to defaults. More...
 
virtual MxResult Create (MxOmniCreateParam &p_param)
 [AI] Allocates and configures engine subsystems, depending on the provided flags in MxOmniCreateParam. More...
 
virtual void Destroy ()
 [AI] Tears down all engine subsystems, deletes and frees all managed memory. More...
 
virtual MxResult Start (MxDSAction *p_dsAction)
 [AI] Requests the start of a top-level scripted action (from SI). More...
 
virtual void DeleteObject (MxDSAction &p_dsAction)
 [AI] Deletes a world or subsystem object corresponding to an action. More...
 
virtual MxBool DoesEntityExist (MxDSAction &p_dsAction)
 [AI] Checks whether an entity (gameplay object) exists by querying the streamer and notification manager. More...
 
virtual MxResult CreatePresenter (MxStreamController *p_controller, MxDSAction &p_action)
 [AI] Instantiates and starts a Presenter (e.g., video, sound, animation) to handle the specified action on the given stream controller. More...
 
virtual MxEntityAddToWorld (const char *, MxS32, MxPresenter *)
 [AI] [VIRTUAL BASE] Placeholder virtual for derived engines to instantiate an entity and add to the 3D world. More...
 
virtual void NotifyCurrentEntity (const MxNotificationParam &p_param)
 [AI] [VIRTUAL BASE] Placeholder for derived implementations—sends a notification to the currently active entity. More...
 
virtual void Pause ()
 [AI] Pauses subsystems that support pausing (timer, sound manager) and sets paused state. More...
 
virtual void Resume ()
 [AI] Resumes paused subsystems (timer, sound manager) and clears paused state. More...
 
virtual MxBool IsPaused ()
 [AI] Returns paused state of the engine. More...
 
HWND GetWindowHandle () const
 [AI] Gets the window handle (HWND) associated with the engine (ownership not transferred). More...
 
MxObjectFactoryGetObjectFactory () const
 [AI] Retrieves the currently used object factory for presenter/entity instantiation (ownership not transferred). More...
 
MxNotificationManagerGetNotificationManager () const
 [AI] Returns the notification manager responsible for enqueuing and dispatching notifications/events. More...
 
MxTickleManagerGetTickleManager () const
 [AI] Returns the tickle manager which manages the tickle update loop for registered clients. More...
 
MxTimerGetTimer () const
 [AI] Gets the main frame-timer object (if any). More...
 
MxStreamerGetStreamer () const
 [AI] Returns the engine's global streamer object for media/data access. More...
 
MxSoundManagerGetSoundManager () const
 [AI] Gets the engine's sound manager used for playing/controlling sounds. More...
 
MxVideoManagerGetVideoManager () const
 [AI] Returns the video media manager (for handling FLC/SMK/etc.), if present. More...
 
MxVariableTableGetVariableTable () const
 [AI] Gets the global variable table for scripting/logic purposes. More...
 
MxMusicManagerGetMusicManager () const
 [AI] Returns the current music manager, responsible for background/interactive music. More...
 
MxEventManagerGetEventManager () const
 [AI] Get the event manager responsible for handling event queueing/dispatching. More...
 
MxAtomSetGetAtomSet () const
 [AI] Gets the atom set used for mapping strings/IDs to atom objects. More...
 
MxLong HandleEndAction (MxParam &p_param)
 [AI] Handles the engine's response to action end notifications (c_notificationEndAction), deletes action objects as necessary and manages streamer state. 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...
 

Static Public Member Functions

static MxS32 GetCurrPathInfo (LegoPathBoundary **, MxS32 &)
 [AI] Static utility for retrieving current path boundary and info from the current world. More...
 
static void CreateInstance ()
 [AI] Allocates and sets up a new LegoOmni singleton instance, replacing the previous one if any. More...
 
static LegoOmniGetInstance ()
 [AI] Returns the current LegoOmni singleton pointer, cast from MxOmni. More...
 
- Static Public Member Functions inherited from MxOmni
static void DestroyInstance ()
 [AI] Destroys the singleton MxOmni instance and performs memory cleanup. More...
 
static const char * GetCD ()
 [AI] Retrieves the configured CD-ROM media path string used for resource location. More...
 
static const char * GetHD ()
 [AI] Retrieves the configured hard disk media path string used for resource location. More...
 
static MxOmniGetInstance ()
 [AI] Returns the singleton instance of the MxOmni subsystem coordinator. More...
 
static MxBool IsSound3D ()
 [AI] Returns current state of 3D sound configuration. More...
 
static void SetCD (const char *p_cd)
 [AI] Sets the global CD media path used for source file lookup. More...
 
static void SetHD (const char *p_hd)
 [AI] Sets the global hard disk media path used for resource lookup. More...
 
static void SetSound3D (MxBool p_use3dSound)
 [AI] Enables or disables use of 3D sound processing. More...
 
static void SetInstance (MxOmni *p_instance)
 [AI] Manually set the static instance of the global engine object. More...
 
static MxBool ActionSourceEquals (MxDSAction *p_action, const char *p_name)
 [AI] Recursive walk to check if the given action, or any child multi-action, was sourced from the provided name. More...
 

Public Attributes

MxBool m_unk0x13c
 [AI] Unknown flag used in rare start-action cases. [AI] More...
 

Additional Inherited Members

- Protected Attributes inherited from MxOmni
MxString m_mediaPath
 [AI] Path to media assets (SI files, resources) used for loading content. More...
 
HWND m_windowHandle
 [AI] Associated window handle for DirectX/Win32 operations. More...
 
MxObjectFactorym_objectFactory
 [AI] Factory object used to instantiate engine objects (presenters, entities) by class name. More...
 
MxVariableTablem_variableTable
 [AI] Variable table for scripting/in-engine variable storage. More...
 
MxTickleManagerm_tickleManager
 [AI] Manages list of objects requiring tickle updates each frame/step. More...
 
MxNotificationManagerm_notificationManager
 [AI] Manages notifications and their distribution to interested clients. More...
 
MxVideoManagerm_videoManager
 [AI] Manager for decoding and rendering video resources (FLC, etc.). More...
 
MxSoundManagerm_soundManager
 [AI] Manages sound (WAV, MIDI) output and channels. More...
 
MxMusicManagerm_musicManager
 [AI] Manages background and event-triggered music. More...
 
MxEventManagerm_eventManager
 [AI] Centralized event manager for engine events (scripted/game logic). More...
 
MxTimerm_timer
 [AI] Master timer for time-keeping and scheduling. More...
 
MxStreamerm_streamer
 [AI] Main streamer for handling open files and distributed streaming. More...
 
MxAtomSetm_atomSet
 [AI] Global set of strings mapped to atom objects (for fast lookup/id assignment). More...
 
MxCriticalSection m_criticalSection
 [AI] Critical section used for thread-safe engine operations. More...
 
MxBool m_paused
 [AI] Indicates if the engine/systems are currently paused. More...
 
- Static Protected Attributes inherited from MxOmni
static MxOmnig_instance = NULL
 [AI] The singleton instance pointer of the MxOmni engine. More...
 

Detailed Description

[AI] Central hub singleton for the LEGO Island game engine, managing all core game systems, state, world switching, and providing high-level access to all major engine subsystems.

[AI] Engine singleton managing LEGO Island's subsystems and game state.

Handles initialization, teardown, world registry, notification dispatching, and singleton instance management.

[AI] LegoOmni extends MxOmni to provide high-level game coordination, resource and manager ownership, dynamic world and entity management, script/action handling, background audio, global state, and event notification. It encapsulates systems for animation, input, world/ROI lookup, tickling, building/plants, and more. The class also provides interface entry points for interacting with video, audio, presenter logic, and game state—making it effectively the "heart" of the LEGO Island runtime architecture.

[AI]

Definition at line 40 of file legomain.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
c_disableInput 

[AI] When set, disables input processing. [AI]

c_disable3d 

[AI] When set, disables 3D rendering. [AI]

c_clearScreen 

[AI] When set, clears the display surface. [AI]

Definition at line 46 of file legomain.h.

◆ World

[AI] Identifiers for all unique, script-driven world environments in LEGO Island.

Used for dynamic lookup, registry, and scheduling. [AI]

[AI] Each enum value corresponds to a logical world space, typically associated with a key, script, and AtomId. e_numWorlds is the total. [AI]

Enumerator
e_undefined 

[AI] No world specified. [AI]

e_act1 

[AI] Act 1 main world. [AI]

e_imain 

[AI] Information main building. [AI]

e_icube 

[AI] Information cube building. [AI]

e_ireg 

[AI] Information registration/building. [AI]

e_ielev 

[AI] Information elevator. [AI]

e_iisle 

[AI] Information Isle room. [AI]

e_hosp 

[AI] Hospital. [AI]

e_police 

[AI] Police station. [AI]

e_gmain 

[AI] Garage. [AI]

e_bldh 

[AI] Helicopter building. [AI]

e_bldd 

[AI] Dune car building. [AI]

e_bldj 

[AI] Jet ski building. [AI]

e_bldr 

[AI] Race car building. [AI]

e_racc 

[AI] Car race area/world. [AI]

e_racj 

[AI] Jet race area/world. [AI]

e_act2 

[AI] Act 2. [AI]

e_act3 

[AI] Act 3. [AI]

e_test 

[AI] Test world. [AI]

e_numWorlds 

[AI] Number of worlds (includes undefined, test, or unused). [AI]

Definition at line 57 of file legomain.h.

Constructor & Destructor Documentation

◆ LegoOmni()

LegoOmni::LegoOmni ( )

[AI] Constructs the LegoOmni singleton and initializes all internal pointers to NULL/default state.

Begins game system setup.

Definition at line 45 of file legomain.cpp.

◆ ~LegoOmni()

LegoOmni::~LegoOmni ( )
override

[AI] Tears down LegoOmni, deleting or unregistering all major owned game systems and registry lists.

Definition at line 51 of file legomain.cpp.

Member Function Documentation

◆ AddToWorld()

MxEntity * LegoOmni::AddToWorld ( const char *  p_id,
MxS32  p_entityId,
MxPresenter p_presenter 
)
overridevirtual

[AI] Adds an entity presenter to the specified world (by id or current).

Intended for dynamic entity loading.

Parameters
p_id[AI] World id string or "current".
p_entityId[AI] Entity id number for lookup.
p_presenter[AI] Presenter object to attach (e.g. for video, sound, model).
Returns
[AI] Pointer to the LegoWorld the presenter was added to, or NULL if not found.

Reimplemented from MxOmni.

Definition at line 430 of file legomain.cpp.

◆ AddWorld()

void LegoOmni::AddWorld ( LegoWorld p_world)

[AI] Appends a LegoWorld to the active world list, acquiring ownership.

Parameters
p_world[AI] The LegoWorld to add.

Definition at line 311 of file legomain.cpp.

◆ ClassName()

const char * LegoOmni::ClassName ( ) const
inlineoverridevirtual

[AI] Returns a static string identifying this class for runtime type checking.

Returns
[AI] String "LegoOmni".

Reimplemented from MxCore.

Definition at line 163 of file legomain.h.

◆ CloseMainWindow()

void LegoOmni::CloseMainWindow ( )
inline

[AI] Posts a close (exit) message to the main window handle, triggering shutdown.

Definition at line 479 of file legomain.h.

◆ Create()

MxResult LegoOmni::Create ( MxOmniCreateParam p_param)
overridevirtual

[AI] Creates and initializes all subsystems for the game, wiring up all managers and attaching Lego-specific logic.

Parameters
p_param[AI] Creation parameter block with flags and resource hints.
Returns
[AI] Result code: SUCCESS, or FAILURE if allocation/creation fails.

Reimplemented from MxOmni.

Definition at line 156 of file legomain.cpp.

◆ CreateBackgroundAudio()

void LegoOmni::CreateBackgroundAudio ( )

[AI] Initializes background audio manager and starts music using global script.

Definition at line 540 of file legomain.cpp.

◆ CreateInstance()

void LegoOmni::CreateInstance ( )
static

[AI] Allocates and sets up a new LegoOmni singleton instance, replacing the previous one if any.

Definition at line 298 of file legomain.cpp.

◆ DeleteAction()

void LegoOmni::DeleteAction ( )

[AI] Deletes and clears the current DSAction used for world/entity tracking.

Definition at line 558 of file legomain.cpp.

◆ DeleteObject()

void LegoOmni::DeleteObject ( MxDSAction p_dsAction)
overridevirtual

[AI] Deletes an entity or world referenced by the given DSAction (by object and Atom), cascading to removal in current world.

Parameters
p_dsAction[AI] DSAction describing which entity/world to delete.

Reimplemented from MxOmni.

Definition at line 378 of file legomain.cpp.

◆ DeleteWorld()

void LegoOmni::DeleteWorld ( LegoWorld p_world)

[AI] Deletes (and removes from registry) a LegoWorld, deleting all resources.

Parameters
p_world[AI] The world to be deleted.

Definition at line 317 of file legomain.cpp.

◆ Destroy()

void LegoOmni::Destroy ( )
overridevirtual

[AI] Shuts down and deletes all owned game managers, variable tables, registry lists and Lego subsystems.

Reimplemented from MxOmni.

Definition at line 79 of file legomain.cpp.

◆ DoesEntityExist()

MxBool LegoOmni::DoesEntityExist ( MxDSAction p_dsAction)
overridevirtual

[AI] Checks if the entity described by the DSAction does NOT exist in worlds (true if not found, false if found).

Parameters
p_dsAction[AI] DSAction describing entity.
Returns
[AI] TRUE if entity does not exist/was removed, FALSE if still present.

Reimplemented from MxOmni.

Definition at line 457 of file legomain.cpp.

◆ FindROI()

LegoROI * LegoOmni::FindROI ( const char *  p_name)

[AI] Finds a top-level LegoROI (region of interest/3D object) by name string.

Parameters
p_name[AI] Name of the ROI.
Returns
[AI] Pointer to LegoROI if found, else NULL.

Definition at line 408 of file legomain.cpp.

◆ FindWorld()

LegoWorld * LegoOmni::FindWorld ( const MxAtomId p_atom,
MxS32  p_entityid 
)

[AI] Finds and returns the LegoWorld by AtomId and/or entity id.

Parameters
p_atom[AI] AtomId for the world.
p_entityid[AI] Entity id (or -1 to skip id check).
Returns
[AI] Pointer to LegoWorld if found, else NULL.

Definition at line 360 of file legomain.cpp.

◆ FUN_1005b4f0()

void LegoOmni::FUN_1005b4f0 ( MxBool  p_disable,
MxU16  p_flags 
)

[AI] Enables or disables input/3d/screen clearing in a single call, based on flags.

Used for game-wide state gating.

Parameters
p_disable[AI] TRUE disables (according to flags); FALSE enables.
p_flags[AI] Bit field of c_disableInput, c_disable3d, c_clearScreen.

Definition at line 517 of file legomain.cpp.

◆ GetAnimationManager()

LegoAnimationManager * LegoOmni::GetAnimationManager ( )
inline

[AI] Returns animation manager for managing character/world animations.

Returns
[AI] Animation manager pointer.

Definition at line 395 of file legomain.h.

◆ GetBackgroundAudioManager()

MxBackgroundAudioManager * LegoOmni::GetBackgroundAudioManager ( )
inline

[AI] Returns handle to the background audio manager (jukebox/music/ambience).

Returns
[AI] Background audio manager pointer.

Definition at line 419 of file legomain.h.

◆ GetBuildingManager()

LegoBuildingManager * LegoOmni::GetBuildingManager ( )
inline

[AI] Returns building manager (handles in-world structures and their logic).

Returns
[AI] Building manager pointer.

Definition at line 401 of file legomain.h.

◆ GetCharacterManager()

LegoCharacterManager * LegoOmni::GetCharacterManager ( )
inline

[AI] Returns character manager, handling population and logic for all in-world characters.

Returns
[AI] Character manager pointer.

Definition at line 437 of file legomain.h.

◆ GetCurrentAction()

MxDSAction & LegoOmni::GetCurrentAction ( )
inline

[AI] Returns the actual DSAction used for the current/pending event.

Returns
[AI] Current action reference.

Definition at line 431 of file legomain.h.

◆ GetCurrentWorld()

LegoWorld * LegoOmni::GetCurrentWorld ( )
inline

[AI] Returns the pointer to the currently active world.

Returns
[AI] The current LegoWorld instance.

Definition at line 371 of file legomain.h.

◆ GetCurrPathInfo()

MxS32 LegoOmni::GetCurrPathInfo ( LegoPathBoundary **  p_path,
MxS32 p_value 
)
static

[AI] Static utility for retrieving current path boundary and info from the current world.

Parameters
p_path[AI] Output: pointer to path boundary.
p_value[AI] Output: integer info.
Returns
[AI] FAILURE if no world, else world-specific result.

Definition at line 468 of file legomain.cpp.

◆ GetGameState()

LegoGameState * LegoOmni::GetGameState ( )
inline

[AI] Returns the global game state tracker.

Returns
[AI] Game state pointer.

Definition at line 413 of file legomain.h.

◆ GetInputManager()

LegoInputManager * LegoOmni::GetInputManager ( )
inline

[AI] Returns the input manager.

Returns
[AI] Input manager.

Definition at line 353 of file legomain.h.

◆ GetInstance()

LegoOmni * LegoOmni::GetInstance ( )
static

[AI] Returns the current LegoOmni singleton pointer, cast from MxOmni.

Returns
[AI] Singleton pointer.

Definition at line 305 of file legomain.cpp.

◆ GetNavController()

LegoNavController * LegoOmni::GetNavController ( )
inline

[AI] Returns the navigation controller (handles player navigation and camera logic).

Returns
[AI] Nav controller pointer.

Definition at line 377 of file legomain.h.

◆ GetPlantManager()

LegoPlantManager * LegoOmni::GetPlantManager ( )
inline

[AI] Returns active plant manager, which tracks in-world plants/objects.

Returns
[AI] Plant manager pointer.

Definition at line 389 of file legomain.h.

◆ GetSoundManager()

LegoSoundManager * LegoOmni::GetSoundManager ( )
inline

[AI] Returns the sound manager, cast to LegoSoundManager.

Returns
[AI] Sound manager instance.

Definition at line 347 of file legomain.h.

◆ GetTextureContainer()

LegoTextureContainer * LegoOmni::GetTextureContainer ( )
inline

[AI] Returns the global texture container (all loaded textures).

Returns
[AI] Texture container pointer.

Definition at line 359 of file legomain.h.

◆ GetTransitionManager()

MxTransitionManager * LegoOmni::GetTransitionManager ( )
inline

[AI] Returns transition manager for handling UI/game state transitions/fades.

Returns
[AI] Transition manager.

Definition at line 425 of file legomain.h.

◆ GetUserActor()

LegoPathActor * LegoOmni::GetUserActor ( )
inline

[AI] Returns the player-controlled ("user") actor.

Returns
[AI] User path actor pointer.

Definition at line 383 of file legomain.h.

◆ GetVideoManager()

LegoVideoManager * LegoOmni::GetVideoManager ( )
inline

[AI] Returns the active video manager, cast to LegoVideoManager.

Returns
[AI] Video manager.

Definition at line 341 of file legomain.h.

◆ GetViewLODListManager()

ViewLODListManager * LegoOmni::GetViewLODListManager ( )
inline

[AI] Returns the LOD list manager for handling refcounted LOD data in the scene.

Returns
[AI] ViewLODListManager instance.

Definition at line 365 of file legomain.h.

◆ GetWorldAtom()

MxAtomId * LegoOmni::GetWorldAtom ( LegoOmni::World  p_id)

[AI] Looks up and returns the AtomId of a world by its enum id.

Parameters
p_id[AI] World enum id.
Returns
[AI] AtomId pointer or NULL if not found.

Definition at line 491 of file legomain.cpp.

◆ GetWorldId()

LegoOmni::World LegoOmni::GetWorldId ( const char *  p_key)

[AI] Looks up a World enum id from its string key.

Parameters
p_key[AI] Key string (case-insensitive).
Returns
[AI] World enum if found, e_undefined otherwise.

Definition at line 505 of file legomain.cpp.

◆ GetWorldList()

LegoWorldList * LegoOmni::GetWorldList ( )
inline

[AI] Returns pointer to world and script registry list.

Returns
[AI] LegoWorldList pointer.

Definition at line 407 of file legomain.h.

◆ GetWorldName()

const char * LegoOmni::GetWorldName ( LegoOmni::World  p_id)

[AI] Looks up and returns the registered world key for a world id.

Parameters
p_id[AI] World enum.
Returns
[AI] String key of world or NULL if not found.

Definition at line 478 of file legomain.cpp.

◆ Init()

void LegoOmni::Init ( )
overridevirtual

[AI] Performs LegoOmni member and subsystem initialization.

[AI]

Reimplemented from MxOmni.

Definition at line 57 of file legomain.cpp.

◆ IsA()

MxBool LegoOmni::IsA ( const char *  p_name) const
inlineoverridevirtual

[AI] Performs runtime type checking, supporting inheritance.

Returns true if input string is "LegoOmni" or matches a parent type.

Parameters
p_name[AI] Class name to test.
Returns
[AI] TRUE if class name matches or inherits from it.

Reimplemented from MxCore.

Definition at line 173 of file legomain.h.

◆ Notify()

MxLong LegoOmni::Notify ( MxParam p_param)
overridevirtual

[AI] Handles notification messages sent to the engine, including EndAction notifications for quitting, etc.

Parameters
p_param[AI] Parameter describing the notification context.
Returns
[AI] Dispatch result from MxOmni::Notify.

Reimplemented from MxCore.

Definition at line 567 of file legomain.cpp.

◆ NotifyCurrentEntity()

void LegoOmni::NotifyCurrentEntity ( const MxNotificationParam p_param)
overridevirtual

[AI] Sends notification to the currently active world.

Used for propagating input/events.

Parameters
p_param[AI] Notification parameter struct.

Reimplemented from MxOmni.

Definition at line 449 of file legomain.cpp.

◆ Pause()

void LegoOmni::Pause ( )
overridevirtual

[AI] Pauses the engine/game state and sets busy cursor.

[AI]

Reimplemented from MxOmni.

Definition at line 586 of file legomain.cpp.

◆ RegisterWorlds()

MxResult LegoOmni::RegisterWorlds ( )

[AI] Registers all builtin worlds/scripts into the world's Atom/registry list (m_worlds).

Returns
[AI] SUCCESS if all worlds registered, FAILURE otherwise.

Definition at line 267 of file legomain.cpp.

◆ RemoveWorld()

void LegoOmni::RemoveWorld ( const MxAtomId p_atom,
MxLong  p_objectId 
)

[AI] Removes worlds by Atom and/or id, deleting matching entries from the world list and freeing resources.

Parameters
p_atom[AI] AtomId to match, or NULL to match any.
p_objectId[AI] Object id to match, or -1 for all.

Definition at line 335 of file legomain.cpp.

◆ Resume()

void LegoOmni::Resume ( )
overridevirtual

[AI] Resumes engine/game state and sets default cursor.

[AI]

Reimplemented from MxOmni.

Definition at line 593 of file legomain.cpp.

◆ SetCurrentWorld()

void LegoOmni::SetCurrentWorld ( LegoWorld p_currentWorld)
inline

[AI] Sets the current world pointer for global context.

Parameters
p_currentWorld[AI] World to use.

Definition at line 455 of file legomain.h.

◆ SetExit()

void LegoOmni::SetExit ( MxBool  p_exit)
inline

[AI] Signals the engine to exit/game quit procedure.

Parameters
p_exit[AI] TRUE to begin exit process.

Definition at line 461 of file legomain.h.

◆ SetNavController()

void LegoOmni::SetNavController ( LegoNavController p_navController)
inline

[AI] Sets the navigation controller.

Parameters
p_navController[AI] Nav controller to use.

Definition at line 443 of file legomain.h.

◆ SetUnknown13c()

void LegoOmni::SetUnknown13c ( MxBool  p_unk0x13c)
inline

[AI] Sets the unknown0x13c flag (purpose not fully documented in reverse).

[AI]

Parameters
p_unk0x13c[AI] Value to set.

Definition at line 474 of file legomain.h.

◆ SetUserActor()

void LegoOmni::SetUserActor ( LegoPathActor p_userActor)
inline

[AI] Sets the user actor pointer (player).

Parameters
p_userActor[AI] User actor to use.

Definition at line 449 of file legomain.h.

◆ Start()

MxResult LegoOmni::Start ( MxDSAction p_dsAction)
overridevirtual

[AI] Begins executing the specified DSAction/script in the context of the current world/state.

Parameters
p_dsAction[AI] DSAction instance indicating the next action sequence/script.
Returns
[AI] Start result status.

Reimplemented from MxOmni.

Definition at line 548 of file legomain.cpp.

◆ StartActionIfUnknown0x13c()

MxResult LegoOmni::StartActionIfUnknown0x13c ( MxDSAction p_dsAction)
inline

[AI] Starts action if the unknown0x13c member is set; otherwise returns success.

Helper for rare logic.

Parameters
p_dsAction[AI] Action to start.
Returns
[AI] Start result or SUCCESS if not started.

Definition at line 468 of file legomain.h.

Member Data Documentation

◆ m_unk0x13c

MxBool LegoOmni::m_unk0x13c

[AI] Unknown flag used in rare start-action cases. [AI]

Definition at line 504 of file legomain.h.


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