From 6c5c57aeec70bbc3d62591eb9c5a74ef8c5b568f Mon Sep 17 00:00:00 2001 From: Misha Date: Sun, 8 Oct 2023 13:43:29 -0400 Subject: [PATCH] LegoVideoManager::MoveCursor --- LEGO1/legovideomanager.cpp | 24 +++++++++++++++++------- LEGO1/legovideomanager.h | 14 ++++++++++++++ 2 files changed, 31 insertions(+), 7 deletions(-) diff --git a/LEGO1/legovideomanager.cpp b/LEGO1/legovideomanager.cpp index 78ab8110..e4f44e07 100644 --- a/LEGO1/legovideomanager.cpp +++ b/LEGO1/legovideomanager.cpp @@ -1,5 +1,4 @@ #include "legovideomanager.h" -#include // OFFSET: LEGO1 0x1007aa20 STUB LegoVideoManager::LegoVideoManager() @@ -39,10 +38,21 @@ void LegoVideoManager::EnableFullScreenMovie(MxBool p_enable, MxBool p_scale) // TODO } -// OFFSET: LEGO1 0x1007b6a0 STUB +// OFFSET: LEGO1 0x1007b6a0 void LegoVideoManager::MoveCursor(int x, int y) { - // TODO + m_cursorX = x; + m_cursorY = y; + m_cursorMoved = TRUE; + if(623 < x) + { + m_cursorX = 623; + } + + if (463 < y) + { + m_cursorY = 463; + } } // OFFSET: LEGO1 0x1007c440 @@ -50,13 +60,13 @@ void LegoVideoManager::SetSkyColor(float red, float green, float blue) { PALETTEENTRY colorStrucure; - colorStrucure.peRed = (red * 255.0); - colorStrucure.peGreen = (green * 255.0); - colorStrucure.peBlue = (blue * 255.0); + colorStrucure.peRed = (red * 255.0f); + colorStrucure.peGreen = (green * 255.0f); + colorStrucure.peBlue = (blue * 255.0f); colorStrucure.peFlags = -124; m_videoParam.GetPalette()->SetSkyColor(&colorStrucure); m_videoParam.GetPalette()->SetOverrideSkyColor(TRUE); // TODO 3d manager - //m_3dManager-> + //m_3dManager->m_pViewport->vtable1c(red, green, blue) } diff --git a/LEGO1/legovideomanager.h b/LEGO1/legovideomanager.h index 4ff8491b..0bb3bf28 100644 --- a/LEGO1/legovideomanager.h +++ b/LEGO1/legovideomanager.h @@ -5,6 +5,7 @@ #include "mxdirect3d.h" #include "lego3dmanager.h" #include "decomp.h" +#include "ddraw.h" // VTABLE 0x100d9c88 // SIZE 0x590 @@ -26,6 +27,9 @@ class LegoVideoManager : public MxVideoManager void SetSkyColor(float r, float g, float b); inline void SetUnkE4(MxBool p_value) { this->m_unke4 = p_value; } + // OFFSET: LEGO1 0x1007c4c0 + void OverrideSkyColor(MxBool shouldOverride) { this->m_videoParam.GetPalette()->SetOverrideSkyColor(shouldOverride);} + private: undefined4 m_unk64; Lego3DManager *m_3dManager; @@ -34,6 +38,16 @@ class LegoVideoManager : public MxVideoManager MxDirect3D *m_direct3d; undefined m_pad78[0x6c]; MxBool m_unke4; + undefined m_pade5[2]; + PALETTEENTRY m_paletteEntries[256]; + MxBool m_unk4e7; + undefined4 m_unk4e8; + MxBool m_isFullScreenMovie; + undefined m_pad4ed[0x14]; + MxBool m_cursorMoved; + undefined m_pad4f8[8]; + int m_cursorX; + int m_cursorY; }; #endif // LEGOVIDEOMANAGER_H