mirror of
https://github.com/isledecomp/isle.git
synced 2025-10-23 16:34:06 +00:00
Implement LegoVideoManager::Create and related (#393)
* WIP * Match * Changes * Fix format * Style fixes * Update naming.yml * Match to ~85%
This commit is contained in:
committed by
GitHub
parent
1e43f20af5
commit
935ebe6910
@@ -1,18 +1,34 @@
|
||||
#include "lego3dmanager.h"
|
||||
|
||||
#include "decomp.h"
|
||||
#include "mxrendersettings.h"
|
||||
#include "mxunknown100dbdbc.h"
|
||||
#include "tgl/tgl.h"
|
||||
#include "tglsurface.h"
|
||||
#include "viewmanager/viewlodlist.h"
|
||||
|
||||
DECOMP_SIZE_ASSERT(Lego3DManager, 0x10);
|
||||
|
||||
// FUNCTION: LEGO1 0x100ab2d0
|
||||
BOOL InitializeCreateStruct(TglSurface::CreateStruct& p_tglSurface, const Lego3DManager::CreateStruct& p_createStruct)
|
||||
{
|
||||
p_tglSurface.m_unk0x00 = p_createStruct.m_unk0x00;
|
||||
p_tglSurface.m_hwnd = p_createStruct.m_hwnd;
|
||||
p_tglSurface.m_directDraw = p_createStruct.m_directDraw;
|
||||
p_tglSurface.m_ddSurface1 = p_createStruct.m_ddSurface1;
|
||||
p_tglSurface.m_ddSurface2 = p_createStruct.m_ddSurface2;
|
||||
p_tglSurface.m_ddPalette = p_createStruct.m_ddPalette;
|
||||
p_tglSurface.m_isFullScreen = p_createStruct.m_isFullScreen;
|
||||
p_tglSurface.m_flags = p_createStruct.m_flags;
|
||||
p_tglSurface.m_direct3d = p_createStruct.m_direct3d;
|
||||
p_tglSurface.m_d3dDevice = p_createStruct.m_d3dDevice;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x100ab320
|
||||
Lego3DManager::Lego3DManager()
|
||||
{
|
||||
m_render = NULL;
|
||||
m_renderer = NULL;
|
||||
m_3dView = NULL;
|
||||
m_unk0x0c = NULL;
|
||||
m_viewLODListManager = NULL;
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x100ab360
|
||||
@@ -22,16 +38,17 @@ Lego3DManager::~Lego3DManager()
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x100ab370
|
||||
void Lego3DManager::Init(MxRenderSettings& p_settings)
|
||||
BOOL Lego3DManager::Create(Lego3DManager::CreateStruct& p_createStruct)
|
||||
{
|
||||
m_unk0x0c = new MxUnknown100dbdbc();
|
||||
m_render = Tgl::CreateRenderer();
|
||||
m_3dView = new Lego3DView();
|
||||
TglSurface::CreateStruct surfaceCreateStruct;
|
||||
|
||||
MxRenderSettings settings;
|
||||
MxRenderSettings::CopyFrom(settings, p_settings);
|
||||
m_viewLODListManager = new ViewLODListManager;
|
||||
m_renderer = Tgl::CreateRenderer();
|
||||
m_3dView = new Lego3DView;
|
||||
|
||||
m_3dView->Init(settings, *m_render);
|
||||
InitializeCreateStruct(surfaceCreateStruct, p_createStruct);
|
||||
|
||||
return m_3dView->Create(surfaceCreateStruct, m_renderer);
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x100ab460
|
||||
@@ -39,8 +56,10 @@ void Lego3DManager::Destroy()
|
||||
{
|
||||
delete m_3dView;
|
||||
m_3dView = NULL;
|
||||
delete m_render;
|
||||
m_render = NULL;
|
||||
delete m_unk0x0c;
|
||||
m_unk0x0c = NULL;
|
||||
|
||||
delete m_renderer;
|
||||
m_renderer = NULL;
|
||||
|
||||
delete m_viewLODListManager;
|
||||
m_viewLODListManager = NULL;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user