diff --git a/ISLE/isle.cpp b/ISLE/isle.cpp index a58ad707..49bd3f9a 100644 --- a/ISLE/isle.cpp +++ b/ISLE/isle.cpp @@ -638,3 +638,23 @@ void Isle::Tick(BOOL sleepIfNotNextFrame) Sleep(0); } + +// OFFSET: LEGO1 0x10030fc0 +void Isle::VTable0x50() +{ + // TODO +} + +// OFFSET: LEGO1 0x10033180 +undefined4 Isle::VTable0x64() +{ + // TODO + + return undefined4(); +} + +// OFFSET: LEGO1 0x1003305 +void Isle::VTable0x6c(int *param) +{ + // TODO +} diff --git a/LEGO1/act2brick.h b/LEGO1/act2brick.h index 8d3843c2..25ddec12 100644 --- a/LEGO1/act2brick.h +++ b/LEGO1/act2brick.h @@ -10,6 +10,7 @@ class Act2Brick : public LegoPathActor virtual ~Act2Brick(); // vtable+0x0 virtual long Tickle(); // vtable+08 + // VTABLE 0x100d9b60 // SIZE 0x194 }; diff --git a/LEGO1/act3shark.cpp b/LEGO1/act3shark.cpp new file mode 100644 index 00000000..3879c530 --- /dev/null +++ b/LEGO1/act3shark.cpp @@ -0,0 +1,4 @@ +#include "act3shark.h" + +// 0x100f03a0 +static char* g_act3SharkString = "Act3Shark"; \ No newline at end of file diff --git a/LEGO1/act3shark.h b/LEGO1/act3shark.h index b6386157..3da81d81 100644 --- a/LEGO1/act3shark.h +++ b/LEGO1/act3shark.h @@ -1,12 +1,11 @@ #ifndef ACT3SHARK_H #define ACT3SHARK_H -class Act3Shark +#include "legoanimactor.h" + +class Act3Shark : public LegoAnimActor { // VTABLE 0x100d7920 }; -// OFFSET: LEGO1 0x100f03a0 -static char* g_act3SharkString = "Act3Shark"; - #endif // ACT3SHARK_H diff --git a/LEGO1/beachhouseentity.cpp b/LEGO1/beachhouseentity.cpp new file mode 100644 index 00000000..e446bf1c --- /dev/null +++ b/LEGO1/beachhouseentity.cpp @@ -0,0 +1,9 @@ +#include "beachhouseentity.h" + +// OFFSET: LEGO1 0x100153b +undefined4 BeachHouseEntity::VTable0x50() +{ + // TODO + + return 0; +} \ No newline at end of file diff --git a/LEGO1/beachhouseentity.h b/LEGO1/beachhouseentity.h index d64d06c0..8194a929 100644 --- a/LEGO1/beachhouseentity.h +++ b/LEGO1/beachhouseentity.h @@ -3,9 +3,13 @@ #include "buildingentity.h" +#ifndef undefined4 +#define undefined4 int +#endif + class BeachHouseEntity : public BuildingEntity { - virtual int FUN_100153b(); // Return is undefined 4-byte value + virtual undefined4 VTable0x50(); // vtable+0x50 // VTABLE 0x100d4a18 // SIZE 0x68 diff --git a/LEGO1/bike.cpp b/LEGO1/bike.cpp index e1c680ff..329f2dc0 100644 --- a/LEGO1/bike.cpp +++ b/LEGO1/bike.cpp @@ -4,4 +4,24 @@ Bike::Bike() { // TODO -} \ No newline at end of file +} + +// OFFSET: LEGO1 0x100769a0 +undefined4 Bike::VTable0xcc() +{ + // TODO + + return 0; +} + +// OFFSET: LEGO1 0x10076aa0 +undefined4 Bike::VTable0xd4(undefined4 param) +{ + return undefined4(); +} + +// OFFSET: LEGO1 0x10076920 +void Bike::VTable0xe4() +{ + // TODO +} diff --git a/LEGO1/bike.h b/LEGO1/bike.h index 0bb93b65..5d63c262 100644 --- a/LEGO1/bike.h +++ b/LEGO1/bike.h @@ -3,14 +3,18 @@ #include "islepathactor.h" +#ifndef undefined4 +#define undefined4 int +#endif + class Bike : public IslePathActor { public: Bike(); - virtual int __fastcall FUN_100769a0(int*); // vtable+0xcc , return is undefined 4-byte value - virtual int FUN_10076aa0(int param_1); // vtable+0xd4 , return is undefined 4-byte value - virtual void __fastcall FUN_10076920(int* param_1); // vtable+0xe4 + virtual undefined4 VTable0xcc(); // vtable+0xcc + virtual undefined4 VTable0xd4(undefined4 param); // vtable+0xd4 + virtual void VTable0xe4(); // vtable+0xe4 // VTABLE 0x100d9808 // SIZE 0x74 diff --git a/LEGO1/bumpbouy.h b/LEGO1/bumpbouy.h index 5f5a3320..30c05354 100644 --- a/LEGO1/bumpbouy.h +++ b/LEGO1/bumpbouy.h @@ -5,8 +5,9 @@ class BumpBouy { - virtual const char* GetClassName() const; - virtual MxBool IsClass(const char *name) const; +public: + virtual const char* GetClassName() const; // vtable+0xc + virtual MxBool IsClass(const char *name) const; // vtable+0x10 }; #endif // BUMPBOUY_H diff --git a/LEGO1/elevatorbottom.cpp b/LEGO1/elevatorbottom.cpp index 341ef4d6..f89e8063 100644 --- a/LEGO1/elevatorbottom.cpp +++ b/LEGO1/elevatorbottom.cpp @@ -28,3 +28,17 @@ MxBool ElevatorBottom::IsClass(const char *name) const return MxBool(); } + +// OFFSET: LEGO1 0x10017f10 +undefined4 ElevatorBottom::VTable0x5c() +{ + // TODO + + return 1; +} + +// OFFSET: LEGO1 0x100182c0 +void ElevatorBottom::VTable0x68(undefined1 param_1) +{ + // TODO +} diff --git a/LEGO1/elevatorbottom.h b/LEGO1/elevatorbottom.h index 14493ec4..08d0b478 100644 --- a/LEGO1/elevatorbottom.h +++ b/LEGO1/elevatorbottom.h @@ -3,17 +3,27 @@ #include "legoworld.h" +#ifndef undefined4 +#define undefined4 int +#endif + +#ifndef undefined1 +#define undefined1 char +#endif + class ElevatorBottom : public LegoWorld { public: ElevatorBottom(); - virtual ~ElevatorBottom(); + virtual ~ElevatorBottom(); // vtable+0x0 - virtual const char* GetClassName() const; - virtual MxBool IsClass(const char *name) const; + virtual const char* GetClassName() const; // vtable+0xc + virtual MxBool IsClass(const char *name) const; // vtable+0x10 - virtual int FUN_10017f10() { return 1; } // Return is undefined - virtual void FUN_100182c0(char param_1); + virtual undefined4 VTable0x5c(); // vtable+0x5c + virtual void VTable0x68(undefined1 param_1); // vtable+0x68 + + // VTABLE 0x100d5f20 }; #endif // ELEVATORBOTTOM_H diff --git a/LEGO1/gasstation.cpp b/LEGO1/gasstation.cpp index 54114b0a..8423c552 100644 --- a/LEGO1/gasstation.cpp +++ b/LEGO1/gasstation.cpp @@ -4,4 +4,12 @@ GasStation::GasStation() { // TODO -} \ No newline at end of file +} + +// OFFSET: LEGO1 0x10005e70 +undefined GasStation::VTable0x64(undefined4 param) +{ + // TODO + + return undefined(); +} diff --git a/LEGO1/gasstation.h b/LEGO1/gasstation.h index aa943762..5588d4f2 100644 --- a/LEGO1/gasstation.h +++ b/LEGO1/gasstation.h @@ -3,13 +3,22 @@ #include "legoworld.h" +#ifndef undefined +#define undefined int +#endif + +#ifndef undefined4 +#define undefined4 int +#endif + class GasStation : public LegoWorld { public: GasStation(); - int FUN_10005e70(int param_1); // Return is undefined 4-byte value + undefined VTable0x64(undefined4 param); // vtable+0x64 + // VTABLE 0x100d4650 // SIZE 0x128 // Radio variable at 0x46, in constructor }; diff --git a/LEGO1/gasstationentity.cpp b/LEGO1/gasstationentity.cpp new file mode 100644 index 00000000..75ca96b6 --- /dev/null +++ b/LEGO1/gasstationentity.cpp @@ -0,0 +1,9 @@ +#include "gasstationentity.h" + +// OFFSET: LEGO1 0x100151d0 +undefined4 GasStationEntity::VTable0x50() +{ + // TODO + + return 0; +} \ No newline at end of file diff --git a/LEGO1/gasstationentity.h b/LEGO1/gasstationentity.h index 3ec44d58..75606734 100644 --- a/LEGO1/gasstationentity.h +++ b/LEGO1/gasstationentity.h @@ -3,10 +3,15 @@ #include "buildingentity.h" +#ifndef undefined4 +#define undefined4 int +#endif + class GasStationEntity : public BuildingEntity { - virtual int FUN_100151d0(); // Return unknown 4-byte value + virtual undefined4 VTable0x50(); // vtable+0x50 + // VTABLE 0x100d5258 // SIZE 0x68 }; diff --git a/LEGO1/helicopter.cpp b/LEGO1/helicopter.cpp index ff431d30..c23e22a2 100644 --- a/LEGO1/helicopter.cpp +++ b/LEGO1/helicopter.cpp @@ -1,6 +1,6 @@ #include "helicopter.h" -// OFFSET: LEGO1 0x100f0130 +// 0x100f0130 static char* g_helicopterClassName = "Helicopter"; // OFFSET: LEGO1 0x10001e60 @@ -28,3 +28,15 @@ MxBool Helicopter::IsClass(const char *name) const return MxBool(); } + +// OFFSET: LEGO1 0x10003ee0 +void Helicopter::VTable0x70(float param_1) +{ + // TODO +} + +// OFFSET:LEGO1 0x10003360 +void Helicopter::VTable0xe4() +{ + // TODO +} diff --git a/LEGO1/helicopter.h b/LEGO1/helicopter.h index f32e9d54..a9619bf6 100644 --- a/LEGO1/helicopter.h +++ b/LEGO1/helicopter.h @@ -9,11 +9,11 @@ class Helicopter : public IslePathActor Helicopter(); virtual ~Helicopter(); // vtable+0x0 - virtual const char* GetClassName() const; // vtable+0x - virtual MxBool IsClass(const char *name) const; // vtable+0x + virtual const char* GetClassName() const; // vtable+0xc + virtual MxBool IsClass(const char *name) const; // vtable+0x10 - virtual void FUN_10003ee0(float param_1); // 0x70 - virtual void __fastcall FUN_10003360(int* param); // vtable+0xe4 + virtual void VTable0x70(float param_1); // vtable+0x70 + virtual void VTable0xe4(); // vtable+0xe4 // VTABLE 0x100d40f8 }; diff --git a/LEGO1/hospital.cpp b/LEGO1/hospital.cpp index 1b29ab0f..aa22b23c 100644 --- a/LEGO1/hospital.cpp +++ b/LEGO1/hospital.cpp @@ -19,3 +19,9 @@ long Hospital::Notify(MxParam &p) return 0; } + +// OFFSET: LEGO1 0x10076220 +void Hospital::VTable0x68(char param_1) +{ + // TODO +} diff --git a/LEGO1/hospital.h b/LEGO1/hospital.h index e1e81bfa..ea7ede42 100644 --- a/LEGO1/hospital.h +++ b/LEGO1/hospital.h @@ -10,7 +10,7 @@ class Hospital : public LegoWorld virtual ~Hospital(); // vtable+0x0 virtual long Notify(MxParam &p); // vtable+0x04 - virtual void FUN_10076220(char param_1); // vtable+0x68 + virtual void VTable0x68(char param_1); // vtable+0x68 // SIZE 0x300 }; diff --git a/LEGO1/hospitalentity.cpp b/LEGO1/hospitalentity.cpp new file mode 100644 index 00000000..fca587fd --- /dev/null +++ b/LEGO1/hospitalentity.cpp @@ -0,0 +1,9 @@ +#include "hospitalentity.h" + +// OFFSET: LEGO1 0x10015270 +undefined4 HospitalEntity::VTable0x50() +{ + // TODO + + return undefined4(); +} \ No newline at end of file diff --git a/LEGO1/hospitalentity.h b/LEGO1/hospitalentity.h index 5010ae9b..40c195f5 100644 --- a/LEGO1/hospitalentity.h +++ b/LEGO1/hospitalentity.h @@ -3,10 +3,15 @@ #include "buildingentity.h" +#ifndef undefined4 +#define undefined4 int +#endif + class HospitalEntity : public BuildingEntity { - virtual int FUN_10015270(); // Return is unknown 4-byte value + virtual undefined4 VTable0x50(); // vtable+0x50 + // VTABLE 0x100d5068 // SIZE 0x68 }; diff --git a/LEGO1/infocenterdoor.h b/LEGO1/infocenterdoor.h index 20864fec..b4dec3ac 100644 --- a/LEGO1/infocenterdoor.h +++ b/LEGO1/infocenterdoor.h @@ -8,6 +8,7 @@ class InfoCenterDoor : public LegoWorld public: InfoCenterDoor(); + // VTABLE 0x100d72d8 // SIZE 0xfc }; diff --git a/LEGO1/infocenterentity.cpp b/LEGO1/infocenterentity.cpp new file mode 100644 index 00000000..16829da4 --- /dev/null +++ b/LEGO1/infocenterentity.cpp @@ -0,0 +1,9 @@ +#include "infocenterentity.h" + +// OFFSET: LEGO1 0x100150c0 +undefined4 InfoCenterEntity::VTable0x50() +{ + // TODO + + return undefined4(); +} \ No newline at end of file diff --git a/LEGO1/infocenterentity.h b/LEGO1/infocenterentity.h index 2b92a99e..0a511084 100644 --- a/LEGO1/infocenterentity.h +++ b/LEGO1/infocenterentity.h @@ -3,9 +3,13 @@ #include "legoentity.h" +#ifndef undefined4 +#define undefined4 int +#endif + class InfoCenterEntity : public LegoEntity { - virtual int FUN_100150c0(); // Return is unknown 4-byte value + virtual undefined4 VTable0x50(); // vtable+0x50 }; #endif // INFOCENTERENTITY_H \ No newline at end of file diff --git a/LEGO1/isle.h b/LEGO1/isle.h index bbbb3ef1..4eb01823 100644 --- a/LEGO1/isle.h +++ b/LEGO1/isle.h @@ -3,24 +3,20 @@ #include "legoworld.h" -#include "legoomni.h" +#ifndef undefined4 +#define undefined4 int +#endif class Isle : public LegoWorld { public: Isle(); - -// OFFSET: LEGO1 0x10015790 -static Isle* GetIsle() -{ - LegoOmni* legoOmni = LegoOmni::GetInstance(); - return legoOmni->isle; -} - virtual void __fastcall FUN_10030fc0(int param_1); - virtual int __fastcall FUN_10033180(int param_1); // Return is undefined 4-byte value - virtual void FUN_1003305(int* param_1); + virtual void VTable0x50(); // vtable+0x50 + virtual undefined4 VTable0x64(); // vtable+0x64 + virtual void VTable0x6c(int* param); // vtable+0x6c + // VTABLE 0x100d6fb8 // SIZE 0x140 // Radio at 0x12c }; diff --git a/LEGO1/isleactor.cpp b/LEGO1/isleactor.cpp new file mode 100644 index 00000000..494820ed --- /dev/null +++ b/LEGO1/isleactor.cpp @@ -0,0 +1,18 @@ +#include "isleactor.h" + +// 0x100f07dc +static char* g_isleActorClassName = "IsleActor"; + +// OFFSET: LEGO1 0x1000e660 +const char *IsleActor::GetClassName() const +{ + return g_isleActorClassName; +} + +// OFFSET: LEGO1 0x1000e670 +MxBool IsleActor::IsClass(const char *name) const +{ + // TODO + + return MxBool(); +} diff --git a/LEGO1/isleactor.h b/LEGO1/isleactor.h index 21e8a2d5..0ef7dcf3 100644 --- a/LEGO1/isleactor.h +++ b/LEGO1/isleactor.h @@ -5,8 +5,10 @@ class IsleActor : public LegoEntity { - virtual const char* GetClassName() const; - virtual MxBool IsClass(const char *name) const; + virtual const char* GetClassName() const; // vtable+0xc + virtual MxBool IsClass(const char *name) const; // vtable+0x10 + + // VTABLE 0x100d5178 }; -#endif // ISLEACTOR_H \ No newline at end of file +#endif // ISLEACTOR_H diff --git a/LEGO1/islepathactor.cpp b/LEGO1/islepathactor.cpp index 65065636..86d0ebd4 100644 --- a/LEGO1/islepathactor.cpp +++ b/LEGO1/islepathactor.cpp @@ -4,4 +4,10 @@ IslePathActor::IslePathActor() { // TODO -} \ No newline at end of file +} + +// OFFSET: LEGO1 0x1001b5b0 +void IslePathActor::VTable0xec(undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, void *, char) +{ + // TODO +} diff --git a/LEGO1/islepathactor.h b/LEGO1/islepathactor.h index 3d9dbfc2..c68f7cb4 100644 --- a/LEGO1/islepathactor.h +++ b/LEGO1/islepathactor.h @@ -3,14 +3,16 @@ #include "legopathactor.h" -#define undefined char +#ifndef undefined +#define undefined int +#endif class IslePathActor : public LegoPathActor { public: IslePathActor(); - virtual void FUN_1001b5b0(undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, void*, char); // vtable+0xec + virtual void VTable0xec(undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, void*, char); // vtable+0xec // VTABLE 0x100d4398 // SIZE >= 0x230 diff --git a/LEGO1/jetskiRace.cpp b/LEGO1/jetskiRace.cpp index d0ebd696..60a1bac3 100644 --- a/LEGO1/jetskiRace.cpp +++ b/LEGO1/jetskiRace.cpp @@ -4,4 +4,12 @@ JetskiRace::JetskiRace() { // TODO -} \ No newline at end of file +} + +// OFFSET: LEGO1 0x100166a0 +undefined4 JetskiRace::VTable0x70(int param_1) +{ + // TODO + + return undefined4(); +} diff --git a/LEGO1/jetskiRace.h b/LEGO1/jetskiRace.h index e1806261..6d2c4f92 100644 --- a/LEGO1/jetskiRace.h +++ b/LEGO1/jetskiRace.h @@ -3,12 +3,18 @@ #include "legorace.h" +#ifndef undefined4 +#define undefined4 int +#endif + class JetskiRace : public LegoRace { public: JetskiRace(); - int FUN_100166a0(int param_1); // Return is undefined 4-byte value + undefined4 VTable0x70(int param_1); // vtable+0x70 + + // VTABLE 0x100d4fe8 }; #endif // JETSKIRACE_H \ No newline at end of file diff --git a/LEGO1/jukeboxentity.cpp b/LEGO1/jukeboxentity.cpp index 4888e701..f96cd73e 100644 --- a/LEGO1/jukeboxentity.cpp +++ b/LEGO1/jukeboxentity.cpp @@ -4,4 +4,10 @@ JukeBoxEntity::JukeBoxEntity() { // TODO -} \ No newline at end of file +} + +// OFFSET: LEGO1 0x10085dd0 +JukeBoxEntity::~JukeBoxEntity() +{ + // TODO +} diff --git a/LEGO1/jukeboxentity.h b/LEGO1/jukeboxentity.h index 3a058af4..4584e5a5 100644 --- a/LEGO1/jukeboxentity.h +++ b/LEGO1/jukeboxentity.h @@ -7,6 +7,7 @@ class JukeBoxEntity : public LegoEntity { public: JukeBoxEntity(); + virtual ~JukeBoxEntity(); // vtable+0x0 // VTABLE 0x100da8a0 }; diff --git a/LEGO1/legoactioncontrolpresenter.cpp b/LEGO1/legoactioncontrolpresenter.cpp new file mode 100644 index 00000000..f65f6655 --- /dev/null +++ b/LEGO1/legoactioncontrolpresenter.cpp @@ -0,0 +1,7 @@ +#include "legoactioncontrolpresenter.h" + +// OFFSET: LEGO1 0x10043e20 +void LegoActionControlPresenter::VTable0x5c(char param) +{ + // TODO +} \ No newline at end of file diff --git a/LEGO1/legoactioncontrolpresenter.h b/LEGO1/legoactioncontrolpresenter.h index 22775783..8098f4de 100644 --- a/LEGO1/legoactioncontrolpresenter.h +++ b/LEGO1/legoactioncontrolpresenter.h @@ -5,9 +5,10 @@ class LegoActionControlPresenter : public MxMediaPresenter { - void FUN_10043e20(char param_1); - void FUN_100b54f0(char param_1); +public: + void VTable0x5c(char param); // vtable+0x5c + // VTABLE 0x100d5118 // SIZE 0x68 }; diff --git a/LEGO1/legoanimactor.cpp b/LEGO1/legoanimactor.cpp index e81b8ae6..e3357d3d 100644 --- a/LEGO1/legoanimactor.cpp +++ b/LEGO1/legoanimactor.cpp @@ -1,6 +1,6 @@ #include "legoanimactor.h" -// OFFSET: LEGO1 0x100f057c +// 0x100f057c static char* g_legoAnimActorClassName = "LegoAnimActor"; // OFFSET: LEGO1 0x1000fb90 @@ -18,5 +18,7 @@ const char *LegoAnimActor::GetClassName() const // OFFSET: LEGO1 0x1000fbb0 MxBool LegoAnimActor::IsClass(const char *name) const { + // TODO + return MxBool(); } diff --git a/LEGO1/legobuildingmanager.cpp b/LEGO1/legobuildingmanager.cpp index 9b0cc091..d3eccb7c 100644 --- a/LEGO1/legobuildingmanager.cpp +++ b/LEGO1/legobuildingmanager.cpp @@ -5,6 +5,12 @@ LegoBuildingManager::LegoBuildingManager() { } +// OFFSET: LEGO1 0x10030150 +void LegoBuildingManager::UnknownFunction(int param_1, int param_2, char param_3, LegoBuildingManager *param_4) +{ + // TODO +} + // OFFSET: LEGO1 0x1002f9d0 void LegoBuildingManager::Init() { diff --git a/LEGO1/legobuildingmanager.h b/LEGO1/legobuildingmanager.h index 58935789..bdf1eb50 100644 --- a/LEGO1/legobuildingmanager.h +++ b/LEGO1/legobuildingmanager.h @@ -8,14 +8,7 @@ class LegoBuildingManager __declspec(dllexport) static void configureLegoBuildingManager(int param_1); - // OFFSET: LEGO1 0x100157f0 - LegoBuildingManager* GetInstance() - { - LegoOmni legoOmni = GetInstance(); - return logoOmni->m_legoBuildingManager; - } - - void FUN_10030150(int param_1, int param_2, char param_3, LegoBuildingManager* param_4); + void UnknownFunction(int param_1, int param_2, char param_3, LegoBuildingManager* param_4); private: void Init(); diff --git a/LEGO1/legocachesound.cpp b/LEGO1/legocachesound.cpp new file mode 100644 index 00000000..07d5000e --- /dev/null +++ b/LEGO1/legocachesound.cpp @@ -0,0 +1,25 @@ +#include "legocachesound.h" + +// OFFSET: LEGO1 0x100064d0 +LegoCacheSound::LegoCacheSound() +{ + // TODO +} + +// OFFSET: LEGO1 0x10006630 +LegoCacheSound::~LegoCacheSound() +{ + // TODO +} + +// OFFSET: LEGO1 0x10006920 +void LegoCacheSound::VTable0x18() +{ + // TODO +} + +// OFFSET: LEGO1 0x100066d0 +void LegoCacheSound::Init() +{ + // TODO +} diff --git a/LEGO1/legocachesound.h b/LEGO1/legocachesound.h index 28a9b8eb..c73728ef 100644 --- a/LEGO1/legocachesound.h +++ b/LEGO1/legocachesound.h @@ -6,16 +6,12 @@ class LegoCacheSound : public MxCore { public: - // OFFSET: LEGO1 0x100064d0 LegoCacheSound(); + virtual ~LegoCacheSound(); // vtable+0x0 - // OFFSET: LEGO1 0x10006630 - ~LegoCacheSound(); - - void FUN_10006920(int param_1); + virtual void VTable0x18(); // vtable+0x18 private: - // OFFSET: LEGO1 0x100066d0 void Init(); // VTABLE 0x100d4718 diff --git a/LEGO1/legocameracontroller.cpp b/LEGO1/legocameracontroller.cpp index 7fb1fd12..82d91e34 100644 --- a/LEGO1/legocameracontroller.cpp +++ b/LEGO1/legocameracontroller.cpp @@ -4,4 +4,10 @@ LegoCameraController::~LegoCameraController() { // TODO -} \ No newline at end of file +} + +// OFFSET: LEGO1 0x10011ff0 +void LegoCameraController::VTable0x44() +{ + // TODO +} diff --git a/LEGO1/legocameracontroller.h b/LEGO1/legocameracontroller.h index 9fd2b304..a8bbdde0 100644 --- a/LEGO1/legocameracontroller.h +++ b/LEGO1/legocameracontroller.h @@ -1,12 +1,14 @@ #ifndef LEGOCAMERACONTROLLER_H #define LEGOCAMERACONTROLLER_H -class LegoCameraController +#include "mxcore.h" + +class LegoCameraController : public MxCore { public: - virtual ~LegoCameraController(); + virtual ~LegoCameraController(); // vtable+0x0 - virtual void FUN_10011ff0(void* param); + virtual void VTable0x44(); // vtable+0x44 // VTABLE 0x100d57b0 }; diff --git a/LEGO1/legocarbuild.cpp b/LEGO1/legocarbuild.cpp index 9c3b4131..2678a17d 100644 --- a/LEGO1/legocarbuild.cpp +++ b/LEGO1/legocarbuild.cpp @@ -4,4 +4,42 @@ LegoCarBuild::LegoCarBuild() { // TODO -} \ No newline at end of file +} + +// OFFSET: LEGO1 0x10025e70 +undefined4 LegoCarBuild::VTable0x64() +{ + // TODO + + return undefined4(); +} + +// OFFSET: LEGO1 0x100256c0 +void LegoCarBuild::VTable0x68(char param_1) +{ + // TODO +} + +// OFFSET: LEGO1 0x10022fc0 +void LegoCarBuild::VTable0x6c() +{ + // TODO +} + +// OFFSET: LEGO1 0x10023500 +void LegoCarBuild::VTable0x74(float *param_1, float *param_2) +{ + // TODO +} + +// OFFSET: LEGO1 0x10023570 +void LegoCarBuild::VTable0x78(float *param_1, float *param_2) +{ + // TODO +} + +// OFFSET: LEGO1 0x10023620 +void LegoCarBuild::VTable0x7c(float *param_1, float *param_2) +{ + // TODO +} diff --git a/LEGO1/legocarbuild.h b/LEGO1/legocarbuild.h index f97ca170..23b1525f 100644 --- a/LEGO1/legocarbuild.h +++ b/LEGO1/legocarbuild.h @@ -3,17 +3,21 @@ #include "legoworld.h" +#ifndef undefined4 +#define undefined4 int +#endif + class LegoCarBuild : public LegoWorld { public: LegoCarBuild(); - virtual void FUN_10025e70(int param_1); - virtual void FUN_100256c0(char param_1); - virtual void __fastcall FUN_10022fc0(int* param_1); - virtual void FUN_10023500(float* param_1, float* param_2); - virtual void FUN_10023570(float* param_1, float* param_2); - virtual void FUN_10023620(float* param_1, float* param_2); + virtual undefined4 VTable0x64(); // vtable+0x64 + virtual void VTable0x68(char param_1); // vtable+0x68 + virtual void VTable0x6c(); // vtable+0x6c + virtual void VTable0x74(float* param_1, float* param_2); // vtable+0x74 + virtual void VTable0x78(float* param_1, float* param_2); // vtable+0x78 + virtual void VTable0x7c(float* param_1, float* param_2); // vtable+0x7c }; #endif // LEGOCARBUILD_H diff --git a/LEGO1/legocontrolmanager.cpp b/LEGO1/legocontrolmanager.cpp index 1fe5c847..81081cc3 100644 --- a/LEGO1/legocontrolmanager.cpp +++ b/LEGO1/legocontrolmanager.cpp @@ -1,6 +1,6 @@ #include "legocontrolmanager.h" -// OFFSET: LEGO1 0x100f31b8 +// 0x100f31b8 static char* g_legoControlManagerClassName = "LegoControlManager"; // OFFSET: LEGO1 0x10028d60 diff --git a/LEGO1/legocontrolmanager.h b/LEGO1/legocontrolmanager.h index 483181b2..d239520f 100644 --- a/LEGO1/legocontrolmanager.h +++ b/LEGO1/legocontrolmanager.h @@ -6,10 +6,12 @@ class LegoControlManager : public MxCore { public: - virtual ~LegoControlManager(); + virtual ~LegoControlManager(); // vtable+0x0 - virtual const char* GetClassName() const; - virtual MxBool IsClass(const char *name) const; + virtual const char* GetClassName() const; // vtable+0xc + virtual MxBool IsClass(const char *name) const; // vtable+0x10 + + // VTABLE 0x100d6a80 }; #endif // LEGOCONTROLMANAGER_H diff --git a/LEGO1/legoentity.cpp b/LEGO1/legoentity.cpp index 1a378189..068debab 100644 --- a/LEGO1/legoentity.cpp +++ b/LEGO1/legoentity.cpp @@ -1,6 +1,6 @@ #include "legoentity.h" -// OFFSET: LEG01 0x100f0064 +// 0x100f0064 static char* g_legoEntityClassName = "LegoEntity"; // OFFSET: LEGO1 0x100105f0 @@ -22,3 +22,35 @@ MxBool LegoEntity::IsClass(const char *name) const return MxBool(); } + +// OFFSET: LEGO1 0x100107e0 +undefined4 LegoEntity::VTable0x18(undefined4 param) +{ + // TODO + + return undefined4(); +} + +// OFFSET: LEGO1 0x10010810 +void LegoEntity::VTable0x1c() +{ + // TODO +} + +// OFFSET: LEGO1 0x100108a0 +void LegoEntity::VTable0x24(undefined4 param_1, undefined1 param_2, undefined1 param_3) +{ + // TODO +} + +// OFFSET: LEGO1 0x10010790 +void LegoEntity::VTable0x28(undefined4 param_1, undefined4 param2) +{ + // TODO +} + +// OFFSET: LEGO1 0x10010650 +void LegoEntity::VTable0x2c(undefined1 param) +{ + // TODO +} diff --git a/LEGO1/legoentity.h b/LEGO1/legoentity.h index 38390c85..171ac4f4 100644 --- a/LEGO1/legoentity.h +++ b/LEGO1/legoentity.h @@ -3,14 +3,29 @@ #include "mxentity.h" +#ifndef undefined4 +#define undefined4 int +#endif + +#ifndef undefined1 +#define undefined1 char +#endif + class LegoEntity : public MxEntity { public: LegoEntity(); - __declspec(dllexport) virtual ~LegoEntity(); + __declspec(dllexport) virtual ~LegoEntity(); // vtable+0x0 - virtual const char* GetClassName() const; - virtual MxBool IsClass(const char *name) const; + virtual const char* GetClassName() const; // vtable+0xc + virtual MxBool IsClass(const char *name) const; // vtable+0x10 + + virtual undefined4 VTable0x18(undefined4 param); // vtable+0x18 + virtual void VTable0x1c(); // vtable+0x1c + virtual void VTable0x20(char* param); // vtable+0x20 + virtual void VTable0x24(undefined4 param_1, undefined1 param_2, undefined1 param_3); // vtable+0x24 + virtual void VTable0x28(undefined4 param_1, undefined4 param2); // vtable+0x28 + virtual void VTable0x2c(undefined1 param); // vtable+0x2c }; #endif // LEGOENTITY_H diff --git a/LEGO1/legojetski.cpp b/LEGO1/legojetski.cpp index d5318950..43d7defe 100644 --- a/LEGO1/legojetski.cpp +++ b/LEGO1/legojetski.cpp @@ -1,6 +1,6 @@ #include "legojetski.h" -// OFFSET: LEGO1 0x100f053c +// 0x100f053c static char* g_legoJetskiClassName = "LegoJetski"; // OFFSET: LEGO1 0x10013e80 diff --git a/LEGO1/legoomni.cpp b/LEGO1/legoomni.cpp index 062764f7..9d7c5062 100644 --- a/LEGO1/legoomni.cpp +++ b/LEGO1/legoomni.cpp @@ -30,6 +30,24 @@ LegoVideoManager *VideoManager() return LegoOmni::GetInstance()->GetVideoManager(); } +// OFFSET: LEGO1 0x100157f0 +LegoBuildingManager *BuildingManager() +{ + return LegoOmni::GetInstance()->GetLegoBuildingManager(); +} + +// OFFSET: LEGO1 0x10015790 +Isle *GetIsle() +{ + return LegoOmni::GetInstance()->GetIsle(); +} + +// OFFSET: LEGO1 0x100157e0 +LegoPlantManager *PlantManager() +{ + return LegoOmni::GetInstance()->GetLegoPlantManager(); +} + // OFFSET: LEGO1 0x1005b5f0 long LegoOmni::Notify(MxParam &p) { diff --git a/LEGO1/legoomni.h b/LEGO1/legoomni.h index 0f799af1..82972847 100644 --- a/LEGO1/legoomni.h +++ b/LEGO1/legoomni.h @@ -15,6 +15,8 @@ #include "mxomni.h" #include "mxtransitionmanager.h" #include "isle.h" +#include "legobuildingmanager.h" +#include "legoplantmanager.h" class LegoSoundManager; @@ -48,6 +50,9 @@ class LegoOmni : public MxOmni LegoVideoManager *GetVideoManager() { return (LegoVideoManager *) m_videoManager; } LegoInputManager *GetInputManager() { return m_inputMgr; } + Isle *GetIsle() { return m_isle; } + LegoBuildingManager *GetLegoBuildingManager() { return m_buildingManager; } + LegoPlantManager *GetLegoPlantManager() { return m_plantManager; } private: int m_unk68; @@ -56,9 +61,10 @@ class LegoOmni : public MxOmni char m_unk74[0x10]; LegoNavController *m_navController; // 0x84 Isle* m_isle; // 0x88 - // LegoPlantManager* m_plantManager // 0x90 - // LegoBuildingManager* m_legoBuildingManager // 0x98 - char m_unk88[0x10]; + char m_unk8c[0x4]; + LegoPlantManager* m_plantManager; // 0x90 + char m_unk94[0x4]; + LegoBuildingManager* m_buildingManager; // 0x98 LegoGameState *m_gameState; // 0x9c char m_unka0[0x94]; MxBackgroundAudioManager *m_bkgAudioManager; // 0x134 @@ -90,4 +96,8 @@ __declspec(dllexport) LegoVideoManager * VideoManager(); __declspec(dllexport) long Start(MxDSAction *a); +LegoBuildingManager* BuildingManager(); +Isle* GetIsle(); +LegoPlantManager* PlantManager(); + #endif // LEGOOMNI_H diff --git a/LEGO1/legophonemepresenter.cpp b/LEGO1/legophonemepresenter.cpp index d0c22001..5a3e8cb6 100644 --- a/LEGO1/legophonemepresenter.cpp +++ b/LEGO1/legophonemepresenter.cpp @@ -1,6 +1,6 @@ #include "legophonemepresenter.h" -// OFFSET: LEGO1 0x100f064c +// 0x100f064c static char* g_legoPhonemePresenterClassName = "LegoPhonemePresenter"; // OFFSET: LEGO1 0x1004e340 @@ -13,4 +13,10 @@ LegoPhonemePresenter::~LegoPhonemePresenter() const char *LegoPhonemePresenter::GetClassName() const { return g_legoPhonemePresenterClassName; -} \ No newline at end of file +} + +// OFFSET: LEGO1 0x1004e840 +void LegoPhonemePresenter::VTable0x6c() +{ + // TODO +} diff --git a/LEGO1/legophonemepresenter.h b/LEGO1/legophonemepresenter.h index f8564a8d..737229f6 100644 --- a/LEGO1/legophonemepresenter.h +++ b/LEGO1/legophonemepresenter.h @@ -6,11 +6,13 @@ class LegoPhonemePresenter : public MxFlcPresenter { public: - virtual ~LegoPhonemePresenter(); + virtual ~LegoPhonemePresenter(); // vtable+0x0 - virtual const char* GetClassName() const; + virtual const char* GetClassName() const; // vtable+0xc - virtual void FUN_1004e840(int param_1); + virtual void VTable0x6c(); // vtable+0x6c + + // VTABLE 0x100d8040 }; #endif // LEGOPHONEMEPRESENTER_H diff --git a/LEGO1/legoplantmanager.cpp b/LEGO1/legoplantmanager.cpp index 3557a7a2..b94b258d 100644 --- a/LEGO1/legoplantmanager.cpp +++ b/LEGO1/legoplantmanager.cpp @@ -1,6 +1,6 @@ #include "legoplantmanager.h" -// OFFSET: LEGO1 0x100f318c +// 0x100f318c static char* g_LegoPlantManagerName = "LegoPlantManager"; // OFFSET: LEGO1 0x10026220 @@ -21,6 +21,12 @@ const char *LegoPlantManager::GetClassName() const return g_LegoPlantManagerName; } +// OFFSET: LEGO1 0x10026d70 +void LegoPlantManager::UnknownFunction1(int param_1, int param_2) +{ + // TODO +} + // OFFSET: LEGO1 0x10026330 void LegoPlantManager::Init() { diff --git a/LEGO1/legoplantmanager.h b/LEGO1/legoplantmanager.h index 645f05b1..052c44dd 100644 --- a/LEGO1/legoplantmanager.h +++ b/LEGO1/legoplantmanager.h @@ -7,21 +7,11 @@ class LegoPlantManager : public MxCore { public: LegoPlantManager(); - virtual ~LegoPlantManager(); - - // OFFSET: LEGO1 0x100157e0 - LegoPlantManager* GetInstance() - { - LegoOmni* legoOmni = LegoOmni::GetInstance(); + virtual ~LegoPlantManager(); // vtable+0x0 - return legoOmni->m_plantManager; - } + virtual const char* GetClassName() const; // vtable+0xc - // Virtual Functions - virtual const char* GetClassName() const; - - // Member Functions - void FUN_10026d70(int param_1, int param_2); + void UnknownFunction1(int param_1, int param_2); private: void Init(); diff --git a/LEGO1/legoworldpresenter.cpp b/LEGO1/legoworldpresenter.cpp index d0b900a4..73d76499 100644 --- a/LEGO1/legoworldpresenter.cpp +++ b/LEGO1/legoworldpresenter.cpp @@ -4,4 +4,22 @@ LegoWorldPresenter::LegoWorldPresenter() { // TODO -} \ No newline at end of file +} + +// OFFSET: LEGO1 0x10066770 +LegoWorldPresenter::~LegoWorldPresenter() +{ + // TODO +} + +// OFFSET: LEGO1 0x10066ac0 +void LegoWorldPresenter::VTable0x1c() +{ + // TODO +} + +// OFFSET: LEGO1 0x10067a70 +void LegoWorldPresenter::VTable0x60(undefined4 param) +{ + // TODO +} diff --git a/LEGO1/legoworldpresenter.h b/LEGO1/legoworldpresenter.h index 20982223..61023a64 100644 --- a/LEGO1/legoworldpresenter.h +++ b/LEGO1/legoworldpresenter.h @@ -3,12 +3,21 @@ #include "legoentitypresenter.h" +#ifndef undefined4 +#define undefined4 int +#endif + class LegoWorldPresenter : public LegoEntityPresenter { public: LegoWorldPresenter(); + virtual ~LegoWorldPresenter(); // vtable+0x0 + __declspec(dllexport) static void configureLegoWorldPresenter(int param_1); + virtual void VTable0x1c(); // vtable0x1c + virtual void VTable0x60(undefined4 param); // vtable+0x60 + // VTABLE 0x100d8ee0 }; diff --git a/LEGO1/motorcycle.cpp b/LEGO1/motorcycle.cpp index a9c6ef31..9ee524a2 100644 --- a/LEGO1/motorcycle.cpp +++ b/LEGO1/motorcycle.cpp @@ -4,4 +4,16 @@ Motorcycle::Motorcycle() { // TODO -} \ No newline at end of file +} + +// OFFSET: LEGO1 0x10035c50 +void Motorcycle::VTable0xcc() +{ + // TODO +} + +// OFFSET: LEGO1 0x10035bc0 +void Motorcycle::VTable0xe4() +{ + // TODO +} diff --git a/LEGO1/motorcycle.h b/LEGO1/motorcycle.h index 6972f9e5..66327436 100644 --- a/LEGO1/motorcycle.h +++ b/LEGO1/motorcycle.h @@ -8,8 +8,8 @@ class Motorcycle : public IslePathActor public: Motorcycle(); - virtual void __fastcall FUN_10035c50(int* param_1); - virtual void __fastcall FUN_10035bc0(int* param_1); + virtual void VTable0xcc(); // vtable+0xcc + virtual void VTable0xe4(); // vtable+0xe4 // VTABLE 0x100d7090 // SIZE 0x16c diff --git a/LEGO1/mxentity.cpp b/LEGO1/mxentity.cpp index ce64e84c..28652655 100644 --- a/LEGO1/mxentity.cpp +++ b/LEGO1/mxentity.cpp @@ -1,6 +1,8 @@ #include "mxentity.h" -// OFFSET: LEGO1 0x100f0070 +#include "mxatomid.h" + +// 0x100f0070 static char* g_mxEntityClassName = "MxEntity"; // OFFSET: LEGO1 0x1000c180 @@ -16,3 +18,11 @@ MxBool MxEntity::IsClass(const char *name) const return MxBool(); } + +// OFFSET: LEGO1 0x10001070 +undefined4 MxEntity::VTable0x14(undefined4 param_1, MxAtomId *param_2) +{ + // TODO + + return undefined4(); +} diff --git a/LEGO1/mxentity.h b/LEGO1/mxentity.h index 981e2590..f829e071 100644 --- a/LEGO1/mxentity.h +++ b/LEGO1/mxentity.h @@ -3,11 +3,21 @@ #include "mxcore.h" +#ifndef undefined4 +#define undefined4 int +#endif + +class MxAtomId; + class MxEntity : public MxCore { public: - virtual const char* GetClassName() const; - virtual MxBool IsClass(const char *name) const; + virtual const char* GetClassName() const; // vtable+0xc + virtual MxBool IsClass(const char *name) const; // vtable+0x10 + + virtual undefined4 VTable0x14(undefined4 param_1, MxAtomId* param_2); // vtable+0x14 + + // VTABLE 0x100d53a4 }; -#endif // MXENTITY_H \ No newline at end of file +#endif // MXENTITY_H diff --git a/LEGO1/mxeventpresenter.h b/LEGO1/mxeventpresenter.h index 1407fcb4..f2ba8d3a 100644 --- a/LEGO1/mxeventpresenter.h +++ b/LEGO1/mxeventpresenter.h @@ -10,6 +10,8 @@ class MxEventPresenter : public MxMediaPresenter private: void Init(); + + // VTABLE 0x100dca88 }; #endif // MXEVENTPRESENTER_H diff --git a/LEGO1/mxmediapresenter.cpp b/LEGO1/mxmediapresenter.cpp index dd0ce252..21904cca 100644 --- a/LEGO1/mxmediapresenter.cpp +++ b/LEGO1/mxmediapresenter.cpp @@ -1,6 +1,6 @@ #include "mxmediapresenter.h" -// OFFSET: LEGO1 0x100f074c +// 0x100f074c static char* g_mxMediaPresenterClassName = "MxMediaPresenter"; // OFFSET: LEGO1 0x100d4ce0 @@ -25,6 +25,20 @@ MxBool MxMediaPresenter::IsClass(const char *name) const return MxBool(); } +// OFFSET: LEGO1 0x100b5d90 +void MxMediaPresenter::VTable0x20() +{ + // TODO +} + +// OFFSET: LEGO1 0x100b5e10 +unsigned int MxMediaPresenter::VTable0x24() +{ + // TODO + + return 0; +} + // OFFSET: LEGO1 0x100b5ef0 void MxMediaPresenter::DoneTickle() { diff --git a/LEGO1/mxmediapresenter.h b/LEGO1/mxmediapresenter.h index 1b83c1c1..846845ae 100644 --- a/LEGO1/mxmediapresenter.h +++ b/LEGO1/mxmediapresenter.h @@ -10,8 +10,8 @@ class MxMediaPresenter : public MxPresenter virtual const char *GetClassName() const; // vtable+0xc, override MxCore virtual MxBool IsClass(const char *name) const; // vtable+0x10, override MxCore - virtual void __fastcall FUN_100b5d90(int* param); // vtable+0x20, override MxPresenter - virtual int __fastcall FUN_100b5e10(int param); // vtable+0x24, override MxPresenter + virtual void VTable0x20(); // vtable+0x20, override MxPresenter + virtual unsigned int VTable0x24(); // vtable+0x24, override MxPresenter virtual void DoneTickle(); // vtable+0x2c, override MxPresenter virtual long StartAction(MxStreamController*, MxDSAction*); // vtable+0x3c, override virtual void EndAction(); // vtable+0x40, override MxPresenter diff --git a/LEGO1/mxpresenter.cpp b/LEGO1/mxpresenter.cpp index 714f5af1..c6f54154 100644 --- a/LEGO1/mxpresenter.cpp +++ b/LEGO1/mxpresenter.cpp @@ -1,5 +1,8 @@ #include "mxpresenter.h" +// 0x100f0740 +static char* g_mxPresenterClassName = "MxPresenter"; + // OFFSET: LEGO1 0x1000bee0 void MxPresenter::DoneTickle() { @@ -26,6 +29,20 @@ long MxPresenter::Tickle() return 0; } +// OFFSET: LEGO1 0x1000bfe0 +const char *MxPresenter::GetClassName() const +{ + return g_mxPresenterClassName; +} + +// OFFSET: LEGO1 0x1000bff0 +MxBool MxPresenter::IsClass(const char *name) const +{ + // TODO + + return MxBool(); +} + // OFFSET: LEGO1 0x100b4d80 long MxPresenter::StartAction(MxStreamController *, MxDSAction *) { @@ -45,3 +62,39 @@ void MxPresenter::Enable(unsigned char) { // TODO } + +// OFFSET: LEGO1 0x1000be30 +void MxPresenter::VTable0x14() +{ + // TODO +} + +// OFFSET: LEGO1 0x1000be40 +void MxPresenter::VTable0x18() +{ + // TODO +} + +// OFFSET: LEGO1 0x1000be60 +void MxPresenter::VTable0x1c() +{ + // TODO +} + +// OFFSET: LEGO1 0x1000be80 +void MxPresenter::VTable0x20() +{ + // TODO +} + +// OFFSET: LEGO1 0x1000bea0 +void MxPresenter::VTable0x24() +{ + // TODO +} + +// OFFSET: LEGO1 0x1000bec0 +void MxPresenter::VTable0x28() +{ + // TODO +} diff --git a/LEGO1/mxpresenter.h b/LEGO1/mxpresenter.h index 79ea3128..18d0f1ab 100644 --- a/LEGO1/mxpresenter.h +++ b/LEGO1/mxpresenter.h @@ -8,27 +8,26 @@ class MxDSAction; class MxPresenter : public MxCore { +public: + __declspec(dllexport) virtual ~MxPresenter(); // vtable+0x0 + __declspec(dllexport) virtual long Tickle(); // vtable+0x8 + virtual const char *GetClassName() const; // vtable+0xc + virtual MxBool IsClass(const char *name) const; // vtable+0x10 + virtual void VTable0x14(); // vtable+0x14 + virtual void VTable0x18(); // vtable+0x18 + virtual void VTable0x1c(); // vtable+0x1c + virtual void VTable0x20(); // vtable+0x20 + virtual void VTable0x24(); // vtable+0x24 + virtual void VTable0x28(); // vtable+0x28 protected: __declspec(dllexport) virtual void DoneTickle(); // vtable+0x2c __declspec(dllexport) void Init(); __declspec(dllexport) virtual void ParseExtra(); // vtable+0x30 public: - __declspec(dllexport) virtual ~MxPresenter(); // vtable+0x0 - - __declspec(dllexport) virtual long Tickle(); // vtable+0x8 - virtual const char *GetClassName() const; // vtable+0xc - virtual MxBool IsClass(const char *name) const; // vtable+0x10 __declspec(dllexport) virtual long StartAction(MxStreamController *, MxDSAction *); // vtable+0x3c __declspec(dllexport) virtual void EndAction(); // vtable+0x40 __declspec(dllexport) virtual void Enable(unsigned char); // vtable+0x54 - virtual void FUN_1000be30(); // vtable+0x14 - virtual void __fastcall FUN_1000be40(int param); // vtable+0x18 - virtual void __fastcall FUN_1000be60(int param); // vtable+0x1c - virtual void __fastcall FUN_1000be80(int param); // vtable+0x20 - virtual void __fastcall FUN_1000bea0(int param); // vtable+0x24 - virtual void __fastcall FUN_1000bec0(int param); // vtable+0x28 - // VTABLE 0x100d4d38 }; diff --git a/LEGO1/mxsmkpresenter.cpp b/LEGO1/mxsmkpresenter.cpp index 512a3e77..2128052b 100644 --- a/LEGO1/mxsmkpresenter.cpp +++ b/LEGO1/mxsmkpresenter.cpp @@ -7,7 +7,7 @@ MxSmkPresenter::MxSmkPresenter() } // OFFSET: LEGO1 0x100b38d0 -void __fastcall MxSmkPresenter::Init() +void MxSmkPresenter::Init() { // TODO } diff --git a/LEGO1/mxsmkpresenter.h b/LEGO1/mxsmkpresenter.h index 06ba64fb..b17f2972 100644 --- a/LEGO1/mxsmkpresenter.h +++ b/LEGO1/mxsmkpresenter.h @@ -9,8 +9,9 @@ class MxSmkPresenter : public MxVideoPresenter MxSmkPresenter(); private: - void __fastcall Init(); + void Init(); + // VTABLE 0x100dc348 // SIZE 0x720 }; diff --git a/LEGO1/mxtransitionmanager.cpp b/LEGO1/mxtransitionmanager.cpp index dd8d3c8c..8e7e8940 100644 --- a/LEGO1/mxtransitionmanager.cpp +++ b/LEGO1/mxtransitionmanager.cpp @@ -1,7 +1,17 @@ #include "mxtransitionmanager.h" // OFFSET: LEGO1 0x1004bac0 -int MxTransitionManager::DispatchTransition() +long MxTransitionManager::Tickle() { + // TODO + return 0; -} \ No newline at end of file +} + +// OFFSET: LEGO1 0x1004baa0 +undefined4 MxTransitionManager::VTable0x14() +{ + // TODO + + return undefined4(); +} diff --git a/LEGO1/mxtransitionmanager.h b/LEGO1/mxtransitionmanager.h index 2bff4b47..ed32ec54 100644 --- a/LEGO1/mxtransitionmanager.h +++ b/LEGO1/mxtransitionmanager.h @@ -1,15 +1,23 @@ #ifndef MXTRANSITIONMANAGER_H #define MXTRANSITIONMANAGER_H +#include "mxcore.h" + class MxVideoPresenter; -class MxTransitionManager +#ifndef undefined4 +#define undefined4 int +#endif + +class MxTransitionManager : public MxCore { public: __declspec(dllexport) void SetWaitIndicator(MxVideoPresenter *videoPresenter); - virtual int DispatchTransition(); - virtual int FUN_1004baa0(); // Return is unknown 4-byte value + virtual long Tickle(); // vtable+0x8 + virtual undefined4 VTable0x14(); // vtable+0x14 + + // VTABLE 0x100d7ea0 }; #endif // MXTRANSITIONMANAGER_H diff --git a/LEGO1/mxwavepresenter.cpp b/LEGO1/mxwavepresenter.cpp index 37ba7c99..d2994f84 100644 --- a/LEGO1/mxwavepresenter.cpp +++ b/LEGO1/mxwavepresenter.cpp @@ -5,3 +5,21 @@ void MxWavePresenter::Init() { // TODO } + +// OFFSET: LEGO1 0x100b2300 +void MxWavePresenter::VTable0x60(int param_1) +{ + // TODO +} + +// OFFSET: LEGO1 0x100b2440 +void MxWavePresenter::VTable0x64(int param_1) +{ + // TODO +} + +// OFFSET: LEGO1 0x100b2470 +void MxWavePresenter::VTable0x68(int param_1) +{ + // TODO +} diff --git a/LEGO1/mxwavepresenter.h b/LEGO1/mxwavepresenter.h index 79ff7020..393f4b40 100644 --- a/LEGO1/mxwavepresenter.h +++ b/LEGO1/mxwavepresenter.h @@ -8,9 +8,12 @@ class MxWavePresenter : public MxSoundPresenter private: void Init(); - virtual void FUN_100b2300(int param_1); - virtual void FUN_100b2440(int param_1); - virtual void FUN_100b2470(int param_1); +public: + virtual void VTable0x60(int param_1); // vtable+0x60 + virtual void VTable0x64(int param_1); // vtable+0x64 + virtual void VTable0x68(int param_1); // vtable+0x68 + + // VTABLE 0x100d49a8 // SIZE 0x6c }; diff --git a/LEGO1/pizzeria.cpp b/LEGO1/pizzeria.cpp index efd360d2..d39804a1 100644 --- a/LEGO1/pizzeria.cpp +++ b/LEGO1/pizzeria.cpp @@ -3,4 +3,13 @@ // OFFSET: LEGO1 0x100334b0 Pizzeria::Pizzeria() { + // TODO +} + +// OFFSET: LEGO1 0x10017a50 +undefined4 Pizzeria::VTable0x68() +{ + // TODO + + return undefined4(); } diff --git a/LEGO1/pizzeria.h b/LEGO1/pizzeria.h index aa673285..246bc1e1 100644 --- a/LEGO1/pizzeria.h +++ b/LEGO1/pizzeria.h @@ -3,13 +3,18 @@ #include "isleactor.h" +#ifndef undefined4 +#define undefined4 int +#endif + class Pizzeria : public IsleActor { public: Pizzeria(); - virtual int FUN_10017a50(int param_1); // Return is unknown 4-byte value + virtual undefined4 VTable0x68(); // vtable+0x68 + // VTABLE 0x100d5520 // SIZE 0x84 }; diff --git a/LEGO1/policeentity.cpp b/LEGO1/policeentity.cpp new file mode 100644 index 00000000..af0e0148 --- /dev/null +++ b/LEGO1/policeentity.cpp @@ -0,0 +1,9 @@ +#include "policeentity.h" + +// OFFSET: LEGO1 0x10015310 +undefined4 PoliceEntity::VTable0x50() +{ + // TODO + + return undefined4(); +} \ No newline at end of file diff --git a/LEGO1/policeentity.h b/LEGO1/policeentity.h index 0a4e32af..e2de19a2 100644 --- a/LEGO1/policeentity.h +++ b/LEGO1/policeentity.h @@ -3,9 +3,13 @@ #include "buildingentity.h" +#ifndef undefined4 +#define undefined4 int +#endif + class PoliceEntity : public BuildingEntity { - virtual int FUN_10015310(); // Return is undefined 4-byte value + virtual undefined4 VTable0x50(); // vtable+0x50 // VTABLE 0x100d4ab0 // SIZE 0x68 diff --git a/LEGO1/racestandsentity.cpp b/LEGO1/racestandsentity.cpp new file mode 100644 index 00000000..4d647671 --- /dev/null +++ b/LEGO1/racestandsentity.cpp @@ -0,0 +1,9 @@ +#include "racestandsentity.h" + +// OFFSET: LEGO1 0x10015450 +undefined4 RaceStandsEntity::VTable0x50() +{ + // TODO + + return undefined4(); +} \ No newline at end of file diff --git a/LEGO1/racestandsentity.h b/LEGO1/racestandsentity.h index 8428683d..49254124 100644 --- a/LEGO1/racestandsentity.h +++ b/LEGO1/racestandsentity.h @@ -3,11 +3,16 @@ #include "buildingentity.h" +#ifndef undefined4 +#define undefined4 int +#endif + class RaceStandsEntity : public BuildingEntity { // NOTE(Cydra): Starts transition - int FUN_10015450(); // Return is unknown 4-byte value + undefined4 VTable0x50(); // vtable+0x50 + // VTABLE 0x100d48a8 // SIZE 0x68 }; diff --git a/LEGO1/registrationbook.cpp b/LEGO1/registrationbook.cpp index 32c3273f..3f5efe26 100644 --- a/LEGO1/registrationbook.cpp +++ b/LEGO1/registrationbook.cpp @@ -19,3 +19,9 @@ long RegistrationBook::Notify(MxParam &p) return 0; } + +// OFFSET: LEGO1 0x10078180 +void RegistrationBook::VTable0x68(char param_1) +{ + // TODO +} diff --git a/LEGO1/registrationbook.h b/LEGO1/registrationbook.h index 8462ede4..6a99ba59 100644 --- a/LEGO1/registrationbook.h +++ b/LEGO1/registrationbook.h @@ -10,7 +10,7 @@ class RegistrationBook : public LegoWorld virtual ~RegistrationBook(); // vtable+0x0 virtual long Notify(MxParam &p); // vtable+0x4 - virtual void FUN_10078180(char param_1); // vtable+0x68 + virtual void VTable0x68(char param_1); // vtable+0x68 // VTABLE 0x100d9928 }; diff --git a/LEGO1/skateboard.cpp b/LEGO1/skateboard.cpp index e1d11856..c7cbfdaa 100644 --- a/LEGO1/skateboard.cpp +++ b/LEGO1/skateboard.cpp @@ -4,4 +4,12 @@ SkateBoard::SkateBoard() { // TODO -} \ No newline at end of file +} + +// OFFSET: LEGO1 0x100100e0 +undefined4 SkateBoard::VTable0xcc() +{ + // TODO + + return undefined4(); +} diff --git a/LEGO1/skateboard.h b/LEGO1/skateboard.h index e5ca1758..5dbb4d76 100644 --- a/LEGO1/skateboard.h +++ b/LEGO1/skateboard.h @@ -3,12 +3,16 @@ #include "islepathactor.h" +#ifndef undefined4 +#define undefined4 int +#endif + class SkateBoard : public IslePathActor { public: SkateBoard(); - virtual int __fastcall FUN_100100e0(int* param_1); // Return is undefined 4-byte value + virtual undefined4 VTable0xcc(); // vtable+0xcc // VTABLE 0x100d55f0 }; diff --git a/LEGO1/towtrack.cpp b/LEGO1/towtrack.cpp index 51883418..8f761853 100644 --- a/LEGO1/towtrack.cpp +++ b/LEGO1/towtrack.cpp @@ -4,4 +4,10 @@ TowTrack::TowTrack() { // TODO -} \ No newline at end of file +} + +// OFFSET: LEGO1 0x1004d8f0 +void TowTrack::VTable0xe4() +{ + // TODO +} diff --git a/LEGO1/towtrack.h b/LEGO1/towtrack.h index 412a3673..a4cc587c 100644 --- a/LEGO1/towtrack.h +++ b/LEGO1/towtrack.h @@ -8,7 +8,7 @@ class TowTrack : public IslePathActor public: TowTrack(); - virtual void FUN_1004d8f0(int* param_1); // vtable+0xe4 + virtual void VTable0xe4(); // vtable+0xe4 // VTABLE 0x100d7ee0 // SIZE 0x180