mirror of
https://github.com/isledecomp/isle-portable.git
synced 2025-02-18 04:30:36 -05:00
LegoRace initial layout (#299)
* LegoRace initial layout * fix function ordering * Fix it all --------- Co-authored-by: Christian Semmler <mail@csemmler.com>
This commit is contained in:
parent
14f05ea823
commit
a577b393bf
2 changed files with 101 additions and 3 deletions
|
@ -1,11 +1,73 @@
|
||||||
#include "legorace.h"
|
#include "legorace.h"
|
||||||
|
|
||||||
// OFFSET: LEGO1 0x10015aa0 STUB
|
#include "mxnotificationmanager.h"
|
||||||
LegoRace::LegoRace()
|
|
||||||
|
DECOMP_SIZE_ASSERT(LegoRace, 0x144)
|
||||||
|
|
||||||
|
// OFFSET: LEGO1 0x1000dab0
|
||||||
|
undefined4 LegoRace::VTable0x78(undefined4)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// OFFSET: LEGO1 0x1000dac0 STUB
|
||||||
|
void LegoRace::VTable0x7c(undefined4, undefined4)
|
||||||
{
|
{
|
||||||
// TODO
|
// TODO
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// OFFSET: LEGO1 0x1000dae0
|
||||||
|
MxBool LegoRace::VTable0x5c()
|
||||||
|
{
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
// OFFSET: LEGO1 0x10015aa0
|
||||||
|
LegoRace::LegoRace()
|
||||||
|
{
|
||||||
|
this->m_unkf8 = 0;
|
||||||
|
this->m_unkfc = 0;
|
||||||
|
this->m_unk100 = 0;
|
||||||
|
this->m_unk104 = 0;
|
||||||
|
this->m_unk108 = 0;
|
||||||
|
this->m_unk10c = 0;
|
||||||
|
this->m_unk140 = 0;
|
||||||
|
this->m_unk110 = 0;
|
||||||
|
this->m_unk114 = 0;
|
||||||
|
this->m_unk118 = 0;
|
||||||
|
this->m_unk128 = 0;
|
||||||
|
this->m_unk12c = 0;
|
||||||
|
this->m_unk120 = 0;
|
||||||
|
this->m_unk124 = 0;
|
||||||
|
this->m_unk11c = 0;
|
||||||
|
NotificationManager()->Register(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
// OFFSET: LEGO1 0x10015b70
|
||||||
|
undefined4 LegoRace::VTable0x70(undefined4)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// OFFSET: LEGO1 0x10015b80
|
||||||
|
undefined4 LegoRace::VTable0x74(undefined4)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// OFFSET: LEGO1 0x10015b90
|
||||||
|
MxBool LegoRace::VTable0x64()
|
||||||
|
{
|
||||||
|
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()
|
||||||
{
|
{
|
||||||
|
@ -16,6 +78,11 @@ LegoRace::~LegoRace()
|
||||||
MxLong LegoRace::Notify(MxParam& p)
|
MxLong LegoRace::Notify(MxParam& p)
|
||||||
{
|
{
|
||||||
// TODO
|
// TODO
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// OFFSET: LEGO1 0x10015ed0 STUB
|
||||||
|
void LegoRace::VTable0x68(MxBool p_add)
|
||||||
|
{
|
||||||
|
// TODO
|
||||||
|
}
|
||||||
|
|
|
@ -1,9 +1,12 @@
|
||||||
#ifndef LEGORACE_H
|
#ifndef LEGORACE_H
|
||||||
#define LEGORACE_H
|
#define LEGORACE_H
|
||||||
|
|
||||||
|
#include "decomp.h"
|
||||||
#include "legoworld.h"
|
#include "legoworld.h"
|
||||||
|
#include "mxtypes.h"
|
||||||
|
|
||||||
// VTABLE 0x100d5db0
|
// VTABLE 0x100d5db0
|
||||||
|
// SIZE 0x144
|
||||||
class LegoRace : public LegoWorld {
|
class LegoRace : public LegoWorld {
|
||||||
public:
|
public:
|
||||||
LegoRace();
|
LegoRace();
|
||||||
|
@ -23,6 +26,34 @@ public:
|
||||||
{
|
{
|
||||||
return !strcmp(name, LegoRace::ClassName()) || LegoWorld::IsA(name);
|
return !strcmp(name, LegoRace::ClassName()) || LegoWorld::IsA(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
private:
|
||||||
|
undefined4 m_unkf8; // 0xf8
|
||||||
|
undefined4 m_unkfc; // 0xfc
|
||||||
|
undefined4 m_unk100; // 0x100
|
||||||
|
undefined4 m_unk104; // 0x104
|
||||||
|
undefined4 m_unk108; // 0x108
|
||||||
|
undefined4 m_unk10c; // 0x10c
|
||||||
|
undefined4 m_unk110; // 0x110
|
||||||
|
undefined4 m_unk114; // 0x114
|
||||||
|
undefined4 m_unk118; // 0x118
|
||||||
|
undefined4 m_unk11c; // 0x11c
|
||||||
|
undefined4 m_unk120; // 0x120 - this may be the current vehcle (function at 0x10015880)
|
||||||
|
undefined4 m_unk124; // 0x124 - something game state
|
||||||
|
undefined4 m_unk128; // 0x128
|
||||||
|
undefined4 m_unk12c; // 0x12c
|
||||||
|
undefined4 m_unk130[4]; // unconfirmed bytes, ghidra claims these are integers
|
||||||
|
undefined4 m_unk140;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // LEGORACE_H
|
#endif // LEGORACE_H
|
||||||
|
|
Loading…
Reference in a new issue