Improve matches in ROI classes (#608)

* Improve matches in ROI classes

* More function implementations

* Fix name

* Fix vtables

* Add annotation
This commit is contained in:
Christian Semmler
2024-03-01 12:19:41 -05:00
committed by GitHub
parent e609924e4c
commit ec29f2633d
10 changed files with 89 additions and 54 deletions

View File

@@ -4,7 +4,7 @@
#include <vec.h>
DECOMP_SIZE_ASSERT(ViewROI, 0xe0)
DECOMP_SIZE_ASSERT(ViewROI, 0xe4)
// GLOBAL: LEGO1 0x101013d8
undefined g_unk101013d8 = 0;
@@ -28,7 +28,7 @@ Tgl::Group* ViewROI::GetGeometry()
}
// FUNCTION: LEGO1 0x100a9ee0
void ViewROI::UpdateWorldData(const MxMatrix& parent2world)
void ViewROI::UpdateWorldData(const Matrix4& parent2world)
{
OrientableROI::UpdateWorldData(parent2world);
@@ -42,7 +42,7 @@ void ViewROI::UpdateWorldData(const MxMatrix& parent2world)
}
// STUB: LEGO1 0x100a9fc0
void ViewROI::VTable0x24(const MxMatrix& p_transform)
void ViewROI::VTable0x24(const Matrix4& p_transform)
{
// TODO
}

View File

@@ -13,13 +13,14 @@
*/
// VTABLE: LEGO1 0x100dbe70
// SIZE 0xe0
// SIZE 0xe4
class ViewROI : public OrientableROI {
public:
inline ViewROI(Tgl::Renderer* pRenderer, ViewLODList* lodList)
{
SetLODList(lodList);
geometry = pRenderer->CreateGroup();
m_unk0xe0 = -1;
}
// FUNCTION: LEGO1 0x100a9e20
@@ -51,16 +52,17 @@ public:
float IntrinsicImportance() const override; // vtable+0x04
void VTable0x1c() override; // vtable+0x1c
void SetLocalTransform(const Matrix4& p_transform) override; // vtable+0x20
void VTable0x24(const MxMatrix& p_transform) override; // vtable+0x24
void VTable0x24(const Matrix4& p_transform) override; // vtable+0x24
virtual const Tgl::Group* GetGeometry() const; // vtable+0x34
virtual Tgl::Group* GetGeometry(); // vtable+0x30
static undefined SetUnk101013d8(undefined p_flag);
protected:
void UpdateWorldData(const MxMatrix& parent2world) override;
void UpdateWorldData(const Matrix4& parent2world) override; // vtable+0x28
Tgl::Group* geometry; // 0xdc
int m_unk0xe0; // 0xe0
};
// SYNTHETIC: LEGO1 0x100aa250