Fix some vtables

This commit is contained in:
Christian Semmler 2024-01-18 08:26:25 -05:00
parent 8d69d33b58
commit 8aedb6449f
5 changed files with 32 additions and 8 deletions

View File

@ -1,6 +1,7 @@
#ifndef GIFMANAGER_H #ifndef GIFMANAGER_H
#define GIFMANAGER_H #define GIFMANAGER_H
#include "compat.h"
#include "decomp.h" #include "decomp.h"
#include "mxtypes.h" #include "mxtypes.h"
@ -45,8 +46,11 @@ class GifMap {
// VTABLE: LEGO1 0x100d86d4 // VTABLE: LEGO1 0x100d86d4
class GifManagerBase { class GifManagerBase {
public: public:
// STUB: LEGO1 0x1005a310 // STUB: LEGO1 0x1005b660
virtual ~GifManagerBase() {} // vtable+00 virtual ~GifManagerBase() {}
// SYNTHETIC: LEGO1 0x1005a310
// GifManagerBase::`scalar deleting destructor'
inline GifData* Get(const char* p_name) { return m_unk0x8.Get(p_name); } inline GifData* Get(const char* p_name) { return m_unk0x8.Get(p_name); }
@ -59,8 +63,10 @@ class GifManagerBase {
// VTABLE: LEGO1 0x100d86fc // VTABLE: LEGO1 0x100d86fc
class GifManager : public GifManagerBase { class GifManager : public GifManagerBase {
public: public:
// STUB: LEGO1 0x1005a580 virtual ~GifManager() override;
virtual ~GifManager() {} // vtable+00
// SYNTHETIC: LEGO1 0x1005a580
// GifManager::`scalar deleting destructor'
protected: protected:
undefined m_unk0x14[0x1c]; undefined m_unk0x14[0x1c];

View File

@ -8,7 +8,7 @@
class LegoPathController : public MxCore { class LegoPathController : public MxCore {
public: public:
LegoPathController(); LegoPathController();
virtual ~LegoPathController() override; virtual ~LegoPathController() override { Destroy(); };
virtual MxResult Tickle() override; // vtable+08 virtual MxResult Tickle() override; // vtable+08
@ -24,6 +24,12 @@ class LegoPathController : public MxCore {
{ {
return !strcmp(p_name, LegoPathController::ClassName()) || MxCore::IsA(p_name); return !strcmp(p_name, LegoPathController::ClassName()) || MxCore::IsA(p_name);
} }
// SYNTHETIC: LEGO1 0x10045740
// LegoPathController::`scalar deleting destructor'
virtual void VTable0x14(); // vtable+0x14
virtual void Destroy(); // vtable+0x18
}; };
#endif // LEGOPATHCONTROLLER_H #endif // LEGOPATHCONTROLLER_H

View File

@ -24,3 +24,9 @@ GifMapEntry* GifMap::FindNode(const char*& p_string)
} }
return ret; return ret;
} }
// STUB: LEGO1 0x10099870
GifManager::~GifManager()
{
// TODO
}

View File

@ -6,8 +6,14 @@ LegoPathController::LegoPathController()
// TODO // TODO
} }
// STUB: LEGO1 0x10045740 // STUB: LEGO1 0x10045880
LegoPathController::~LegoPathController() void LegoPathController::VTable0x14()
{
// TODO
}
// STUB: LEGO1 0x10045b20
void LegoPathController::Destroy()
{ {
// TODO // TODO
} }

View File

@ -58,7 +58,7 @@ class Matrix4 {
m_data[3][3] = 1.0f; m_data[3][3] = 1.0f;
} // vtable+0x24 } // vtable+0x24
// FUNCTION: LEGO1 0x10002850 // FUNCTION: LEGO1 0x10002420
virtual void operator=(const Matrix4& p_matrix) { Equals(p_matrix); } // vtable+0x28 virtual void operator=(const Matrix4& p_matrix) { Equals(p_matrix); } // vtable+0x28
// FUNCTION: LEGO1 0x10002430 // FUNCTION: LEGO1 0x10002430