106 strcpy(
m_key, p_key);
181 void Init()
override;
233 void Pause()
override;
485 WorldContainer* m_worlds;
[AI] Represents the main overworld (LEGO Island) in the game, acting as the central hub and state mac...
[AI] Animation manager handling all world and character animation state, loading, and logic for extra...
[AI] Manages LEGO buildings in the world, including their state, animation, switching,...
[AI] Manages reference-counted characters and provides character creation, switching,...
[AI] Represents an entity that can be placed and managed in the LEGO Island world.
Comprehensive persistent game state manager: handles save/load, player selection, area switching,...
[AI] Handles user navigation input (keyboard and joystick) and determines avatar movement and directi...
[AI] Central hub singleton for the LEGO Island game engine, managing all core game systems,...
void CloseMainWindow()
[AI] Posts a close (exit) message to the main window handle, triggering shutdown.
MxResult Start(MxDSAction *p_dsAction) override
[AI] Begins executing the specified DSAction/script in the context of the current world/state.
void SetNavController(LegoNavController *p_navController)
[AI] Sets the navigation controller.
void FUN_1005b4f0(MxBool p_disable, MxU16 p_flags)
[AI] Enables or disables input/3d/screen clearing in a single call, based on flags.
LegoCharacterManager * GetCharacterManager()
[AI] Returns character manager, handling population and logic for all in-world characters.
LegoAnimationManager * GetAnimationManager()
[AI] Returns animation manager for managing character/world animations.
LegoBuildingManager * GetBuildingManager()
[AI] Returns building manager (handles in-world structures and their logic).
void SetUserActor(LegoPathActor *p_userActor)
[AI] Sets the user actor pointer (player).
LegoPlantManager * GetPlantManager()
[AI] Returns active plant manager, which tracks in-world plants/objects.
void SetUnknown13c(MxBool p_unk0x13c)
[AI] Sets the unknown0x13c flag (purpose not fully documented in reverse).
void Resume() override
[AI] Resumes engine/game state and sets default cursor.
static LegoOmni * GetInstance()
[AI] Returns the current LegoOmni singleton pointer, cast from MxOmni.
MxTransitionManager * GetTransitionManager()
[AI] Returns transition manager for handling UI/game state transitions/fades.
MxResult RegisterWorlds()
[AI] Registers all builtin worlds/scripts into the world's Atom/registry list (m_worlds).
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 reso...
LegoGameState * GetGameState()
[AI] Returns the global game state tracker.
MxResult StartActionIfUnknown0x13c(MxDSAction &p_dsAction)
[AI] Starts action if the unknown0x13c member is set; otherwise returns success.
LegoNavController * GetNavController()
[AI] Returns the navigation controller (handles player navigation and camera logic).
LegoInputManager * GetInputManager()
[AI] Returns the input manager.
void AddWorld(LegoWorld *p_world)
[AI] Appends a LegoWorld to the active world list, acquiring ownership.
@ c_clearScreen
[AI] When set, clears the display surface. [AI]
@ c_disable3d
[AI] When set, disables 3D rendering. [AI]
@ c_disableInput
[AI] When set, disables input processing. [AI]
LegoWorld * FindWorld(const MxAtomId &p_atom, MxS32 p_entityid)
[AI] Finds and returns the LegoWorld by AtomId and/or entity id.
World
[AI] Identifiers for all unique, script-driven world environments in LEGO Island.
@ e_numWorlds
[AI] Number of worlds (includes undefined, test, or unused). [AI]
@ e_racj
[AI] Jet race area/world. [AI]
@ e_racc
[AI] Car race area/world. [AI]
@ e_bldr
[AI] Race car building. [AI]
@ e_icube
[AI] Information cube building. [AI]
@ e_ireg
[AI] Information registration/building. [AI]
@ e_bldh
[AI] Helicopter building. [AI]
@ e_ielev
[AI] Information elevator. [AI]
@ e_test
[AI] Test world. [AI]
@ e_bldd
[AI] Dune car building. [AI]
@ e_gmain
[AI] Garage. [AI]
@ e_police
[AI] Police station. [AI]
@ e_bldj
[AI] Jet ski building. [AI]
@ e_iisle
[AI] Information Isle room. [AI]
@ e_undefined
[AI] No world specified. [AI]
@ e_imain
[AI] Information main building. [AI]
@ e_hosp
[AI] Hospital. [AI]
@ e_act1
[AI] Act 1 main world. [AI]
LegoROI * FindROI(const char *p_name)
[AI] Finds a top-level LegoROI (region of interest/3D object) by name string.
LegoVideoManager * GetVideoManager()
[AI] Returns the active video manager, cast to LegoVideoManager.
MxAtomId * GetWorldAtom(LegoOmni::World p_id)
[AI] Looks up and returns the AtomId of a world by its enum id.
LegoTextureContainer * GetTextureContainer()
[AI] Returns the global texture container (all loaded textures).
LegoWorld * GetCurrentWorld()
[AI] Returns the pointer to the currently active world.
void NotifyCurrentEntity(const MxNotificationParam &p_param) override
[AI] Sends notification to the currently active world.
void SetExit(MxBool p_exit)
[AI] Signals the engine to exit/game quit procedure.
void DeleteWorld(LegoWorld *p_world)
[AI] Deletes (and removes from registry) a LegoWorld, deleting all resources.
LegoWorldList * GetWorldList()
[AI] Returns pointer to world and script registry list.
static void CreateInstance()
[AI] Allocates and sets up a new LegoOmni singleton instance, replacing the previous one if any.
const char * ClassName() const override
[AI] Returns a static string identifying this class for runtime type checking.
MxLong Notify(MxParam &p_param) override
[AI] Handles notification messages sent to the engine, including EndAction notifications for quitting...
static MxS32 GetCurrPathInfo(LegoPathBoundary **, MxS32 &)
[AI] Static utility for retrieving current path boundary and info from the current world.
MxDSAction & GetCurrentAction()
[AI] Returns the actual DSAction used for the current/pending event.
void Destroy() override
[AI] Shuts down and deletes all owned game managers, variable tables, registry lists and Lego subsyst...
MxBackgroundAudioManager * GetBackgroundAudioManager()
[AI] Returns handle to the background audio manager (jukebox/music/ambience).
MxBool m_unk0x13c
[AI] Unknown flag used in rare start-action cases. [AI]
World GetWorldId(const char *p_key)
[AI] Looks up a World enum id from its string key.
MxBool IsA(const char *p_name) const override
[AI] Performs runtime type checking, supporting inheritance.
void CreateBackgroundAudio()
[AI] Initializes background audio manager and starts music using global script.
~LegoOmni() override
[AI] Tears down LegoOmni, deleting or unregistering all major owned game systems and registry lists.
LegoOmni()
[AI] Constructs the LegoOmni singleton and initializes all internal pointers to NULL/default state.
void DeleteAction()
[AI] Deletes and clears the current DSAction used for world/entity tracking.
void SetCurrentWorld(LegoWorld *p_currentWorld)
[AI] Sets the current world pointer for global context.
ViewLODListManager * GetViewLODListManager()
[AI] Returns the LOD list manager for handling refcounted LOD data in the scene.
void Pause() override
[AI] Pauses the engine/game state and sets busy cursor.
LegoPathActor * GetUserActor()
[AI] Returns the player-controlled ("user") actor.
MxResult Create(MxOmniCreateParam &p_param) override
[AI] Creates and initializes all subsystems for the game, wiring up all managers and attaching Lego-s...
void Init() override
[AI] Performs LegoOmni member and subsystem initialization.
MxBool DoesEntityExist(MxDSAction &p_dsAction) override
[AI] Checks if the entity described by the DSAction does NOT exist in worlds (true if not found,...
const char * GetWorldName(LegoOmni::World p_id)
[AI] Looks up and returns the registered world key for a world id.
MxEntity * AddToWorld(const char *p_id, MxS32 p_entityId, MxPresenter *p_presenter) override
[AI] Adds an entity presenter to the specified world (by id or current).
LegoSoundManager * GetSoundManager()
[AI] Returns the sound manager, cast to LegoSoundManager.
void DeleteObject(MxDSAction &p_dsAction) override
[AI] Deletes an entity or world referenced by the given DSAction (by object and Atom),...
[AI] An actor that moves along a predefined path, supporting boundary transitions,...
[AI] Represents a path segment or boundary in the navigation network for actors (vehicles,...
[AI] Manages the lifecycle, state, and properties for all plant objects (flowers, trees,...
[AI] Represents a Real-time Object Instance enriched with LEGO-specific functionality.
[AI] Manages 3D sound effects and music playback for LEGO Island, integrating with DirectSound and pr...
Specialized LegoContainer handling LegoTextureInfo objects and their DirectDraw/Direct3D caching.
[AI] Extends the functionality of MxVideoManager to provide LEGO Island–specific video and 3D graphic...
A specialized list for managing pointers to LegoWorld instances.
Represents the active 3D world, holding all entity, animation, sound, path, and ROI objects.
[AI] Atomized (unique) string identifier, managed by reference counting.
[AI] Background music manager that handles playback, volume, state transitions, and notifications for...
virtual MxBool IsA(const char *p_name) const
[AI] Checks whether this object's class type or parents match the given name.
[AI] Represents an action deserialized from SI chunks, holding key animation or script parameters suc...
MxEntity is a base class for game entities which are uniquely identified by an integer ID and an Atom...
[AI] Parameter object representing a single notification or event, carrying an identifier and sender ...
[AI] Encapsulates parameters required to initialize the core Omni engine.
[AI] Central subsystem coordinator and singleton of the LEGO Island engine.
HWND m_windowHandle
[AI] Associated window handle for DirectX/Win32 operations.
MxSoundManager * m_soundManager
[AI] Manages sound (WAV, MIDI) output and channels.
MxVideoManager * m_videoManager
[AI] Manager for decoding and rendering video resources (FLC, etc.).
[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] Handles screen transitions and animations (such as dissolve, mosaic, wipe, etc....
[AI] Manages the lifecycle, lookup, and sharing of ViewLODList instances for different ROI names.
#define NULL
[AI] Null pointer value (C/C++ semantics).
#define SUCCESS
[AI] Used to indicate a successful operation in result codes.
[AI] Associates a world enum, key, and AtomId for dynamic world lookup, Atom-based registry,...
World GetId()
[AI] Returns world identifier.
MxAtomId * m_atomId
[AI] AtomId pointer for this world's script.
WorldContainer & operator=(const WorldContainer &p_container)
[AI] Copy assignment operator.
char m_key[20]
[AI] String key for this world (used for script/world lookup).
const char * GetKey()
[AI] Returns world string key.
WorldContainer(World p_id, const char *p_key, MxAtomId *p_atomId)
[AI] Construct a WorldContainer from enum id, string key, and AtomId pointer.
World m_id
[AI] World enum identifier.
WorldContainer()
[AI] Default constructor.