From c35154c9bc63283bb7c358147268fd3c08ada784 Mon Sep 17 00:00:00 2001 From: disinvite Date: Mon, 10 Jun 2024 12:33:44 -0400 Subject: [PATCH] Fix LegoRaceCar --- LEGO1/lego/legoomni/include/legoracecar.h | 22 +++--- LEGO1/lego/legoomni/src/race/legoracecar.cpp | 70 +++++++++++--------- 2 files changed, 49 insertions(+), 43 deletions(-) diff --git a/LEGO1/lego/legoomni/include/legoracecar.h b/LEGO1/lego/legoomni/include/legoracecar.h index 51c248ca..18504c72 100644 --- a/LEGO1/lego/legoomni/include/legoracecar.h +++ b/LEGO1/lego/legoomni/include/legoracecar.h @@ -4,30 +4,30 @@ #include "legocarraceactor.h" #include "legoracemap.h" -/* - VTABLE: LEGO1 0x100d58a0 LegoRaceActor - VTABLE: LEGO1 0x100d58a8 LegoAnimActor - VTABLE: LEGO1 0x100d58b8 LegoPathActor - VTABLE: LEGO1 0x100d5894 LegoRaceMap - VTABLE: LEGO1 0x100d5898 LegoCarRaceActor -*/ +// VTABLE: LEGO1 0x100d58a0 LegoRaceActor +// VTABLE: LEGO1 0x100d58a8 LegoAnimActor +// VTABLE: LEGO1 0x100d58b8 LegoPathActor +// VTABLE: LEGO1 0x100d5984 LegoRaceMap +// VTABLE: LEGO1 0x100d5988 LegoCarRaceActor // SIZE 0x200 class LegoRaceCar : public LegoCarRaceActor, public LegoRaceMap { public: LegoRaceCar(); + ~LegoRaceCar() override; + MxLong Notify(MxParam& p_param) override; // vtable+0x04 - // FUNCTION: LEGO1 0x10014290 + // FUNCTION: LEGO1 0x100142a0 inline const char* ClassName() const override // vtable+0x0c { // STRING: LEGO1 0x100f0548 return "LegoRaceCar"; } - // FUNCTION: LEGO1 0x100142b0 + // FUNCTION: LEGO1 0x100142c0 inline MxBool IsA(const char* p_name) const override // vtable+0x10 { - return !strcmp(p_name, LegoCarRaceActor::ClassName()) || LegoCarRaceActor::IsA(p_name); + return !strcmp(p_name, LegoRaceCar::ClassName()) || LegoCarRaceActor::IsA(p_name); } void ParseAction(char*) override; // vtable+0x20 @@ -50,7 +50,7 @@ class LegoRaceCar : public LegoCarRaceActor, public LegoRaceMap { virtual void FUN_10012ff0(float); virtual MxBool FUN_10013130(float); - // SYNTHETIC: LEGO1 0x10014230 + // SYNTHETIC: LEGO1 0x10014240 // LegoRaceCar::`scalar deleting destructor' private: diff --git a/LEGO1/lego/legoomni/src/race/legoracecar.cpp b/LEGO1/lego/legoomni/src/race/legoracecar.cpp index 0345f9eb..ead26c64 100644 --- a/LEGO1/lego/legoomni/src/race/legoracecar.cpp +++ b/LEGO1/lego/legoomni/src/race/legoracecar.cpp @@ -18,6 +18,25 @@ LegoRaceCar::LegoRaceCar() NotificationManager()->Register(this); } +// STUB: LEGO1 0x10012c80 +LegoRaceCar::~LegoRaceCar() +{ + // TODO +} + +// STUB: LEGO1 0x10012d90 +MxLong LegoRaceCar::Notify(MxParam& p_param) +{ + // TODO + return 0; +} + +// STUB: LEGO1 0x10012e60 +void LegoRaceCar::SetWorldSpeed(MxFloat p_worldSpeed) +{ + // TODO +} + // FUNCTION: LEGO1 0x10012ea0 void LegoRaceCar::FUN_10012ea0(float p_worldSpeed) { @@ -31,6 +50,12 @@ void LegoRaceCar::FUN_10012ea0(float p_worldSpeed) } } +// STUB: LEGO1 0x10012ef0 +void LegoRaceCar::ParseAction(char*) +{ + // TODO +} + // STUB: LEGO1 0x10012ff0 void LegoRaceCar::FUN_10012ff0(float) { @@ -44,26 +69,27 @@ MxBool LegoRaceCar::FUN_10013130(float) return TRUE; } -// STUB: LEGO1 0x10014280 -MxLong LegoRaceCar::Notify(MxParam& p_param) +// STUB: LEGO1 0x100131f0 +void LegoRaceCar::VTable0x70(float p_float) +{ + // TODO +} + +// STUB: LEGO1 0x100133c0 +MxResult LegoRaceCar::VTable0x94(LegoPathActor* p_actor, MxBool p_bool) { // TODO return 0; } -// STUB: LEGO1 0x100144d0 -void LegoRaceCar::ParseAction(char*) +// STUB: LEGO1 0x10013600 +MxResult LegoRaceCar::VTable0x9c() { // TODO + return SUCCESS; } -// STUB: LEGO1 0x100144e0 -void LegoRaceCar::SetWorldSpeed(MxFloat p_worldSpeed) -{ - // TODO -} - -// STUB: LEGO1 0x100144f0 +// STUB: LEGO1 0x10014500 MxU32 LegoRaceCar::VTable0x6c( LegoPathBoundary* p_boundary, Vector3& p_v1, @@ -77,28 +103,8 @@ MxU32 LegoRaceCar::VTable0x6c( return 0; } -// STUB: LEGO1 0x10014530 -void LegoRaceCar::VTable0x70(float p_float) -{ - // TODO -} - -// STUB: LEGO1 0x10014540 -MxResult LegoRaceCar::VTable0x94(LegoPathActor* p_actor, MxBool p_bool) -{ - // TODO - return 0; -} - -// STUB: LEGO1 0x10014550 +// STUB: LEGO1 0x10014560 void LegoRaceCar::SwitchBoundary(LegoPathBoundary*& p_boundary, LegoUnknown100db7f4*& p_edge, float& p_unk0xe4) { // TODO } - -// STUB: LEGO1 0x10014580 -MxResult LegoRaceCar::VTable0x9c() -{ - // TODO - return SUCCESS; -}