mirror of
https://github.com/isledecomp/isle-portable.git
synced 2024-11-27 01:45:37 -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"
|
#include "mxcore.h"
|
||||||
|
|
||||||
// VTABLE 0x100dc9a0
|
// 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
|
#endif // MXNEXTACTIONDATASTART_H
|
||||||
|
|
|
@ -9,6 +9,19 @@ class MxRAMStreamProvider : public MxStreamProvider {
|
||||||
MxRAMStreamProvider();
|
MxRAMStreamProvider();
|
||||||
virtual ~MxRAMStreamProvider() override;
|
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 MxResult SetResourceToGet(MxStreamController* p_resource) override; // vtable+0x14
|
||||||
virtual MxU32 GetFileSize() override; // vtable+0x18
|
virtual MxU32 GetFileSize() override; // vtable+0x18
|
||||||
virtual MxU32 GetStreamBuffersNum() override; // vtable+0x1c
|
virtual MxU32 GetStreamBuffersNum() override; // vtable+0x1c
|
||||||
|
|
|
@ -13,6 +13,19 @@ class MxSmkPresenter : public MxVideoPresenter {
|
||||||
MxSmkPresenter();
|
MxSmkPresenter();
|
||||||
virtual ~MxSmkPresenter() override;
|
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 Destroy() override;
|
||||||
virtual void VTable0x5c(undefined4 p_unknown1) override;
|
virtual void VTable0x5c(undefined4 p_unknown1) override;
|
||||||
virtual void VTable0x60() override;
|
virtual void VTable0x60() override;
|
||||||
|
|
|
@ -8,6 +8,19 @@
|
||||||
// SIZE 0x6c
|
// SIZE 0x6c
|
||||||
class MxStillPresenter : public MxVideoPresenter {
|
class MxStillPresenter : public MxVideoPresenter {
|
||||||
public:
|
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
|
virtual void ParseExtra() override; // vtable+0x30
|
||||||
|
|
||||||
MxStillPresenter() { m_unk68 = 0; }
|
MxStillPresenter() { m_unk68 = 0; }
|
||||||
|
|
|
@ -4,6 +4,19 @@
|
||||||
#include "mxdschunk.h"
|
#include "mxdschunk.h"
|
||||||
|
|
||||||
// VTABLE 0x100dc2a8
|
// 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
|
#endif // MXSTREAMCHUNK_H
|
||||||
|
|
|
@ -7,6 +7,18 @@
|
||||||
// SIZE 0x84
|
// SIZE 0x84
|
||||||
class Pizzeria : public IsleActor {
|
class Pizzeria : public IsleActor {
|
||||||
public:
|
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
|
#endif // PIZZERIASTATE_H
|
||||||
|
|
|
@ -8,6 +8,19 @@
|
||||||
class PizzeriaState : public LegoState {
|
class PizzeriaState : public LegoState {
|
||||||
public:
|
public:
|
||||||
PizzeriaState();
|
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
|
#endif // PIZZERIASTATE_H
|
||||||
|
|
|
@ -7,6 +7,19 @@
|
||||||
class Radio : public MxCore {
|
class Radio : public MxCore {
|
||||||
public:
|
public:
|
||||||
virtual ~Radio() override;
|
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
|
#endif // RADIO_H
|
||||||
|
|
|
@ -11,6 +11,19 @@ class RegistrationBook : public LegoWorld {
|
||||||
virtual ~RegistrationBook() override; // vtable+0x0
|
virtual ~RegistrationBook() override; // vtable+0x0
|
||||||
|
|
||||||
virtual MxLong Notify(MxParam& p) override; // vtable+0x4
|
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
|
#endif // REGISTRATIONBOOK_H
|
||||||
|
|
Loading…
Reference in a new issue