43 static const char*
GetCD();
49 static const char*
GetHD();
67 static void SetCD(
const char* p_cd);
73 static void SetHD(
const char* p_hd);
161 virtual void Pause();
[AI] Set of unique atom pointers, managed with custom comparison for atomization and fast lookup.
[AI] Base virtual class for all Mindscape engine (Mx) objects.
[AI] Provides a critical section object for mutual exclusion with optional use of OS mutex.
[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...
MxEventManager is a subclass of MxMediaManager responsible for managing timed event delivery,...
Manages MIDI music playback with Win32 MIDI streaming for the LEGO Island engine.
[AI] Central registry and dispatcher of asynchronous notifications between MxCore objects.
[AI] Parameter object representing a single notification or event, carrying an identifier and sender ...
[AI] Forward declaration for the factory responsible for constructing core objects from atom or type ...
[AI] Encapsulates parameters required to initialize the core Omni engine.
[AI] Central subsystem coordinator and singleton of the LEGO Island engine.
MxBool m_paused
[AI] Indicates if the engine/systems are currently paused.
static const char * GetCD()
[AI] Retrieves the configured CD-ROM media path string used for resource location.
~MxOmni() override
[AI] Destroys all subsystems and releases memory/resources.
MxStreamer * GetStreamer() const
[AI] Returns the engine's global streamer object for media/data access.
MxString m_mediaPath
[AI] Path to media assets (SI files, resources) used for loading content.
MxEventManager * GetEventManager() const
[AI] Get the event manager responsible for handling event queueing/dispatching.
virtual void Destroy()
[AI] Tears down all engine subsystems, deletes and frees all managed memory.
MxLong HandleEndAction(MxParam &p_param)
[AI] Handles the engine's response to action end notifications (c_notificationEndAction),...
MxTimer * m_timer
[AI] Master timer for time-keeping and scheduling.
HWND m_windowHandle
[AI] Associated window handle for DirectX/Win32 operations.
static void SetCD(const char *p_cd)
[AI] Sets the global CD media path used for source file lookup.
MxSoundManager * m_soundManager
[AI] Manages sound (WAV, MIDI) output and channels.
virtual MxResult Create(MxOmniCreateParam &p_param)
[AI] Allocates and configures engine subsystems, depending on the provided flags in MxOmniCreateParam...
MxTickleManager * GetTickleManager() const
[AI] Returns the tickle manager which manages the tickle update loop for registered clients.
MxVideoManager * m_videoManager
[AI] Manager for decoding and rendering video resources (FLC, etc.).
static void DestroyInstance()
[AI] Destroys the singleton MxOmni instance and performs memory cleanup.
MxVariableTable * GetVariableTable() const
[AI] Gets the global variable table for scripting/logic purposes.
MxLong Notify(MxParam &p_param) override
[AI] Handles global notifications.
MxStreamer * m_streamer
[AI] Main streamer for handling open files and distributed streaming.
MxEventManager * m_eventManager
[AI] Centralized event manager for engine events (scripted/game logic).
MxObjectFactory * GetObjectFactory() const
[AI] Retrieves the currently used object factory for presenter/entity instantiation (ownership not tr...
MxNotificationManager * m_notificationManager
[AI] Manages notifications and their distribution to interested clients.
virtual MxResult Start(MxDSAction *p_dsAction)
[AI] Requests the start of a top-level scripted action (from SI).
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 pro...
MxVideoManager * GetVideoManager() const
[AI] Returns the video media manager (for handling FLC/SMK/etc.), if present.
MxVariableTable * m_variableTable
[AI] Variable table for scripting/in-engine variable storage.
static MxOmni * GetInstance()
[AI] Returns the singleton instance of the MxOmni subsystem coordinator.
static const char * GetHD()
[AI] Retrieves the configured hard disk media path string used for resource location.
MxObjectFactory * m_objectFactory
[AI] Factory object used to instantiate engine objects (presenters, entities) by class name.
virtual MxEntity * AddToWorld(const char *, MxS32, MxPresenter *)
[AI] [VIRTUAL BASE] Placeholder virtual for derived engines to instantiate an entity and add to the 3...
virtual void NotifyCurrentEntity(const MxNotificationParam &p_param)
[AI] [VIRTUAL BASE] Placeholder for derived implementations—sends a notification to the currently act...
static MxBool IsSound3D()
[AI] Returns current state of 3D sound configuration.
virtual MxResult CreatePresenter(MxStreamController *p_controller, MxDSAction &p_action)
[AI] Instantiates and starts a Presenter (e.g., video, sound, animation) to handle the specified acti...
MxAtomSet * GetAtomSet() const
[AI] Gets the atom set used for mapping strings/IDs to atom objects.
MxMusicManager * m_musicManager
[AI] Manages background and event-triggered music.
static void SetSound3D(MxBool p_use3dSound)
[AI] Enables or disables use of 3D sound processing.
static MxOmni * g_instance
[AI] The singleton instance pointer of the MxOmni engine.
virtual void Resume()
[AI] Resumes paused subsystems (timer, sound manager) and clears paused state.
MxMusicManager * GetMusicManager() const
[AI] Returns the current music manager, responsible for background/interactive music.
virtual void Init()
[AI] Resets all internal pointers to defaults.
virtual void DeleteObject(MxDSAction &p_dsAction)
[AI] Deletes a world or subsystem object corresponding to an action.
MxNotificationManager * GetNotificationManager() const
[AI] Returns the notification manager responsible for enqueuing and dispatching notifications/events.
MxSoundManager * GetSoundManager() const
[AI] Gets the engine's sound manager used for playing/controlling sounds.
MxTimer * GetTimer() const
[AI] Gets the main frame-timer object (if any).
static void SetInstance(MxOmni *p_instance)
[AI] Manually set the static instance of the global engine object.
virtual MxBool DoesEntityExist(MxDSAction &p_dsAction)
[AI] Checks whether an entity (gameplay object) exists by querying the streamer and notification mana...
MxOmni()
[AI] Initializes default state.
MxCriticalSection m_criticalSection
[AI] Critical section used for thread-safe engine operations.
virtual void Pause()
[AI] Pauses subsystems that support pausing (timer, sound manager) and sets paused state.
MxTickleManager * m_tickleManager
[AI] Manages list of objects requiring tickle updates each frame/step.
MxAtomSet * m_atomSet
[AI] Global set of strings mapped to atom objects (for fast lookup/id assignment).
virtual MxBool IsPaused()
[AI] Returns paused state of the engine.
HWND GetWindowHandle() const
[AI] Gets the window handle (HWND) associated with the engine (ownership not transferred).
static void SetHD(const char *p_hd)
[AI] Sets the global hard disk media path used for resource lookup.
[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] Manages DirectSound-based sound playback, implementing volume, resource, and device management.
[AI] Controller for streaming and managing multimedia resources and actions during gameplay.
Streams and manages media data, handles memory pools for RAM/disk streaming [AI].
Mindscape custom string class for managing dynamic C-strings within the game engine.
[AI] Manages ticking ("tickling") a set of MxCore objects at specified intervals.
Timer class for measuring elapsed time or frame time.
MxVariableTable is a specialized hash table for storing key/value string variables used by the LEGO I...
[AI] Video subsystem manager for DirectDraw/Direct3D video rendering and presenter control.