From e3458b84192a36bdb48b1cb4efd678dfb8434b49 Mon Sep 17 00:00:00 2001 From: Joshua Peisach Date: Fri, 18 Aug 2023 19:24:19 -0400 Subject: [PATCH] Add missing ClassName(s) and IsA(s) --- LEGO1/racecar.h | 14 ++++++++++++++ LEGO1/skateboard.h | 13 +++++++++++++ LEGO1/towtrack.h | 14 ++++++++++++++ 3 files changed, 41 insertions(+) diff --git a/LEGO1/racecar.h b/LEGO1/racecar.h index f8bd6ccf..9b870eb7 100644 --- a/LEGO1/racecar.h +++ b/LEGO1/racecar.h @@ -10,6 +10,20 @@ class RaceCar : public IslePathActor public: RaceCar(); virtual ~RaceCar() override; // vtable+0x0 + + // OFFSET: LEGO1 0x10028270 + inline virtual const char *ClassName() const override // vtable+0x0c + { + // 0x100f03e0 + return "RaceCar"; + } + + // OFFSET: LEGO1 0x10028280 + inline virtual MxBool IsA(const char *name) const override // vtable+0x10 + { + return !strcmp(name, RaceCar::ClassName()) || IslePathActor::IsA(name); + } + }; #endif // RACECAR_H diff --git a/LEGO1/skateboard.h b/LEGO1/skateboard.h index 1b39ffbf..c7c32931 100644 --- a/LEGO1/skateboard.h +++ b/LEGO1/skateboard.h @@ -11,6 +11,19 @@ class SkateBoard : public IslePathActor { public: SkateBoard(); + + // OFFSET: LEGO1 0x1000fdd0 + inline virtual const char *ClassName() const override // vtable+0x0c + { + // 0x100f041c + return "SkateBoard"; + } + + // OFFSET: LEGO1 0x1000fde0 + inline virtual MxBool IsA(const char *name) const override // vtable+0x10 + { + return !strcmp(name, SkateBoard::ClassName()) || IslePathActor::IsA(name); + } private: // TODO: SkateBoard types undefined m_unk160; diff --git a/LEGO1/towtrack.h b/LEGO1/towtrack.h index a74b63c3..260b74cd 100644 --- a/LEGO1/towtrack.h +++ b/LEGO1/towtrack.h @@ -10,6 +10,20 @@ class TowTrack : public IslePathActor { public: TowTrack(); + + // OFFSET: LEGO1 0x1004c7c0 + inline virtual const char *ClassName() const override // vtable+0x0c + { + // 0x100f03b8 + return "TowTrack"; + } + + // OFFSET: LEGO1 0x1004c7d0 + inline virtual MxBool IsA(const char *name) const override // vtable+0x10 + { + return !strcmp(name, TowTrack::ClassName()) || IslePathActor::IsA(name); + } + private: // TODO: TowTrack field types undefined m_unk160[0x4];