From 1bc669a3919524f6af643a71e552822c7a65105a Mon Sep 17 00:00:00 2001 From: disinvite Date: Mon, 10 Jun 2024 11:46:39 -0400 Subject: [PATCH] Fix LegoRaceMap --- .../lego/legoomni/include/legocarraceactor.h | 6 ++---- LEGO1/lego/legoomni/include/legoracemap.h | 21 ++++++++++++------- .../legoomni/src/entity/legocarraceactor.cpp | 14 ------------- LEGO1/lego/legoomni/src/race/legoracemap.cpp | 19 +++++++++++++++++ 4 files changed, 34 insertions(+), 26 deletions(-) diff --git a/LEGO1/lego/legoomni/include/legocarraceactor.h b/LEGO1/lego/legoomni/include/legocarraceactor.h index 41994ea5..b1b9b8bb 100644 --- a/LEGO1/lego/legoomni/include/legocarraceactor.h +++ b/LEGO1/lego/legoomni/include/legocarraceactor.h @@ -34,10 +34,8 @@ class LegoCarRaceActor : public virtual LegoRaceActor { float p_f1, float p_f2, Vector3& p_v3 - ) override; // vtable+0x6c - void VTable0x70(float p_float) override; // vtable+0x70 - MxU32 VTable0x90(float, Matrix4&) override; // vtable+0x90 - MxResult VTable0x94(LegoPathActor* p_actor, MxBool p_bool) override; // vtable+0x94 + ) override; // vtable+0x6c + void VTable0x70(float p_float) override; // vtable+0x70 void SwitchBoundary(LegoPathBoundary*& p_boundary, LegoUnknown100db7f4*& p_edge, float& p_unk0xe4) override; // vtable+0x98 MxResult VTable0x9c() override; // vtable+0x9c diff --git a/LEGO1/lego/legoomni/include/legoracemap.h b/LEGO1/lego/legoomni/include/legoracemap.h index 11d3d69d..99625dd9 100644 --- a/LEGO1/lego/legoomni/include/legoracemap.h +++ b/LEGO1/lego/legoomni/include/legoracemap.h @@ -3,20 +3,25 @@ #include "legoraceactor.h" -/* - VTABLE: LEGO1 0x100d8858 LegoRaceActor - VTABLE: LEGO1 0x100d8860 LegoAnimActor - VTABLE: LEGO1 0x100d8870 LegoPathActor - VTABLE: LEGO1 0x100d893c LegoRaceMap -*/ +// VTABLE: LEGO1 0x100d8858 LegoRaceActor +// VTABLE: LEGO1 0x100d8860 LegoAnimActor +// VTABLE: LEGO1 0x100d8870 LegoPathActor +// VTABLE: LEGO1 0x100d893c LegoRaceMap // SIZE 0x1b4 class LegoRaceMap : public virtual LegoRaceActor { public: LegoRaceMap(); + ~LegoRaceMap() override; - virtual void FUN_1005d4b0(); + // LegoPathActor vtable + MxLong Notify(MxParam& p_param) override; // vtable+0x04 + void ParseAction(char* p_extra) override; // vtable+0x20 + void VTable0x70(float p_und) override = 0; // vtable+0x70 - // SYNTHETIC: LEGO1 0x1005d5c0 + // LegoRaceMap vtable + virtual void FUN_1005d4b0(); // vtable+0x00 + + // SYNTHETIC: LEGO1 0x1005d5d0 // LegoRaceMap::`scalar deleting destructor' private: diff --git a/LEGO1/lego/legoomni/src/entity/legocarraceactor.cpp b/LEGO1/lego/legoomni/src/entity/legocarraceactor.cpp index 7414b8bf..0b822d0e 100644 --- a/LEGO1/lego/legoomni/src/entity/legocarraceactor.cpp +++ b/LEGO1/lego/legoomni/src/entity/legocarraceactor.cpp @@ -9,20 +9,6 @@ DECOMP_SIZE_ASSERT(LegoCarRaceActor, 0x1a0) // STRING: LEGO1 0x100f7ae4 const char* g_fuel = "FUEL"; -// STUB: LEGO1 0x100141a0 -MxU32 LegoCarRaceActor::VTable0x90(float, Matrix4&) -{ - // TODO - return 0; -} - -// STUB: LEGO1 0x1005d650 -MxResult LegoCarRaceActor::VTable0x94(LegoPathActor* p_actor, MxBool p_bool) -{ - // TODO - return 0; -} - // FUNCTION: LEGO1 0x10080350 LegoCarRaceActor::LegoCarRaceActor() { diff --git a/LEGO1/lego/legoomni/src/race/legoracemap.cpp b/LEGO1/lego/legoomni/src/race/legoracemap.cpp index 9af2bff4..710e9140 100644 --- a/LEGO1/lego/legoomni/src/race/legoracemap.cpp +++ b/LEGO1/lego/legoomni/src/race/legoracemap.cpp @@ -14,8 +14,27 @@ LegoRaceMap::LegoRaceMap() ControlManager()->Register(this); } +// STUB: LEGO1 0x1005d2b0 +LegoRaceMap::~LegoRaceMap() +{ + // TODO +} + +// STUB: LEGO1 0x1005d310 +void LegoRaceMap::ParseAction(char* p_extra) +{ + // TODO +} + // FUNCTION: LEGO1 0x1005d4b0 void LegoRaceMap::FUN_1005d4b0() { // TODO } + +// STUB: LEGO1 0x1005d550 +MxLong LegoRaceMap::Notify(MxParam& p_param) +{ + // TODO + return 0; +}