isle-portable/LEGO1/lego/sources/3dmanager/lego3dview.h
Anders Jenbo 4e2df63d9c
Get the game working on 64bit systems (#113)
* Use int instead of long

* Move static_asserts to the bottom

---------

Co-authored-by: Anonymous Maarten <anonymous.maarten@gmail.com>
2025-05-19 17:56:12 +02:00

61 lines
1.2 KiB
C++

#ifndef _Lego3DView_h
#define _Lego3DView_h
#include "decomp.h"
#include "legoview1.h"
class ViewManager;
class ViewROI;
/////////////////////////////////////////////////////////////////////////////
// Lego3DView
// VTABLE: LEGO1 0x100dbf78
// SIZE 0xa8
class Lego3DView : public LegoView1 {
public:
Lego3DView();
~Lego3DView() override;
BOOL Create(const CreateStruct&, Tgl::Renderer*);
void Destroy() override; // vtable+0x08
BOOL Add(ViewROI&);
BOOL Remove(ViewROI&);
BOOL Moved(ViewROI&);
BOOL SetPointOfView(ViewROI&);
double Render(double p_und);
ViewROI* Pick(unsigned int x, unsigned int y);
ViewROI* GetPointOfView();
ViewManager* GetViewManager();
private:
ViewManager* m_pViewManager; // 0x88
double m_previousRenderTime; // 0x90
double m_unk0x98; // 0x98
ViewROI* m_pPointOfView; // 0xa0
};
// SYNTHETIC: LEGO1 0x100aaf10
// Lego3DView::`scalar deleting destructor'
/////////////////////////////////////////////////////////////////////////////
//
// Lego3DView implementation
// FUNCTION: BETA10 0x10011810
inline ViewManager* Lego3DView::GetViewManager()
{
return m_pViewManager;
}
inline ViewROI* Lego3DView::GetPointOfView()
{
return m_pPointOfView;
}
#endif /* _Lego3DView_h */