Implement LegoVideoManager::Create and related (#393)

* WIP

* Match

* Changes

* Fix format

* Style fixes

* Update naming.yml

* Match to ~85%
This commit is contained in:
Christian Semmler
2024-01-01 19:17:38 -05:00
committed by GitHub
parent 1e43f20af5
commit 935ebe6910
33 changed files with 742 additions and 199 deletions

View File

@@ -3,23 +3,39 @@
#include "lego3dview.h"
class MxUnknown100dbdbc;
class ViewLODListManager;
// VTABLE: LEGO1 0x100dbfa4
// SIZE 0x10
class Lego3DManager {
public:
// SIZE 0x28
struct CreateStruct {
undefined4 m_unk0x00; // 0x00
HWND m_hwnd; // 0x04
IDirectDraw* m_directDraw; // 0x08
IDirectDrawSurface* m_ddSurface1; // 0x0c
IDirectDrawSurface* m_ddSurface2; // 0x10
IDirectDrawPalette* m_ddPalette; // 0x14
BOOL m_isFullScreen; // 0x18
MxU32 m_flags; // 0x1c
IDirect3D* m_direct3d; // 0x20
IDirect3DDevice* m_d3dDevice; // 0x24
};
Lego3DManager();
virtual ~Lego3DManager();
BOOL Create(CreateStruct& p_createStruct);
inline Lego3DView* GetLego3DView() { return this->m_3dView; }
inline ViewLODListManager* GetViewLODListManager() { return this->m_viewLODListManager; }
private:
Tgl::Renderer* m_render; // 0x04
Lego3DView* m_3dView; // 0x08
MxUnknown100dbdbc* m_unk0x0c; // 0x0c
Tgl::Renderer* m_renderer; // 0x04
Lego3DView* m_3dView; // 0x08
ViewLODListManager* m_viewLODListManager; // 0x0c
void Init(MxRenderSettings& p_settings);
void Destroy();
};