1#ifndef LEGOVIDEOMANAGER_H
2#define LEGOVIDEOMANAGER_H
132 void SetSkyColor(
float p_red,
float p_green,
float p_blue);
223 inline void DrawCursor();
253 PALETTEENTRY m_paletteEntries[256];
259 MxBool m_isFullscreenMovie;
268 double m_elapsedSeconds;
331 float m_cameraHeight;
337 IDirect3DRMFrame* m_camera;
[AI] Central class managing the LEGO Island 3D rendering subsystem.
Specialized list class for managing LegoPhoneme objects.
[AI] Represents a Real-time Object Instance enriched with LEGO-specific functionality.
[AI] Extends the functionality of MxVideoManager to provide LEGO Island–specific video and 3D graphic...
MxResult ResetPalette(MxBool p_ignoreSkyColor)
[AI] Resets palette entries and re-installs base palette, restoring sky color if requested.
virtual MxPresenter * GetPresenterAt(MxS32 p_x, MxS32 p_y)
[AI] Finds a presenter at the specific screen coordinates (for hit testing).
int EnableRMDevice()
[AI] Enables the Direct3D Retained Mode (RM) rendering device, and re-creates the device/viewport if ...
void UpdateView(MxU32 p_x, MxU32 p_y, MxU32 p_width, MxU32 p_height) override
[AI] Notifies the manager of changes in view rectangle, updating the 3D device's viewport as needed.
void EnableFullScreenMovie(MxBool p_enable)
[AI] Convenience method to enable or disable fullscreen movie playback with default scaling.
MxResult Tickle() override
[AI] Performs per-frame update for all video, 3D, and interface layers.
MxDirect3D * GetDirect3D()
[AI] Returns the active Direct3D wrapper (engine/utility) object.
~LegoVideoManager() override
[AI] Releases all allocated resources and restores graphics state.
double GetElapsedSeconds()
[AI] Returns the elapsed wall clock seconds since the last Tickle update (frame time).
void FUN_1007c520()
[AI] Sets rendering state to allow PutData for all overlay presenters, disables 3D main rendering.
LegoVideoManager()
[AI] Constructs a new LegoVideoManager, initializing all graphics, rendering, and state members to de...
int DisableRMDevice()
[AI] Disables the Direct3D Retained Mode (RM) rendering device and saves/restores 3D state as needed.
void SetUnk0x554(MxBool p_unk0x554)
[AI] Used to control a non-interactive, non-main rendering update (PutData only).
MxBool GetRender3D()
[AI] Indicates if 3D rendering is enabled and active (false if paused/fullscreen movie).
Lego3DManager * Get3DManager()
[AI] Returns the Lego3DManager for this manager, which owns all 3D scene representations and view con...
void OverrideSkyColor(MxBool p_shouldOverride)
[AI] Requests that the palette override the sky color entry, for movie transitions or when re-enablin...
Tgl::Renderer * GetRenderer()
[AI] Returns the underlying renderer for this manager; normally a Direct3D Retained Mode wrapper.
LegoROI * GetViewROI()
[AI] Returns the viewpoint ROI for the current view/camera.
virtual LegoPhonemeList * GetPhonemeList()
[AI] Returns the currently installed phoneme list for in-game speech synchronization.
void Destroy() override
[AI] Cleans up graphics resources, disables overlays, removes from 3D scene and releases presenters/l...
MxResult RealizePalette(MxPalette *) override
[AI] Sets the realized palette to use for rendering and updates the display surface.
void ToggleFPS(MxBool p_visible)
[AI] Toggles display of the on-screen frames-per-second (FPS) overlay.
MxPresenter * GetPresenterByActionObjectName(const char *p_char)
[AI] Searches all active presenters for one associated with the given action object name.
void SetRender3D(MxBool p_render3d)
[AI] Enables or disables main 3D rendering (e.g., used internally on video transitions).
void MoveCursor(MxS32 p_cursorX, MxS32 p_cursorY)
[AI] Updates the position of the custom software cursor overlay, and ensures it renders on the next f...
void SetSkyColor(float p_red, float p_green, float p_blue)
[AI] Sets the RGB color for the sky/background in the 3D view and updates the palette accordingly.
[AI] MxDirect3D provides Direct3D (D3D) rendering capabilities layered on top of MxDirectDraw,...
[AI] Encapsulates a DirectDraw 8-bit (256 color) palette for use with DirectX rendering.
[AI] Abstract base class for all presenter types in the LEGO Island engine, responsible for managing ...
Measures elapsed wall clock time using high resolution performance counters.
[AI] Video subsystem manager for DirectDraw/Direct3D video rendering and presenter control.
[AI] Video parameter configuration for display and rendering, encapsulates resolution,...
[AI] Main interface/factory for rendering resources and scene graphs.
enum _D3DRMPROJECTIONTYPE D3DRMPROJECTIONTYPE
enum _D3DRMTEXTUREQUALITY D3DRMTEXTUREQUALITY
struct IDirectDrawSurface FAR * LPDIRECTDRAWSURFACE
typedef DWORD(FAR PASCAL *LPCLIPPERCALLBACK)(LPDIRECTDRAWCLIPPER lpDDClipper
[AI] Namespace containing all classes related to the 3D graphics abstraction/rendering engine.