From 966b24abf3f3fc356ca1a4d8105c952a5902969d Mon Sep 17 00:00:00 2001 From: disinvite Date: Sat, 20 Jan 2024 14:32:57 -0500 Subject: [PATCH] All but two that need new files --- LEGO1/lego/legoomni/include/carrace.h | 8 +++ .../legoomni/include/legobuildingmanager.h | 2 + .../include/legoeventnotificationparam.h | 2 + LEGO1/lego/legoomni/include/legojetski.h | 10 ++++ LEGO1/lego/legoomni/include/pizzeria.h | 2 + LEGO1/lego/legoomni/include/radio.h | 2 + .../src/build/legobuildingmanager.cpp | 7 +++ LEGO1/lego/legoomni/src/entity/legojetski.cpp | 50 +++++++++++++++++++ LEGO1/lego/legoomni/src/isle/radio.cpp | 7 +++ .../src/notify/legoeventnotificationparam.cpp | 7 +++ LEGO1/lego/legoomni/src/pizzeria/pizzeria.cpp | 7 +++ LEGO1/lego/legoomni/src/race/carrace.cpp | 48 ++++++++++++++++++ 12 files changed, 152 insertions(+) diff --git a/LEGO1/lego/legoomni/include/carrace.h b/LEGO1/lego/legoomni/include/carrace.h index 3a3b238a..776662db 100644 --- a/LEGO1/lego/legoomni/include/carrace.h +++ b/LEGO1/lego/legoomni/include/carrace.h @@ -23,6 +23,14 @@ class CarRace : public LegoRace { return !strcmp(p_name, CarRace::ClassName()) || LegoRace::IsA(p_name); } + virtual MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18 + virtual void VTable0x50() override; // vtable+0x50 + virtual MxBool VTable0x64() override; // vtable+0x64 + virtual undefined4 VTable0x6c(undefined4) override; // vtable+0x6c + virtual undefined4 VTable0x70(undefined4) override; // vtable+0x70 + virtual undefined4 VTable0x74(undefined4) override; // vtable+0x74 + virtual undefined4 VTable0x78(undefined4) override; // vtable+0x78 + // SYNTHETIC: LEGO1 0x10016c70 // CarRace::`scalar deleting destructor' diff --git a/LEGO1/lego/legoomni/include/legobuildingmanager.h b/LEGO1/lego/legoomni/include/legobuildingmanager.h index 5c0061d3..969657ca 100644 --- a/LEGO1/lego/legoomni/include/legobuildingmanager.h +++ b/LEGO1/lego/legoomni/include/legobuildingmanager.h @@ -10,6 +10,8 @@ class LegoBuildingManager : public MxCore { LegoBuildingManager(); virtual ~LegoBuildingManager() override; + virtual MxResult Tickle() override; // vtable+0x08 + // FUNCTION: LEGO1 0x1002f930 inline virtual const char* ClassName() const override // vtable+0x0c { diff --git a/LEGO1/lego/legoomni/include/legoeventnotificationparam.h b/LEGO1/lego/legoomni/include/legoeventnotificationparam.h index 8805d9cd..f5ec9205 100644 --- a/LEGO1/lego/legoomni/include/legoeventnotificationparam.h +++ b/LEGO1/lego/legoomni/include/legoeventnotificationparam.h @@ -10,6 +10,8 @@ // SIZE 0x20 class LegoEventNotificationParam : public MxNotificationParam { public: + virtual MxNotificationParam* Clone() override; // vtable+0x4 + inline LegoEventNotificationParam() : MxNotificationParam(c_notificationType0, NULL) {} inline LegoEventNotificationParam( NotificationId p_type, diff --git a/LEGO1/lego/legoomni/include/legojetski.h b/LEGO1/lego/legoomni/include/legojetski.h index e4f876a3..ac376ab1 100644 --- a/LEGO1/lego/legoomni/include/legojetski.h +++ b/LEGO1/lego/legoomni/include/legojetski.h @@ -6,6 +6,8 @@ // VTABLE: LEGO1 0x100d5a40 class LegoJetski : public LegoJetskiRaceActor { public: + virtual MxLong Notify(MxParam& p_param) override; // vtable+0x04 + // FUNCTION: LEGO1 0x10013e80 inline const char* ClassName() const override // vtable+0xc { @@ -19,6 +21,14 @@ class LegoJetski : public LegoJetskiRaceActor { return !strcmp(p_name, LegoJetski::ClassName()) || LegoJetskiRaceActor::IsA(p_name); } + virtual void ParseAction(char*) override; // vtable+0x20 + virtual void SetWorldSpeed(MxFloat p_worldSpeed) override; // vtable+0x30 + virtual void VTable0x6c() override; // vtable+0x6c + virtual void VTable0x70(float p_float) override; // vtable+0x70 + virtual MxS32 VTable0x94() override; // vtable+0x94 + virtual void VTable0x98() override; // vtable+0x98 + virtual void VTable0x9c() override; // vtable+0x9c + // SYNTHETIC: LEGO1 0x10013e20 // LegoJetski::`scalar deleting destructor' }; diff --git a/LEGO1/lego/legoomni/include/pizzeria.h b/LEGO1/lego/legoomni/include/pizzeria.h index 1c73ca58..f75cf0a7 100644 --- a/LEGO1/lego/legoomni/include/pizzeria.h +++ b/LEGO1/lego/legoomni/include/pizzeria.h @@ -20,6 +20,8 @@ class Pizzeria : public IsleActor { return !strcmp(p_name, Pizzeria::ClassName()) || IsleActor::IsA(p_name); } + virtual MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18 + // SYNTHETIC: LEGO1 0x1000e8d0 // Pizzeria::`scalar deleting destructor' }; diff --git a/LEGO1/lego/legoomni/include/radio.h b/LEGO1/lego/legoomni/include/radio.h index 3d8da44b..3afb44cb 100644 --- a/LEGO1/lego/legoomni/include/radio.h +++ b/LEGO1/lego/legoomni/include/radio.h @@ -10,6 +10,8 @@ class Radio : public MxCore { Radio(); virtual ~Radio() override; + virtual MxLong Notify(MxParam& p_param) override; // vtable+0x04 + // FUNCTION: LEGO1 0x1002c8e0 inline virtual const char* ClassName() const override // vtable+0x0c { diff --git a/LEGO1/lego/legoomni/src/build/legobuildingmanager.cpp b/LEGO1/lego/legoomni/src/build/legobuildingmanager.cpp index 3e6c4d7b..ed890166 100644 --- a/LEGO1/lego/legoomni/src/build/legobuildingmanager.cpp +++ b/LEGO1/lego/legoomni/src/build/legobuildingmanager.cpp @@ -32,3 +32,10 @@ void LegoBuildingManager::FUN_1002fa00() { // TODO } + +// STUB: LEGO1 0x10030220 +MxResult LegoBuildingManager::Tickle() +{ + // TODO + return SUCCESS; +} diff --git a/LEGO1/lego/legoomni/src/entity/legojetski.cpp b/LEGO1/lego/legoomni/src/entity/legojetski.cpp index d0fffd85..828b4f5b 100644 --- a/LEGO1/lego/legoomni/src/entity/legojetski.cpp +++ b/LEGO1/lego/legoomni/src/entity/legojetski.cpp @@ -1 +1,51 @@ #include "legojetski.h" + +// STUB: LEGO1 0x10013e70 +MxLong LegoJetski::Notify(MxParam& p_param) +{ + // TODO + return 0; +} + +// STUB: LEGO1 0x10014110 +void LegoJetski::ParseAction(char*) +{ + // TODO +} + +// STUB: LEGO1 0x10014120 +void LegoJetski::SetWorldSpeed(MxFloat p_worldSpeed) +{ + // TODO +} + +// STUB: LEGO1 0x10014140 +void LegoJetski::VTable0x6c() +{ + // TODO +} + +// STUB: LEGO1 0x10014180 +void LegoJetski::VTable0x70(float p_float) +{ + // TODO +} + +// STUB: LEGO1 0x100141b0 +MxS32 LegoJetski::VTable0x94() +{ + // TODO + return 0; +} + +// STUB: LEGO1 0x100141c0 +void LegoJetski::VTable0x98() +{ + // TODO +} + +// STUB: LEGO1 0x10014200 +void LegoJetski::VTable0x9c() +{ + // TODO +} diff --git a/LEGO1/lego/legoomni/src/isle/radio.cpp b/LEGO1/lego/legoomni/src/isle/radio.cpp index f1befefd..c87ac04e 100644 --- a/LEGO1/lego/legoomni/src/isle/radio.cpp +++ b/LEGO1/lego/legoomni/src/isle/radio.cpp @@ -23,6 +23,13 @@ Radio::~Radio() // TODO } +// STUB: LEGO1 0x1002ca30 +MxLong Radio::Notify(MxParam& p_param) +{ + // TODO + return 0; +} + // FUNCTION: LEGO1 0x1002cde0 void Radio::CreateRadioState() { diff --git a/LEGO1/lego/legoomni/src/notify/legoeventnotificationparam.cpp b/LEGO1/lego/legoomni/src/notify/legoeventnotificationparam.cpp index b6abd2c4..299bbe33 100644 --- a/LEGO1/lego/legoomni/src/notify/legoeventnotificationparam.cpp +++ b/LEGO1/lego/legoomni/src/notify/legoeventnotificationparam.cpp @@ -3,3 +3,10 @@ #include "decomp.h" DECOMP_SIZE_ASSERT(LegoEventNotificationParam, 0x20); + +// STUB: LEGO1 0x10028690 +MxNotificationParam* LegoEventNotificationParam::Clone() +{ + // TODO + return NULL; +} diff --git a/LEGO1/lego/legoomni/src/pizzeria/pizzeria.cpp b/LEGO1/lego/legoomni/src/pizzeria/pizzeria.cpp index 3b6e8d41..84404f01 100644 --- a/LEGO1/lego/legoomni/src/pizzeria/pizzeria.cpp +++ b/LEGO1/lego/legoomni/src/pizzeria/pizzeria.cpp @@ -1 +1,8 @@ #include "pizzeria.h" + +// STUB: LEGO1 0x100179c0 +MxResult Pizzeria::Create(MxDSAction& p_dsAction) +{ + // TODO + return SUCCESS; +} diff --git a/LEGO1/lego/legoomni/src/race/carrace.cpp b/LEGO1/lego/legoomni/src/race/carrace.cpp index 9fdb353f..2e5c3b11 100644 --- a/LEGO1/lego/legoomni/src/race/carrace.cpp +++ b/LEGO1/lego/legoomni/src/race/carrace.cpp @@ -8,3 +8,51 @@ CarRace::CarRace() this->m_unk0x150 = 0; this->m_unk0x130 = MxRect32(0x16c, 0x154, 0x1ec, 0x15e); } + +// STUB: LEGO1 0x10016ce0 +MxResult CarRace::Create(MxDSAction& p_dsAction) +{ + // TODO + return SUCCESS; +} + +// STUB: LEGO1 0x10016dd0 +void CarRace::VTable0x50() +{ + // TODO +} + +// STUB: LEGO1 0x10016f60 +undefined4 CarRace::VTable0x74(undefined4) +{ + // TODO + return 0; +} + +// STUB: LEGO1 0x100170e0 +undefined4 CarRace::VTable0x70(undefined4) +{ + // TODO + return 0; +} + +// STUB: LEGO1 0x10017650 +undefined4 CarRace::VTable0x6c(undefined4) +{ + // TODO + return 0; +} + +// STUB: LEGO1 0x100177e0 +undefined4 CarRace::VTable0x78(undefined4) +{ + // TODO + return 0; +} + +// STUB: LEGO1 0x10017900 +MxBool CarRace::VTable0x64() +{ + // TODO + return FALSE; +}