Fix structure of Lego3DView (#422)

This commit is contained in:
Christian Semmler 2024-01-10 17:40:24 -05:00 committed by GitHub
parent b996fff6fa
commit 9eea48f629
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 31 additions and 10 deletions

View file

@ -10,11 +10,12 @@ DECOMP_SIZE_ASSERT(Lego3DView, 0xa8)
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Lego3DView // Lego3DView
// STUB: LEGO1 0x100aae90 // FUNCTION: LEGO1 0x100aae90
Lego3DView::Lego3DView() Lego3DView::Lego3DView()
{ {
m_pViewManager = 0; m_pViewManager = 0;
m_previousRenderTime = 0; m_previousRenderTime = 0;
m_unk0x98 = 0;
m_pPointOfView = 0; m_pPointOfView = 0;
} }
@ -53,12 +54,12 @@ BOOL Lego3DView::Create(const TglSurface::CreateStruct& rCreateStruct, Tgl::Rend
return TRUE; return TRUE;
} }
// STUB: LEGO1 0x100ab0b0 // FUNCTION: LEGO1 0x100ab0b0
void Lego3DView::Destroy() void Lego3DView::Destroy()
{ {
if (m_pPointOfView) { if (m_pPointOfView) {
m_pPointOfView = 0; m_pPointOfView = 0;
// m_pViewManager->SetPOVSource(0); m_pViewManager->SetPOVSource(0);
} }
delete m_pViewManager; delete m_pViewManager;

View file

@ -3,9 +3,7 @@
#include "decomp.h" #include "decomp.h"
#include "legoview1.h" #include "legoview1.h"
#include "viewmanager/viewmanager.h"
class ViewROI;
class ViewManager;
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Lego3DView // Lego3DView
@ -35,9 +33,9 @@ class Lego3DView : public LegoView1 {
private: private:
ViewManager* m_pViewManager; // 0x88 ViewManager* m_pViewManager; // 0x88
double m_previousRenderTime; // 0x8c double m_previousRenderTime; // 0x90
ViewROI* m_pPointOfView; // 0x94 double m_unk0x98; // 0x98
undefined m_unk0x98[0x0c]; // 0x98 ViewROI* m_pPointOfView; // 0xa0
}; };
// SYNTHETIC: LEGO1 0x100aaf10 // SYNTHETIC: LEGO1 0x100aaf10

View file

@ -1,7 +1,22 @@
#include "viewmanager.h" #include "viewmanager.h"
// STUB: LEGO1 0x100a5eb0
ViewManager::ViewManager(Tgl::Group* scene, const OrientableROI* point_of_view)
{
}
// STUB: LEGO1 0x100a60c0
ViewManager::~ViewManager()
{
}
// STUB: LEGO1 0x100a64d0 // STUB: LEGO1 0x100a64d0
void ViewManager::RemoveAll(ViewROI*) void ViewManager::RemoveAll(ViewROI*)
{ {
// TODO // TODO
} }
// STUB: LEGO1 0x100a6da0
void ViewManager::SetPOVSource(const OrientableROI* point_of_view)
{
}

View file

@ -1,11 +1,18 @@
#ifndef VIEWMANAGER_H #ifndef VIEWMANAGER_H
#define VIEWMANAGER_H #define VIEWMANAGER_H
class ViewROI; #include "viewroi.h"
// VTABLE: LEGO1 0x100dbd88
// SIZE 0x1bc
class ViewManager { class ViewManager {
public: public:
ViewManager(Tgl::Group* scene, const OrientableROI* point_of_view);
virtual ~ViewManager();
__declspec(dllexport) void RemoveAll(ViewROI*); __declspec(dllexport) void RemoveAll(ViewROI*);
void SetPOVSource(const OrientableROI* point_of_view);
}; };
#endif // VIEWMANAGER_H #endif // VIEWMANAGER_H