mirror of
https://github.com/isledecomp/isle.git
synced 2025-12-10 08:03:13 +00:00
Consolidate state and building entity classes (#989)
This commit is contained in:
committed by
GitHub
parent
73bb37596e
commit
133a312aee
@@ -2,10 +2,60 @@
|
||||
#define LEGORACE_H
|
||||
|
||||
#include "decomp.h"
|
||||
#include "legostate.h"
|
||||
#include "legoworld.h"
|
||||
#include "mxrect32.h"
|
||||
#include "mxtypes.h"
|
||||
|
||||
// VTABLE: LEGO1 0x100d5e30
|
||||
// SIZE 0x2c
|
||||
class RaceState : public LegoState {
|
||||
public:
|
||||
// SIZE 0x06
|
||||
struct Entry {
|
||||
public:
|
||||
inline MxS16 GetUnknown0x02() { return m_unk0x02; }
|
||||
inline MxU16 GetScore() { return m_score; }
|
||||
|
||||
// TODO: Possibly private
|
||||
MxU8 m_id; // 0x00
|
||||
MxS16 m_unk0x02; // 0x02
|
||||
MxU16 m_score; // 0x04
|
||||
};
|
||||
|
||||
RaceState();
|
||||
|
||||
// FUNCTION: LEGO1 0x10016010
|
||||
inline const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// STRING: LEGO1 0x100f07d0
|
||||
return "RaceState";
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x10016020
|
||||
inline MxBool IsA(const char* p_name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(p_name, RaceState::ClassName()) || LegoState::IsA(p_name);
|
||||
}
|
||||
|
||||
MxResult Serialize(LegoFile* p_legoFile) override; // vtable+0x1c
|
||||
|
||||
Entry* GetState(MxU8 p_id);
|
||||
|
||||
inline undefined4 GetUnknown0x28() { return m_unk0x28; }
|
||||
|
||||
// SYNTHETIC: LEGO1 0x1000f6f0
|
||||
// RaceState::~RaceState
|
||||
|
||||
// SYNTHETIC: LEGO1 0x100160d0
|
||||
// RaceState::`scalar deleting destructor'
|
||||
|
||||
// TODO: Most likely getters/setters are not used according to BETA.
|
||||
|
||||
Entry m_state[5]; // 0x08
|
||||
undefined4 m_unk0x28; // 0x28
|
||||
};
|
||||
|
||||
// VTABLE: LEGO1 0x100d5db0
|
||||
// SIZE 0x144
|
||||
class LegoRace : public LegoWorld {
|
||||
|
||||
Reference in New Issue
Block a user