mirror of
https://github.com/isledecomp/isle-portable.git
synced 2024-11-22 23:48:12 -05:00
Add missing ClassName's and IsA's (#262)
* Add missing ClassName's and IsA's Exceptions: LegoAnimActor as it does something weird with a call to another private/inlined function(?) and RaceStandsEntity which seems to have two vtables * clang-format --------- Co-authored-by: Christian Semmler <mail@csemmler.com>
This commit is contained in:
parent
24e889ee3d
commit
22ac0b9296
9 changed files with 119 additions and 2 deletions
|
@ -4,6 +4,20 @@
|
|||
#include "mxcore.h"
|
||||
|
||||
// VTABLE 0x100dc9a0
|
||||
class MxNextActionDataStart : public MxCore {};
|
||||
class MxNextActionDataStart : public MxCore {
|
||||
public:
|
||||
// OFFSET: LEGO1 0x100c1900
|
||||
inline virtual const char* ClassName() const override // vtable+0xc
|
||||
{
|
||||
// 0x101025a0
|
||||
return "MxNextActionDataStart";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100c1910
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, MxNextActionDataStart::ClassName()) || MxCore::IsA(name);
|
||||
}
|
||||
};
|
||||
|
||||
#endif // MXNEXTACTIONDATASTART_H
|
||||
|
|
|
@ -9,6 +9,19 @@ class MxRAMStreamProvider : public MxStreamProvider {
|
|||
MxRAMStreamProvider();
|
||||
virtual ~MxRAMStreamProvider() override;
|
||||
|
||||
// OFFSET: LEGO1 0x100d0970
|
||||
inline virtual const char* ClassName() const override // vtable+0xc
|
||||
{
|
||||
// 0x10102864
|
||||
return "MxRAMStreamProvider";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100d0980
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, MxRAMStreamProvider::ClassName()) || MxStreamProvider::IsA(name);
|
||||
}
|
||||
|
||||
virtual MxResult SetResourceToGet(MxStreamController* p_resource) override; // vtable+0x14
|
||||
virtual MxU32 GetFileSize() override; // vtable+0x18
|
||||
virtual MxU32 GetStreamBuffersNum() override; // vtable+0x1c
|
||||
|
|
|
@ -13,6 +13,19 @@ class MxSmkPresenter : public MxVideoPresenter {
|
|||
MxSmkPresenter();
|
||||
virtual ~MxSmkPresenter() override;
|
||||
|
||||
// OFFSET: LEGO1 0x100b3730
|
||||
inline virtual const char* ClassName() const override // vtable+0xc
|
||||
{
|
||||
// 0x10101e38
|
||||
return "MxSmkPresenter";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100b3740
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, MxSmkPresenter::ClassName()) || MxVideoPresenter::IsA(name);
|
||||
}
|
||||
|
||||
virtual void Destroy() override;
|
||||
virtual void VTable0x5c(undefined4 p_unknown1) override;
|
||||
virtual void VTable0x60() override;
|
||||
|
|
|
@ -8,6 +8,19 @@
|
|||
// SIZE 0x6c
|
||||
class MxStillPresenter : public MxVideoPresenter {
|
||||
public:
|
||||
// OFFSET: LEGO1 0x100435c0
|
||||
inline virtual const char* ClassName() const override // vtable+0xc
|
||||
{
|
||||
// 0x100f0184
|
||||
return "MxStillPresenter";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100435d0
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, MxStillPresenter::ClassName()) || MxVideoPresenter::IsA(name);
|
||||
}
|
||||
|
||||
virtual void ParseExtra() override; // vtable+0x30
|
||||
|
||||
MxStillPresenter() { m_unk68 = 0; }
|
||||
|
|
|
@ -4,6 +4,19 @@
|
|||
#include "mxdschunk.h"
|
||||
|
||||
// VTABLE 0x100dc2a8
|
||||
class MxStreamChunk : public MxDSChunk {};
|
||||
class MxStreamChunk : public MxDSChunk {
|
||||
// OFFSET: LEGO1 0x100b1fe0
|
||||
inline virtual const char* ClassName() const override // vtable+0xc
|
||||
{
|
||||
// 0x10101e5c
|
||||
return "MxStreamChunk";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100b1ff0
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, MxStreamChunk::ClassName()) || MxDSChunk::IsA(name);
|
||||
}
|
||||
};
|
||||
|
||||
#endif // MXSTREAMCHUNK_H
|
||||
|
|
|
@ -7,6 +7,18 @@
|
|||
// SIZE 0x84
|
||||
class Pizzeria : public IsleActor {
|
||||
public:
|
||||
// OFFSET: LEGO1 0x1000e780
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f0380
|
||||
return "Pizzeria";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x1000e790
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, Pizzeria::ClassName()) || IsleActor::IsA(name);
|
||||
}
|
||||
};
|
||||
|
||||
#endif // PIZZERIASTATE_H
|
||||
|
|
|
@ -8,6 +8,19 @@
|
|||
class PizzeriaState : public LegoState {
|
||||
public:
|
||||
PizzeriaState();
|
||||
|
||||
// OFFSET: LEGO1 0x10017c20
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f0370
|
||||
return "PizzeriaState";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x10017c30
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, PizzeriaState::ClassName()) || LegoState::IsA(name);
|
||||
}
|
||||
};
|
||||
|
||||
#endif // PIZZERIASTATE_H
|
||||
|
|
|
@ -7,6 +7,19 @@
|
|||
class Radio : public MxCore {
|
||||
public:
|
||||
virtual ~Radio() override;
|
||||
|
||||
// OFFSET: LEGO1 0x1002c8e0
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f328c
|
||||
return "Radio";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x1002c8f0
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, Radio::ClassName()) || MxCore::IsA(name);
|
||||
}
|
||||
};
|
||||
|
||||
#endif // RADIO_H
|
||||
|
|
|
@ -11,6 +11,19 @@ class RegistrationBook : public LegoWorld {
|
|||
virtual ~RegistrationBook() override; // vtable+0x0
|
||||
|
||||
virtual MxLong Notify(MxParam& p) override; // vtable+0x4
|
||||
|
||||
// OFFSET: LEGO1 0x10076e10
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f04c8
|
||||
return "RegistrationBook";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x10076e20
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, RegistrationBook::ClassName()) || LegoWorld::IsA(name);
|
||||
}
|
||||
};
|
||||
|
||||
#endif // REGISTRATIONBOOK_H
|
||||
|
|
Loading…
Reference in a new issue