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

View File

@ -6,6 +6,7 @@
#include "mxtypes.h"
// VTABLE 0x100d5db0
// SIZE 0x144
class LegoRace : public LegoWorld {
public:
LegoRace();
@ -26,18 +27,16 @@ class LegoRace : public LegoWorld {
return !strcmp(name, LegoRace::ClassName()) || LegoWorld::IsA(name);
}
// FIXME: Something is wrong here that is breaking the linking
// virtual MxS32 vtable0x18(int) override; // vtable+0x18 // FIXME: should be virtual MxResult Create(MxDSObject&
// p_dsObject) override; // vtable+0x18
virtual MxResult Create(MxDSObject& p_dsObject) override; // vtable+0x18
virtual MxBool VTable0x5c() override; // vtable+0x5c
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:
undefined4 m_unkf8; // 0xf8
undefined4 m_unkfc; // 0xfc