Fix it all

This commit is contained in:
Christian Semmler 2023-11-24 07:08:51 -05:00
parent 6fd4c3d01a
commit 2e971d0e0c
2 changed files with 26 additions and 24 deletions

View File

@ -1,25 +1,23 @@
#include "legorace.h" #include "legorace.h"
#include "mxnotificationmanager.h"
DECOMP_SIZE_ASSERT(LegoRace, 0x144) DECOMP_SIZE_ASSERT(LegoRace, 0x144)
#include "mxnotificationmanager.h"
#include "mxomni.h"
// OFFSET: LEGO1 0x1000dab0 // OFFSET: LEGO1 0x1000dab0
undefined4 LegoRace::vtable0x78(void) undefined4 LegoRace::VTable0x78(undefined4)
{ {
return 0; return 0;
} }
// OFFSET: LEGO1 0x1000dac0 STUB // OFFSET: LEGO1 0x1000dac0 STUB
void LegoRace::vtable0x7c() void LegoRace::VTable0x7c(undefined4, undefined4)
{ {
// TODO // TODO
return;
} }
// OFFSET: LEGO1 0x1000dae0 // OFFSET: LEGO1 0x1000dae0
MxBool LegoRace::vtable0x5c() MxBool LegoRace::VTable0x5c()
{ {
return TRUE; return TRUE;
} }
@ -46,23 +44,30 @@ LegoRace::LegoRace()
} }
// OFFSET: LEGO1 0x10015b70 // OFFSET: LEGO1 0x10015b70
undefined4 LegoRace::vtable0x70() undefined4 LegoRace::VTable0x70(undefined4)
{ {
return 0; return 0;
} }
// OFFSET: LEGO1 0x10015b80 // OFFSET: LEGO1 0x10015b80
undefined4 LegoRace::vtable0x74() undefined4 LegoRace::VTable0x74(undefined4)
{ {
return 0; return 0;
} }
// OFFSET: LEGO1 0x10015b90 // OFFSET: LEGO1 0x10015b90
MxBool LegoRace::vtable0x64() MxBool LegoRace::VTable0x64()
{ {
return FALSE; return FALSE;
} }
// OFFSET: LEGO1 0x10015ce0 STUB
MxResult LegoRace::Create(MxDSObject& p_dsObject)
{
// TODO
return SUCCESS;
}
// OFFSET: LEGO1 0x10015d40 STUB // OFFSET: LEGO1 0x10015d40 STUB
LegoRace::~LegoRace() LegoRace::~LegoRace()
{ {
@ -73,13 +78,11 @@ LegoRace::~LegoRace()
MxLong LegoRace::Notify(MxParam& p) MxLong LegoRace::Notify(MxParam& p)
{ {
// TODO // TODO
return 0; return 0;
} }
// OFFSET: LEGO1 0x10015ed0 STUB // OFFSET: LEGO1 0x10015ed0 STUB
void LegoRace::vtable0x68(MxBool p_add) void LegoRace::VTable0x68(MxBool p_add)
{ {
// TODO // TODO
return;
} }

View File

@ -6,6 +6,7 @@
#include "mxtypes.h" #include "mxtypes.h"
// VTABLE 0x100d5db0 // VTABLE 0x100d5db0
// SIZE 0x144
class LegoRace : public LegoWorld { class LegoRace : public LegoWorld {
public: public:
LegoRace(); LegoRace();
@ -26,18 +27,16 @@ class LegoRace : public LegoWorld {
return !strcmp(name, LegoRace::ClassName()) || LegoWorld::IsA(name); return !strcmp(name, LegoRace::ClassName()) || LegoWorld::IsA(name);
} }
// FIXME: Something is wrong here that is breaking the linking virtual MxResult Create(MxDSObject& p_dsObject) override; // vtable+0x18
// virtual MxS32 vtable0x18(int) override; // vtable+0x18 // FIXME: should be virtual MxResult Create(MxDSObject& virtual MxBool VTable0x5c() override; // vtable+0x5c
// p_dsObject) override; // vtable+0x18 virtual MxBool VTable0x64() override; // vtable+0x64
virtual void VTable0x68(MxBool p_add) override; // vtable+0x68
virtual undefined4 VTable0x6c(undefined4) = 0; // vtable+0x6c
virtual undefined4 VTable0x70(undefined4); // vtable+0x70
virtual undefined4 VTable0x74(undefined4); // vtable+0x74
virtual undefined4 VTable0x78(undefined4); // vtable+0x78
virtual void VTable0x7c(undefined4, undefined4); // vtable+0x7c
virtual MxBool vtable0x5c() override; // vtable+0x5c
virtual MxBool vtable0x64() override; // vtable+0x64
virtual void vtable0x68(MxBool p_add) override; // vtable+0x68
virtual undefined4 vtable0x70(); // vtable+0x70
virtual undefined4 vtable0x74(); // vtable+0x74
virtual undefined4 vtable0x78(); // vtable+0x78
virtual void vtable0x7c(); // vtable+0x7c
private: private:
undefined4 m_unkf8; // 0xf8 undefined4 m_unkf8; // 0xf8
undefined4 m_unkfc; // 0xfc undefined4 m_unkfc; // 0xfc