diff --git a/LEGO1/act1state.h b/LEGO1/act1state.h new file mode 100644 index 00000000..58e8b5a5 --- /dev/null +++ b/LEGO1/act1state.h @@ -0,0 +1,11 @@ +#ifndef ACT1STATE_H +#define ACT1STATE_H + +#include "legostate.h" + +class Act1State : public LegoState +{ + +}; + +#endif // ACT1STATE_H diff --git a/LEGO1/act3.cpp b/LEGO1/act3.cpp new file mode 100644 index 00000000..45b7c753 --- /dev/null +++ b/LEGO1/act3.cpp @@ -0,0 +1,7 @@ +#include "act3.h" + +// OFFSET: LEGO1 0x10072270 +Act3::Act3() +{ + // TODO +} \ No newline at end of file diff --git a/LEGO1/act3.h b/LEGO1/act3.h new file mode 100644 index 00000000..030dc88e --- /dev/null +++ b/LEGO1/act3.h @@ -0,0 +1,15 @@ +#ifndef ACT3_H +#define ACT3_H + +#include "legoworld.h" + +class Act3 : public LegoWorld +{ +public: + Act3(); + + // VTABLE 0x100d9628 +}; + + +#endif // ACT3_H diff --git a/LEGO1/act3actor.h b/LEGO1/act3actor.h new file mode 100644 index 00000000..b7bf140d --- /dev/null +++ b/LEGO1/act3actor.h @@ -0,0 +1,9 @@ +#ifndef ACT3ACTOR_H +#define ACT3ACTOR_H + +class Act3Actor +{ + // VTABLE 0x100d7750 +}; + +#endif // ACT3ACTOR_H diff --git a/LEGO1/act3shark.h b/LEGO1/act3shark.h new file mode 100644 index 00000000..b6386157 --- /dev/null +++ b/LEGO1/act3shark.h @@ -0,0 +1,12 @@ +#ifndef ACT3SHARK_H +#define ACT3SHARK_H + +class Act3Shark +{ + // VTABLE 0x100d7920 +}; + +// OFFSET: LEGO1 0x100f03a0 +static char* g_act3SharkString = "Act3Shark"; + +#endif // ACT3SHARK_H diff --git a/LEGO1/act3state.h b/LEGO1/act3state.h new file mode 100644 index 00000000..83fe08a4 --- /dev/null +++ b/LEGO1/act3state.h @@ -0,0 +1,11 @@ +#ifndef ACT3STATE_H +#define ACT3STATE_H + +#include "legostate.h" + +class Act3State : public LegoState +{ + +}; + +#endif // ACT3STATE_H diff --git a/LEGO1/ambulance.cpp b/LEGO1/ambulance.cpp new file mode 100644 index 00000000..f7666b1f --- /dev/null +++ b/LEGO1/ambulance.cpp @@ -0,0 +1,7 @@ +#include "ambulance.h" + +// OFFSET: LEGO1 0x10035ee0 +Ambulance::Ambulance() +{ + // TODO +} \ No newline at end of file diff --git a/LEGO1/ambulance.h b/LEGO1/ambulance.h new file mode 100644 index 00000000..127714f3 --- /dev/null +++ b/LEGO1/ambulance.h @@ -0,0 +1,15 @@ +#ifndef AMBULANCE_H +#define AMBULANCE_H + +#include "islepathactor.h" + +class Ambulance : public IslePathActor +{ +public: + Ambulance(); + + // VTABLE 0x100d71a8 + // SIZE 0x184 +}; + +#endif // AMBULANCE_H diff --git a/LEGO1/ambulancemissionstate.cpp b/LEGO1/ambulancemissionstate.cpp new file mode 100644 index 00000000..575e2a4e --- /dev/null +++ b/LEGO1/ambulancemissionstate.cpp @@ -0,0 +1,7 @@ +#include "ambulancemissionstate.h" + +// OFFSET: LEGO1 0x100373a0 +AmbulanceMissionState::AmbulanceMissionState() +{ + // TODO +} \ No newline at end of file diff --git a/LEGO1/ambulancemissionstate.h b/LEGO1/ambulancemissionstate.h new file mode 100644 index 00000000..e4c03c95 --- /dev/null +++ b/LEGO1/ambulancemissionstate.h @@ -0,0 +1,16 @@ +#ifndef AMBULANCEMISSIONSTATE_H +#define AMBULANCEMISSIONSTATE_H + +#include "legostate.h" + +class AmbulanceMissionState : public LegoState +{ +public: + AmbulanceMissionState(); + + // VTABLE 0x100d72a0 + // SIZE 0x24 +}; + + +#endif // AMBULANCEMISSIONSTATE_H diff --git a/LEGO1/beachhouseentity.h b/LEGO1/beachhouseentity.h new file mode 100644 index 00000000..d64d06c0 --- /dev/null +++ b/LEGO1/beachhouseentity.h @@ -0,0 +1,15 @@ +#ifndef BEACHHOUSEENTITY_H +#define BEACHHOUSEENTITY_H + +#include "buildingentity.h" + +class BeachHouseEntity : public BuildingEntity +{ + virtual int FUN_100153b(); // Return is undefined 4-byte value + + // VTABLE 0x100d4a18 + // SIZE 0x68 +}; + + +#endif // BEACHHOUSEENTITY_H diff --git a/LEGO1/bike.cpp b/LEGO1/bike.cpp new file mode 100644 index 00000000..e1c680ff --- /dev/null +++ b/LEGO1/bike.cpp @@ -0,0 +1,7 @@ +#include "bike.h" + +// OFFSET: LEGO1 0x10076670 +Bike::Bike() +{ + // TODO +} \ No newline at end of file diff --git a/LEGO1/bike.h b/LEGO1/bike.h new file mode 100644 index 00000000..51b0d432 --- /dev/null +++ b/LEGO1/bike.h @@ -0,0 +1,16 @@ +#ifndef BIKE_H +#define BIKE_H + +#include "islepathactor.h" + +class Bike : public IslePathActor +{ +public: + Bike(); + + // VTABLE 0x100d9808 + // SIZE 0x74 +}; + + +#endif // BIKE_H diff --git a/LEGO1/bumpbouy.cpp b/LEGO1/bumpbouy.cpp new file mode 100644 index 00000000..268bb194 --- /dev/null +++ b/LEGO1/bumpbouy.cpp @@ -0,0 +1,18 @@ +#include "bumpbouy.h" + +// OFFSET: LEGO1 0x100f0394 +static char* g_bumpBouyString = "BumpBouy"; + +// OFFSET: LEGO1 0x100274e0 +const char *BumpBouy::GetClassName() const +{ + return g_bumpBouyString; +} + +// OFFSET: LEG01 0x10027500 +MxBool BumpBouy::IsClass(const char *name) const +{ + // TODO + + return MxBool(); +} diff --git a/LEGO1/bumpbouy.h b/LEGO1/bumpbouy.h new file mode 100644 index 00000000..5f5a3320 --- /dev/null +++ b/LEGO1/bumpbouy.h @@ -0,0 +1,12 @@ +#ifndef BUMPBOUY_H +#define BUMPBOUY_H + +#include "mxbool.h" + +class BumpBouy +{ + virtual const char* GetClassName() const; + virtual MxBool IsClass(const char *name) const; +}; + +#endif // BUMPBOUY_H diff --git a/LEGO1/doors.h b/LEGO1/doors.h new file mode 100644 index 00000000..1d05a9c4 --- /dev/null +++ b/LEGO1/doors.h @@ -0,0 +1,12 @@ +#ifndef DOORS_H +#define DOORS_H + +#include "legopathactor.h" + +class Doors : public LegoPathActor +{ + // SIZE 0x1f8 +}; + + +#endif // DOORS_H diff --git a/LEGO1/elevatorbottom.cpp b/LEGO1/elevatorbottom.cpp index 8a64304f..36ff2bdd 100644 --- a/LEGO1/elevatorbottom.cpp +++ b/LEGO1/elevatorbottom.cpp @@ -1,7 +1,22 @@ #include "elevatorbottom.h" +// OFFSET: LEGO1 0x100f04ac +static char* g_elevatorBottomClassName = "ElevatorBottom"; + // OFFSET: LEGO1 0x10017e90 ElevatorBottom::ElevatorBottom() { // TODO -} \ No newline at end of file +} + +// OFFSET: LEGO1 0x10017f20 +const char *ElevatorBottom::GetClassName() const +{ + return g_elevatorBottomClassName; +} + +// OFFSET: LEGO1 0x10017f30 +MxBool ElevatorBottom::IsClass(const char *name) const +{ + return MxBool(); +} diff --git a/LEGO1/elevatorbottom.h b/LEGO1/elevatorbottom.h index d3670821..e7c91ed1 100644 --- a/LEGO1/elevatorbottom.h +++ b/LEGO1/elevatorbottom.h @@ -7,6 +7,9 @@ class ElevatorBottom : public LegoWorld { public: ElevatorBottom(); + + virtual const char* GetClassName() const; + virtual MxBool IsClass(const char *name) const; }; #endif // ELEVATORBOTTOM_H diff --git a/LEGO1/gasstation.h b/LEGO1/gasstation.h index 6e5b87fa..aa943762 100644 --- a/LEGO1/gasstation.h +++ b/LEGO1/gasstation.h @@ -8,6 +8,8 @@ class GasStation : public LegoWorld public: GasStation(); + int FUN_10005e70(int param_1); // Return is undefined 4-byte value + // SIZE 0x128 // Radio variable at 0x46, in constructor }; diff --git a/LEGO1/gasstationentity.h b/LEGO1/gasstationentity.h index a860eb65..3ec44d58 100644 --- a/LEGO1/gasstationentity.h +++ b/LEGO1/gasstationentity.h @@ -5,6 +5,8 @@ class GasStationEntity : public BuildingEntity { + virtual int FUN_100151d0(); // Return unknown 4-byte value + // SIZE 0x68 }; diff --git a/LEGO1/historybook.cpp b/LEGO1/historybook.cpp new file mode 100644 index 00000000..d6e330f6 --- /dev/null +++ b/LEGO1/historybook.cpp @@ -0,0 +1,7 @@ +#include "historybook.h" + +// OFFSET: LEGO1 0x100822f0 +HistoryBook::HistoryBook() +{ + // TODO +} \ No newline at end of file diff --git a/LEGO1/historybook.h b/LEGO1/historybook.h new file mode 100644 index 00000000..301cdbd2 --- /dev/null +++ b/LEGO1/historybook.h @@ -0,0 +1,14 @@ +#ifndef HISTORYBOOK_H +#define HISTORYBOOK_H + +#include "legoworld.h" + +class HistoryBook : public LegoWorld +{ +public: + HistoryBook(); + + // VTABLE 0x100da328 +}; + +#endif // HISTORYBOOK_H diff --git a/LEGO1/hospitalentity.h b/LEGO1/hospitalentity.h index 71f95b3b..5010ae9b 100644 --- a/LEGO1/hospitalentity.h +++ b/LEGO1/hospitalentity.h @@ -5,6 +5,8 @@ class HospitalEntity : public BuildingEntity { + virtual int FUN_10015270(); // Return is unknown 4-byte value + // SIZE 0x68 }; diff --git a/LEGO1/infocenterentity.h b/LEGO1/infocenterentity.h index 305aba53..2b92a99e 100644 --- a/LEGO1/infocenterentity.h +++ b/LEGO1/infocenterentity.h @@ -5,6 +5,7 @@ class InfoCenterEntity : public LegoEntity { + virtual int FUN_100150c0(); // Return is unknown 4-byte value }; #endif // INFOCENTERENTITY_H \ No newline at end of file diff --git a/LEGO1/isle.h b/LEGO1/isle.h index c3e2d3d0..4f903699 100644 --- a/LEGO1/isle.h +++ b/LEGO1/isle.h @@ -3,11 +3,20 @@ #include "legoworld.h" +#include "legoomni.h" + class Isle : public LegoWorld { public: Isle(); +// OFFSET: LEGO1 0x10015790 +static Isle* GetIsle() +{ + LegoOmni* legoOmni = LegoOmni::GetInstance(); + return legoOmni->isle; +} + // SIZE 0x140 // Radio at 0x12c }; diff --git a/LEGO1/isleactor.h b/LEGO1/isleactor.h index 731cea82..21e8a2d5 100644 --- a/LEGO1/isleactor.h +++ b/LEGO1/isleactor.h @@ -5,6 +5,8 @@ class IsleActor : public LegoEntity { + virtual const char* GetClassName() const; + virtual MxBool IsClass(const char *name) const; }; #endif // ISLEACTOR_H \ No newline at end of file diff --git a/LEGO1/jetski.cpp b/LEGO1/jetski.cpp new file mode 100644 index 00000000..8437252a --- /dev/null +++ b/LEGO1/jetski.cpp @@ -0,0 +1,7 @@ +#include "jetski.h" + +// OFFSET: LEGO1 0x1007e3b0 +Jetski::Jetski() +{ + // TODO +} \ No newline at end of file diff --git a/LEGO1/jetski.h b/LEGO1/jetski.h new file mode 100644 index 00000000..c00e5d86 --- /dev/null +++ b/LEGO1/jetski.h @@ -0,0 +1,16 @@ +#ifndef JETSKI_H +#define JETSKI_H + +#include "islepathactor.h" + +class Jetski : public IslePathActor +{ +public: + Jetski(); + + // VTABLE 0x100d9ec8 + // SIZE 0x164 +}; + + +#endif // JETSKI_H diff --git a/LEGO1/jetskiRace.h b/LEGO1/jetskiRace.h index 9616fc73..e1806261 100644 --- a/LEGO1/jetskiRace.h +++ b/LEGO1/jetskiRace.h @@ -7,6 +7,8 @@ class JetskiRace : public LegoRace { public: JetskiRace(); + + int FUN_100166a0(int param_1); // Return is undefined 4-byte value }; #endif // JETSKIRACE_H \ No newline at end of file diff --git a/LEGO1/jetskiracestate.h b/LEGO1/jetskiracestate.h new file mode 100644 index 00000000..b19fbc53 --- /dev/null +++ b/LEGO1/jetskiracestate.h @@ -0,0 +1,13 @@ +#ifndef JETSKIRACESTATE_H +#define JETSKIRACESTATE_H + +#include "racestate.h" + +class JetskiRaceState : public RaceState +{ + // VTABLE 0x100d4fa8 + // SIZE 0x2c +} + + +#endif // JETSKIRACESTATE_H diff --git a/LEGO1/legoactioncontrolpresenter.h b/LEGO1/legoactioncontrolpresenter.h index c07310cc..22775783 100644 --- a/LEGO1/legoactioncontrolpresenter.h +++ b/LEGO1/legoactioncontrolpresenter.h @@ -5,6 +5,9 @@ class LegoActionControlPresenter : public MxMediaPresenter { + void FUN_10043e20(char param_1); + void FUN_100b54f0(char param_1); + // SIZE 0x68 }; diff --git a/LEGO1/legoactorpresenter.h b/LEGO1/legoactorpresenter.h new file mode 100644 index 00000000..997dd567 --- /dev/null +++ b/LEGO1/legoactorpresenter.h @@ -0,0 +1,11 @@ +#ifndef LEGOACTORPRESENTER_H +#define LEGOACTORPRESENTER_H + +#include "legoentitypresenter.h" + +class LegoActorPresenter : public LegoEntityPresenter +{ + // VTABLE 0x100d5320 +}; + +#endif // LEGOACTORPRESENTER_H diff --git a/LEGO1/legoanimactor.cpp b/LEGO1/legoanimactor.cpp new file mode 100644 index 00000000..e81b8ae6 --- /dev/null +++ b/LEGO1/legoanimactor.cpp @@ -0,0 +1,22 @@ +#include "legoanimactor.h" + +// OFFSET: LEGO1 0x100f057c +static char* g_legoAnimActorClassName = "LegoAnimActor"; + +// OFFSET: LEGO1 0x1000fb90 +const char* GetClassNameInternal() +{ + return g_legoAnimActorClassName; +} + +// OFFSET: LEGO1 0x1000fb90 +const char *LegoAnimActor::GetClassName() const +{ + return GetClassNameInternal(); +} + +// OFFSET: LEGO1 0x1000fbb0 +MxBool LegoAnimActor::IsClass(const char *name) const +{ + return MxBool(); +} diff --git a/LEGO1/legoanimactor.h b/LEGO1/legoanimactor.h new file mode 100644 index 00000000..8e745f9f --- /dev/null +++ b/LEGO1/legoanimactor.h @@ -0,0 +1,15 @@ +#ifndef LEGOANIMACTOR_H +#define LEGOANIMACTOR_H + +#include "legopathactor.h" + +class LegoAnimActor : public LegoPathActor +{ +public: + virtual const char* GetClassName() const; + virtual MxBool IsClass(const char *name) const; + + // VTABLE 0x100d5440 +}; + +#endif // LEGOANIMACTOR_H diff --git a/LEGO1/legoanimationmanager.h b/LEGO1/legoanimationmanager.h index b30d351f..47f0d475 100644 --- a/LEGO1/legoanimationmanager.h +++ b/LEGO1/legoanimationmanager.h @@ -1,7 +1,9 @@ #ifndef LEGOANIMATIONMANAGER_H #define LEGOANIMATIONMANAGER_H -class LegoAnimationManager +#include "mxcore.h" + +class LegoAnimationManager : public MxCore { public: LegoAnimationManager(); diff --git a/LEGO1/legoanimmmpresenter.cpp b/LEGO1/legoanimmmpresenter.cpp new file mode 100644 index 00000000..6a03000f --- /dev/null +++ b/LEGO1/legoanimmmpresenter.cpp @@ -0,0 +1,7 @@ +#include "legoanimmmpresenter.h" + +// OFFSET: LEGO1 0x1004a8d0 +LegoAnimMMPresenter::LegoAnimMMPresenter() +{ + // TODO +} \ No newline at end of file diff --git a/LEGO1/legoanimmmpresenter.h b/LEGO1/legoanimmmpresenter.h new file mode 100644 index 00000000..21e74859 --- /dev/null +++ b/LEGO1/legoanimmmpresenter.h @@ -0,0 +1,16 @@ +#ifndef LEGOANIMMMPRESENTER_H +#define LEGOANIMMMPRESENTER_H + +#include "mxcompositepresenter.h" + +class LegoAnimMMPresenter : public MxCompositePresenter +{ +public: + LegoAnimMMPresenter(); + + // VTABLE 0x100d7de8 + // SIZE 0x74 +} + + +#endif // LEGOANIMMMPRESENTER_H diff --git a/LEGO1/legobuildingmanager.h b/LEGO1/legobuildingmanager.h index b52a8724..58935789 100644 --- a/LEGO1/legobuildingmanager.h +++ b/LEGO1/legobuildingmanager.h @@ -8,6 +8,15 @@ 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); + private: void Init(); diff --git a/LEGO1/legocachesound.h b/LEGO1/legocachesound.h new file mode 100644 index 00000000..28a9b8eb --- /dev/null +++ b/LEGO1/legocachesound.h @@ -0,0 +1,25 @@ +#ifndef LEGOCACHESOUND_H +#define LEGOCACHESOUND_H + +#include "mxcore.h" + +class LegoCacheSound : public MxCore +{ +public: + // OFFSET: LEGO1 0x100064d0 + LegoCacheSound(); + + // OFFSET: LEGO1 0x10006630 + ~LegoCacheSound(); + + void FUN_10006920(int param_1); + +private: + // OFFSET: LEGO1 0x100066d0 + void Init(); + + // VTABLE 0x100d4718 + // SIZE 0x88 +}; + +#endif // LEGOCACHESOUND_H diff --git a/LEGO1/legocameracontroller.h b/LEGO1/legocameracontroller.h new file mode 100644 index 00000000..914e5374 --- /dev/null +++ b/LEGO1/legocameracontroller.h @@ -0,0 +1,9 @@ +#ifndef LEGOCAMERACONTROLLER_H +#define LEGOCAMERACONTROLLER_H + +class LegoCameraController +{ + virtual void FUN_10011ff0(void* param); +}; + +#endif // LEGOCAMERACONTROLLER_H diff --git a/LEGO1/legocarbuild.cpp b/LEGO1/legocarbuild.cpp new file mode 100644 index 00000000..9c3b4131 --- /dev/null +++ b/LEGO1/legocarbuild.cpp @@ -0,0 +1,7 @@ +#include "legocarbuild.h" + +// OFFSET: LEGO1 0x100226d0 +LegoCarBuild::LegoCarBuild() +{ + // TODO +} \ No newline at end of file diff --git a/LEGO1/legocarbuild.h b/LEGO1/legocarbuild.h new file mode 100644 index 00000000..f97ca170 --- /dev/null +++ b/LEGO1/legocarbuild.h @@ -0,0 +1,19 @@ +#ifndef LEGOCARBUILD_H +#define LEGOCARBUILD_H + +#include "legoworld.h" + +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); +}; + +#endif // LEGOCARBUILD_H diff --git a/LEGO1/legocarraceactor.h b/LEGO1/legocarraceactor.h new file mode 100644 index 00000000..5ee51f2b --- /dev/null +++ b/LEGO1/legocarraceactor.h @@ -0,0 +1,11 @@ +#ifndef LEGOCARRACEACTOR_H +#define LEGOCARRACEACTOR_H + +#include "legoraceactor.h" + +class LegoCarRaceActor : public LegoRaceActor +{ + +}; + +#endif // LEGOCARRACEACTOR_H diff --git a/LEGO1/legocontrolmanager.h b/LEGO1/legocontrolmanager.h new file mode 100644 index 00000000..d1c03968 --- /dev/null +++ b/LEGO1/legocontrolmanager.h @@ -0,0 +1,11 @@ +#ifndef LEGOCONTROLMANAGER_H +#define LEGOCONTROLMANAGER_H + +#include "mxcore.h" + +class LegoControlManager : public MxCore +{ + +}; + +#endif // LEGOCONTROLMANAGER_H diff --git a/LEGO1/legoentity.cpp b/LEGO1/legoentity.cpp index 992f2cc2..1a378189 100644 --- a/LEGO1/legoentity.cpp +++ b/LEGO1/legoentity.cpp @@ -1,7 +1,24 @@ #include "legoentity.h" -// OFFSET: LEGO1 100105f0 +// OFFSET: LEG01 0x100f0064 +static char* g_legoEntityClassName = "LegoEntity"; + +// OFFSET: LEGO1 0x100105f0 LegoEntity::LegoEntity() { // TODO -} \ No newline at end of file +} + +// OFFSET: LEGO1 0x1000c2f0 +const char *LegoEntity::GetClassName() const +{ + return g_legoEntityClassName; +} + +// OFFSET: LEGO1 0x1000c300 +MxBool LegoEntity::IsClass(const char *name) const +{ + // TODO + + return MxBool(); +} diff --git a/LEGO1/legoentity.h b/LEGO1/legoentity.h index 89a4ad2f..38390c85 100644 --- a/LEGO1/legoentity.h +++ b/LEGO1/legoentity.h @@ -9,7 +9,8 @@ class LegoEntity : public MxEntity LegoEntity(); __declspec(dllexport) virtual ~LegoEntity(); - virtual const char* GetClassName() const { return "LegoEntity"; } + virtual const char* GetClassName() const; + virtual MxBool IsClass(const char *name) const; }; #endif // LEGOENTITY_H diff --git a/LEGO1/legoentitypresenter.cpp b/LEGO1/legoentitypresenter.cpp new file mode 100644 index 00000000..e59b5302 --- /dev/null +++ b/LEGO1/legoentitypresenter.cpp @@ -0,0 +1,13 @@ +#include "legoentitypresenter.h" + +// OFFSET: LEGO1 0x10053440 +LegoEntityPresenter::LegoEntityPresenter() +{ + // TODO +} + +// OFFSET: LEG01 0x100535c0 +void LegoEntityPresenter::Init() +{ + // TODO +} diff --git a/LEGO1/legoentitypresenter.h b/LEGO1/legoentitypresenter.h new file mode 100644 index 00000000..29c878b7 --- /dev/null +++ b/LEGO1/legoentitypresenter.h @@ -0,0 +1,18 @@ +#ifndef LEGOENTITYPRESENTER_H +#define LEGOENTITYPRESENTER_H + +#include "mxcompositepresenter.h" + +class LegoEntityPresenter : public MxCompositePresenter +{ +public: + LegoEntityPresenter(); + +private: + void Init(); + + // VTABLE 0x100d8398 +}; + + +#endif // LEGOENTITYPRESENTER_H diff --git a/LEGO1/legoextraactor.h b/LEGO1/legoextraactor.h new file mode 100644 index 00000000..05275e56 --- /dev/null +++ b/LEGO1/legoextraactor.h @@ -0,0 +1,11 @@ +#ifndef LEGOEXTRAACTOR_H +#define LEGOEXTRAACTOR_H + +#include "legoanimactor.h" + +class LegoExtraActor : public LegoAnimActor +{ + // VTABLE 0x100d6c10 +}; + +#endif // LEGOEXTRAACTOR_H diff --git a/LEGO1/legojetskiraceactor.h b/LEGO1/legojetskiraceactor.h new file mode 100644 index 00000000..6a1a285f --- /dev/null +++ b/LEGO1/legojetskiraceactor.h @@ -0,0 +1,11 @@ +#ifndef LEGOJETSKIRACEACTOR_H +#define LEGOJETSKIRACEACTOR_H + +#include "legocarraceactor.h" + +class LegoJetskiRaceActor : public LegoCarRaceActor +{ + +}; + +#endif // LEGOJETSKIRACEACTOR_H diff --git a/LEGO1/legoomni.h b/LEGO1/legoomni.h index 10f05665..0f799af1 100644 --- a/LEGO1/legoomni.h +++ b/LEGO1/legoomni.h @@ -14,6 +14,7 @@ #include "mxdsobject.h" #include "mxomni.h" #include "mxtransitionmanager.h" +#include "isle.h" class LegoSoundManager; @@ -54,7 +55,10 @@ class LegoOmni : public MxOmni LegoInputManager *m_inputMgr; // 0x70 char m_unk74[0x10]; LegoNavController *m_navController; // 0x84 - char m_unk88[0x14]; + Isle* m_isle; // 0x88 + // LegoPlantManager* m_plantManager // 0x90 + // LegoBuildingManager* m_legoBuildingManager // 0x98 + char m_unk88[0x10]; LegoGameState *m_gameState; // 0x9c char m_unka0[0x94]; MxBackgroundAudioManager *m_bkgAudioManager; // 0x134 diff --git a/LEGO1/legopalettepresenter.cpp b/LEGO1/legopalettepresenter.cpp new file mode 100644 index 00000000..df13a492 --- /dev/null +++ b/LEGO1/legopalettepresenter.cpp @@ -0,0 +1,13 @@ +#include "legopalettepresenter.h" + +// OFFSET: LEGO1 0x10079e50 +LegoPalettePresenter::LegoPalettePresenter() +{ + // TODO +} + +// OFFSET: LEGO1 0x1007a0d0 +void LegoPalettePresenter::Init() +{ + // TODO +} diff --git a/LEGO1/legopalettepresenter.h b/LEGO1/legopalettepresenter.h new file mode 100644 index 00000000..54eb1a9b --- /dev/null +++ b/LEGO1/legopalettepresenter.h @@ -0,0 +1,18 @@ +#ifndef LEGOPALETTEPRESENTER_H +#define LEGOPALETTEPRESENTER_H + +#include "mxvideopresenter.h" + +class LegoPalettePresenter : public MxVideoPresenter +{ +public: + LegoPalettePresenter(); + +private: + void Init(); + + // VTABLE 0x100d9aa0 +}; + + +#endif // LEGOPALETTEPRESENTER_H diff --git a/LEGO1/legopathcontroller.h b/LEGO1/legopathcontroller.h new file mode 100644 index 00000000..e79c2471 --- /dev/null +++ b/LEGO1/legopathcontroller.h @@ -0,0 +1,11 @@ +#ifndef LEGOPATHCONTROLLER_H +#define LEGOPATHCONTROLLER_H + +#include "mxcore.h" + +class LegoPathController : public MxCore +{ + +}; + +#endif // LEGOPATHCONTROLLER_H diff --git a/LEGO1/legopathpresenter.cpp b/LEGO1/legopathpresenter.cpp new file mode 100644 index 00000000..a93e0883 --- /dev/null +++ b/LEGO1/legopathpresenter.cpp @@ -0,0 +1,7 @@ +#include "legopathpresenter.h" + +// OFFSET: LEGO1 0x100448d0 +LegoPathPresenter::LegoPathPresenter() +{ + // TODO +} \ No newline at end of file diff --git a/LEGO1/legopathpresenter.h b/LEGO1/legopathpresenter.h new file mode 100644 index 00000000..1eac9ef2 --- /dev/null +++ b/LEGO1/legopathpresenter.h @@ -0,0 +1,15 @@ +#ifndef LEGOPATHPRESENTER_H +#define LEGOPATHPRESENTER_H + +#include "mxmediapresenter.h" + +class LegoPathPresenter : public MxMediaPresenter +{ +public: + LegoPathPresenter(); + + // VTABLE 0x100d7c10 +}; + + +#endif // LEGOPATHPRESENTER_H diff --git a/LEGO1/legophonemepresenter.cpp b/LEGO1/legophonemepresenter.cpp new file mode 100644 index 00000000..d0c22001 --- /dev/null +++ b/LEGO1/legophonemepresenter.cpp @@ -0,0 +1,16 @@ +#include "legophonemepresenter.h" + +// OFFSET: LEGO1 0x100f064c +static char* g_legoPhonemePresenterClassName = "LegoPhonemePresenter"; + +// OFFSET: LEGO1 0x1004e340 +LegoPhonemePresenter::~LegoPhonemePresenter() +{ + // TODO +} + +// OFFSET: LEGO1 0x1004e310 +const char *LegoPhonemePresenter::GetClassName() const +{ + return g_legoPhonemePresenterClassName; +} \ No newline at end of file diff --git a/LEGO1/legophonemepresenter.h b/LEGO1/legophonemepresenter.h index 620473b6..f8564a8d 100644 --- a/LEGO1/legophonemepresenter.h +++ b/LEGO1/legophonemepresenter.h @@ -5,6 +5,12 @@ class LegoPhonemePresenter : public MxFlcPresenter { +public: + virtual ~LegoPhonemePresenter(); + + virtual const char* GetClassName() const; + + virtual void FUN_1004e840(int param_1); }; #endif // LEGOPHONEMEPRESENTER_H diff --git a/LEGO1/legoplantmanager.cpp b/LEGO1/legoplantmanager.cpp index 604444b0..3557a7a2 100644 --- a/LEGO1/legoplantmanager.cpp +++ b/LEGO1/legoplantmanager.cpp @@ -1,11 +1,26 @@ #include "legoplantmanager.h" +// OFFSET: LEGO1 0x100f318c +static char* g_LegoPlantManagerName = "LegoPlantManager"; + // OFFSET: LEGO1 0x10026220 LegoPlantManager::LegoPlantManager() { // TODO } +// OFFSET: LEGO1 0x100262c0 +LegoPlantManager::~LegoPlantManager() +{ + // TODO +} + +// OFFSET: LEGO1 0x10026290 +const char *LegoPlantManager::GetClassName() const +{ + return g_LegoPlantManagerName; +} + // OFFSET: LEGO1 0x10026330 void LegoPlantManager::Init() { diff --git a/LEGO1/legoplantmanager.h b/LEGO1/legoplantmanager.h index 8667f9ad..645f05b1 100644 --- a/LEGO1/legoplantmanager.h +++ b/LEGO1/legoplantmanager.h @@ -7,10 +7,26 @@ class LegoPlantManager : public MxCore { public: LegoPlantManager(); + virtual ~LegoPlantManager(); + // OFFSET: LEGO1 0x100157e0 + LegoPlantManager* GetInstance() + { + LegoOmni* legoOmni = LegoOmni::GetInstance(); + + return legoOmni->m_plantManager; + } + + // Virtual Functions + virtual const char* GetClassName() const; + + // Member Functions + void FUN_10026d70(int param_1, int param_2); + private: void Init(); + // VTABLE 0x100d6758 // SIZE 0x2c }; diff --git a/LEGO1/legoraceactor.h b/LEGO1/legoraceactor.h new file mode 100644 index 00000000..1081c658 --- /dev/null +++ b/LEGO1/legoraceactor.h @@ -0,0 +1,10 @@ +#ifndef LEGORACEACTOR_H +#define LEGORACEACTOR_H + +class LegoRaceActor +{ + +}; + + +#endif // LEGORACEACTOR_H diff --git a/LEGO1/legoworldpresenter.cpp b/LEGO1/legoworldpresenter.cpp new file mode 100644 index 00000000..d0b900a4 --- /dev/null +++ b/LEGO1/legoworldpresenter.cpp @@ -0,0 +1,7 @@ +#include "legoworldpresenter.h" + +// OFFSET: LEGO1 0x100665c0 +LegoWorldPresenter::LegoWorldPresenter() +{ + // TODO +} \ No newline at end of file diff --git a/LEGO1/legoworldpresenter.h b/LEGO1/legoworldpresenter.h index 006b4cf8..20982223 100644 --- a/LEGO1/legoworldpresenter.h +++ b/LEGO1/legoworldpresenter.h @@ -1,10 +1,15 @@ #ifndef LEGOWORLDPRESENTER_H #define LEGOWORLDPRESENTER_H -class LegoWorldPresenter +#include "legoentitypresenter.h" + +class LegoWorldPresenter : public LegoEntityPresenter { public: + LegoWorldPresenter(); __declspec(dllexport) static void configureLegoWorldPresenter(int param_1); + + // VTABLE 0x100d8ee0 }; #endif // LEGOWORLDPRESENTER_H diff --git a/LEGO1/motorcycle.cpp b/LEGO1/motorcycle.cpp new file mode 100644 index 00000000..a9c6ef31 --- /dev/null +++ b/LEGO1/motorcycle.cpp @@ -0,0 +1,7 @@ +#include "motorcycle.h" + +// OFFSET: LEGO1 0x100357b0 +Motorcycle::Motorcycle() +{ + // TODO +} \ No newline at end of file diff --git a/LEGO1/motorcycle.h b/LEGO1/motorcycle.h new file mode 100644 index 00000000..39942de7 --- /dev/null +++ b/LEGO1/motorcycle.h @@ -0,0 +1,15 @@ +#ifndef MOTORCYCLE_H +#define MOTORCYCLE_H + +#include "islepathactor.h" + +class Motorcycle : public IslePathActor +{ +public: + Motorcycle(); + + // VTABLE 0x100d7090 + // SIZE 0x16c +}; + +#endif // MOTORCYCLE_H diff --git a/LEGO1/mxbackgroundaudiomanager.h b/LEGO1/mxbackgroundaudiomanager.h index 765fc9c3..29268d0a 100644 --- a/LEGO1/mxbackgroundaudiomanager.h +++ b/LEGO1/mxbackgroundaudiomanager.h @@ -1,7 +1,9 @@ #ifndef MXBACKGROUNDAUDIOMANAGER_H #define MXBACKGROUNDAUDIOMANAGER_H -class MxBackgroundAudioManager +#include "mxcore.h" + +class MxBackgroundAudioManager : public MxCore { public: __declspec(dllexport) void Enable(unsigned char p); diff --git a/LEGO1/mxcompositemediapresenter.h b/LEGO1/mxcompositemediapresenter.h index c6c3514c..db10ae7b 100644 --- a/LEGO1/mxcompositemediapresenter.h +++ b/LEGO1/mxcompositemediapresenter.h @@ -1,7 +1,9 @@ #ifndef MXCOMPOSITEMEDIAPRESENTER_H #define MXCOMPOSITEMEDIAPRESENTER_H -class MxCompositeMediaPresenter +#include "mxcompositepresenter.h" + +class MxCompositeMediaPresenter : public MxCompositePresenter { public: MxCompositeMediaPresenter(); diff --git a/LEGO1/mxcompositepresenter.cpp b/LEGO1/mxcompositepresenter.cpp new file mode 100644 index 00000000..5dc7dfd7 --- /dev/null +++ b/LEGO1/mxcompositepresenter.cpp @@ -0,0 +1,7 @@ +#include "mxcompositepresenter.h" + +// OFFSET: LEGO1 0x100b60b0 +MxCompositePresenter::MxCompositePresenter() +{ + // TODO +} \ No newline at end of file diff --git a/LEGO1/mxcompositepresenter.h b/LEGO1/mxcompositepresenter.h new file mode 100644 index 00000000..b43579b8 --- /dev/null +++ b/LEGO1/mxcompositepresenter.h @@ -0,0 +1,14 @@ +#ifndef MXCOMPOSITEPRESENTER_H +#define MXCOMPOSITEPRESENTER_H + +#include "mxpresenter.h" + +class MxCompositePresenter : public MxPresenter +{ +public: + MxCompositePresenter(); + + // VTABLE 0x100dc618 +}; + +#endif // MXCOMPOSITEPRESENTER_H diff --git a/LEGO1/mxcontrolpresenter.cpp b/LEGO1/mxcontrolpresenter.cpp new file mode 100644 index 00000000..78671b9f --- /dev/null +++ b/LEGO1/mxcontrolpresenter.cpp @@ -0,0 +1,7 @@ +#include "mxcontrolpresenter.h" + +// OFFSET: LEGO1 0x10043f50 +MxControlPresenter::MxControlPresenter() +{ + // TODO +} \ No newline at end of file diff --git a/LEGO1/mxcontrolpresenter.h b/LEGO1/mxcontrolpresenter.h new file mode 100644 index 00000000..d2e69dff --- /dev/null +++ b/LEGO1/mxcontrolpresenter.h @@ -0,0 +1,16 @@ +#ifndef MXCONTROLPRESENTER_H +#define MXCONTROLPRESENTER_H + +#include "mxcompositepresenter.h" + +class MxControlPresenter : public MxCompositePresenter +{ +public: + MxControlPresenter(); + + // VTABLE 0x100d7b88 + // SIZE 0x5c +}; + + +#endif // MXCONTROLPRESENTER_H diff --git a/LEGO1/mxdiskstreamcontroller.h b/LEGO1/mxdiskstreamcontroller.h new file mode 100644 index 00000000..7acb277a --- /dev/null +++ b/LEGO1/mxdiskstreamcontroller.h @@ -0,0 +1,11 @@ +#ifndef MXDISKSTREAMCONTROLLER_H +#define MXDISKSTREAMCONTROLLER_H + +#include "mxstreamcontroller.h" + +class MxDiskStreamController : public MxStreamController +{ + +}; + +#endif // MXDISKSTREAMCONTROLLER_H diff --git a/LEGO1/mxdiskstreamprovider.h b/LEGO1/mxdiskstreamprovider.h new file mode 100644 index 00000000..337714cd --- /dev/null +++ b/LEGO1/mxdiskstreamprovider.h @@ -0,0 +1,11 @@ +#ifndef MXDISKSTREAMPROVIDER_H +#define MXDISKSTREAMPROVIDER_H + +#include "mxstreamprovider.h" + +class MxDiskStreamProvider : public MxStreamProvider +{ + +}; + +#endif // MXDISKSTREAMPROVIDER_H diff --git a/LEGO1/mxdsanim.h b/LEGO1/mxdsanim.h new file mode 100644 index 00000000..7a453a90 --- /dev/null +++ b/LEGO1/mxdsanim.h @@ -0,0 +1,11 @@ +#ifndef MXDSANIM_H +#define MXDSANIM_H + +#include "mxdsmediaaction.h" + +class MxDSAnim : public MxDSMediaAction +{ + +}; + +#endif // MXDSANIM_H diff --git a/LEGO1/mxdschunk.h b/LEGO1/mxdschunk.h new file mode 100644 index 00000000..dc7f24ca --- /dev/null +++ b/LEGO1/mxdschunk.h @@ -0,0 +1,11 @@ +#ifndef MXDSCHUNK_H +#define MXDSCHUNK_H + +#include "mxcore.h" + +class MxDSChunk : public MxCore +{ + +}; + +#endif // MXDSCHUNK_H diff --git a/LEGO1/mxdsevent.h b/LEGO1/mxdsevent.h new file mode 100644 index 00000000..2c77c2c3 --- /dev/null +++ b/LEGO1/mxdsevent.h @@ -0,0 +1,11 @@ +#ifndef MXDSEVENT_H +#define MXDSEVENT_H + +#include "mxdsmediaaction.h" + +class MxDSEvent : public MxDSMediaAction +{ + +}; + +#endif // MXDSEVENT_H diff --git a/LEGO1/mxdsfile.h b/LEGO1/mxdsfile.h index d28928dc..4808b445 100644 --- a/LEGO1/mxdsfile.h +++ b/LEGO1/mxdsfile.h @@ -1,7 +1,9 @@ #ifndef MXDSFILE_H #define MXDSFILE_H -class MxDSFile +#include "mxdssource.h" + +class MxDSFile : public MxDSSource { public: __declspec(dllexport) MxDSFile(const char *,unsigned long); diff --git a/LEGO1/mxdsmediaaction.h b/LEGO1/mxdsmediaaction.h new file mode 100644 index 00000000..23540c91 --- /dev/null +++ b/LEGO1/mxdsmediaaction.h @@ -0,0 +1,11 @@ +#ifndef MXDSMEDIAACTION_H +#define MXDSMEDIAACTION_H + +#include "mxdsaction.h" + +class MxDSMediaAction : public MxDSAction +{ + +}; + +#endif // MXDSMEDIAACTION_H diff --git a/LEGO1/mxdsmultiaction.h b/LEGO1/mxdsmultiaction.h new file mode 100644 index 00000000..b8a16475 --- /dev/null +++ b/LEGO1/mxdsmultiaction.h @@ -0,0 +1,11 @@ +#ifndef MXDSMULTIACTION_H +#define MXDSMULTIACTION_H + +#include "mxdsaction.h" + +class MxDSMultiAction : public MxDSAction +{ + +}; + +#endif // MXDSMULTIACTION_H diff --git a/LEGO1/mxdsobjectaction.h b/LEGO1/mxdsobjectaction.h new file mode 100644 index 00000000..26fa75ed --- /dev/null +++ b/LEGO1/mxdsobjectaction.h @@ -0,0 +1,11 @@ +#ifndef MXDSOBJECTACTION_H +#define MXDSOBJECTACTION_H + +#include "mxdsmediaaction.h" + +class MxDSObjectAction : public MxDSMediaAction +{ + +}; + +#endif // MXDSOBJECTACTION_H diff --git a/LEGO1/mxdsparallelaction.h b/LEGO1/mxdsparallelaction.h new file mode 100644 index 00000000..84ed40f6 --- /dev/null +++ b/LEGO1/mxdsparallelaction.h @@ -0,0 +1,11 @@ +#ifndef MXDSPARALLELACTION_H +#define MXDSPARALLELACTION_H + +#include "mxdsmultiaction.h" + +class MxDSParallelAction : public MxDSMultiAction +{ + +}; + +#endif // MXDSPARALLELACTION_H diff --git a/LEGO1/mxdsselectaction.h b/LEGO1/mxdsselectaction.h new file mode 100644 index 00000000..846f4193 --- /dev/null +++ b/LEGO1/mxdsselectaction.h @@ -0,0 +1,11 @@ +#ifndef MXDSSELECTACTION_H +#define MXDSSELECTACTION_H + +#include "mxdsparallelaction.h" + +class MxDSSelectAction : public MxDSParallelAction +{ + +}; + +#endif // MXDSSELECTACTION_H diff --git a/LEGO1/mxdsserialaction.h b/LEGO1/mxdsserialaction.h new file mode 100644 index 00000000..1e742d29 --- /dev/null +++ b/LEGO1/mxdsserialaction.h @@ -0,0 +1,11 @@ +#ifndef MXDSSERIALACTION_H +#define MXDSSERIALACTION_H + +#include "mxdsmultiaction.h" + +class MxDSSerialAction : public MxDSMultiAction +{ + +}; + +#endif // MXDSSERIALACTION_H diff --git a/LEGO1/mxdssound.h b/LEGO1/mxdssound.h new file mode 100644 index 00000000..dfc9f324 --- /dev/null +++ b/LEGO1/mxdssound.h @@ -0,0 +1,10 @@ +#ifndef MXDSSOUND_H +#define MXDSSOUND_H + +class MxDSSound : public MxDSMediaAction +{ + +}; + + +#endif // MXDSSOUND_H diff --git a/LEGO1/mxdssource.h b/LEGO1/mxdssource.h new file mode 100644 index 00000000..12e1e749 --- /dev/null +++ b/LEGO1/mxdssource.h @@ -0,0 +1,11 @@ +#ifndef MXDSSOURCE_H +#define MXDSSOURCE_H + +#include "mxcore.h" + +class MxDSSource : public MxCore +{ + +}; + +#endif // MXDSSOURCE_H diff --git a/LEGO1/mxdsstill.h b/LEGO1/mxdsstill.h new file mode 100644 index 00000000..fa7b3548 --- /dev/null +++ b/LEGO1/mxdsstill.h @@ -0,0 +1,11 @@ +#ifndef MXDSSTILL_H +#define MXDSSTILL_H + +#include "mxdsmediaaction.h" + +class MxDSStill : public MxDSMediaAction +{ + +}; + +#endif // MXDSSTILL_H diff --git a/LEGO1/mxdssubscriber.h b/LEGO1/mxdssubscriber.h new file mode 100644 index 00000000..31e56792 --- /dev/null +++ b/LEGO1/mxdssubscriber.h @@ -0,0 +1,11 @@ +#ifndef MXDSSUBSCRIBER_H +#define MXDSSUBSCRIBER_H + +#include "mxcore.h" + +class MxDSSubscriber : public MxCore +{ + +}; + +#endif // MXDSSUBSCRIBER_H diff --git a/LEGO1/mxentity.cpp b/LEGO1/mxentity.cpp new file mode 100644 index 00000000..ce64e84c --- /dev/null +++ b/LEGO1/mxentity.cpp @@ -0,0 +1,18 @@ +#include "mxentity.h" + +// OFFSET: LEGO1 0x100f0070 +static char* g_mxEntityClassName = "MxEntity"; + +// OFFSET: LEGO1 0x1000c180 +const char *MxEntity::GetClassName() const +{ + return g_mxEntityClassName; +} + +// OFFSET: LEG01 0x1000c190 +MxBool MxEntity::IsClass(const char *name) const +{ + // TODO + + return MxBool(); +} diff --git a/LEGO1/mxentity.h b/LEGO1/mxentity.h index 11698ecd..981e2590 100644 --- a/LEGO1/mxentity.h +++ b/LEGO1/mxentity.h @@ -1,9 +1,13 @@ #ifndef MXENTITY_H #define MXENTITY_H -class MxEntity +#include "mxcore.h" + +class MxEntity : public MxCore { - +public: + virtual const char* GetClassName() const; + virtual MxBool IsClass(const char *name) const; }; #endif // MXENTITY_H \ No newline at end of file diff --git a/LEGO1/mxnextactiondatastart.h b/LEGO1/mxnextactiondatastart.h new file mode 100644 index 00000000..509eab89 --- /dev/null +++ b/LEGO1/mxnextactiondatastart.h @@ -0,0 +1,11 @@ +#ifndef MXNEXTACTIONDATASTART_H +#define MXNEXTACTIONDATASTART_H + +#include "mxcore.h" + +class MxNextActionDataStart : public MxCore +{ + +}; + +#endif // MXNEXTACTIONDATASTART_H diff --git a/LEGO1/mxobjectfactory.h b/LEGO1/mxobjectfactory.h index ad341edd..aa6605ba 100644 --- a/LEGO1/mxobjectfactory.h +++ b/LEGO1/mxobjectfactory.h @@ -1,7 +1,9 @@ #ifndef MXOBJECTFACTORY_H #define MXOBJECTFACTORY_H -class MxObjectFactory +#include "mxcore.h" + +class MxObjectFactory : public MxCore { }; diff --git a/LEGO1/mxpresenter.h b/LEGO1/mxpresenter.h index 164bebe1..f933f964 100644 --- a/LEGO1/mxpresenter.h +++ b/LEGO1/mxpresenter.h @@ -1,10 +1,12 @@ #ifndef MXPRESENTER_H #define MXPRESENTER_H +#include "mxcore.h" + class MxStreamController; class MxDSAction; -class MxPresenter +class MxPresenter : public MxCore { protected: __declspec(dllexport) virtual void DoneTickle(); diff --git a/LEGO1/mxramstreamcontroller.h b/LEGO1/mxramstreamcontroller.h new file mode 100644 index 00000000..b33228b3 --- /dev/null +++ b/LEGO1/mxramstreamcontroller.h @@ -0,0 +1,12 @@ +#ifndef MXRAMSTREAMCONTROLLER_H +#define MXRAMSTREAMCONTROLLER_H + +#include "mxstreamcontroller.h" + +class MxRAMStreamController : public MxStreamController +{ + +}; + + +#endif // MXRAMSTREAMCONTROLLER_H diff --git a/LEGO1/mxramstreamprovider.h b/LEGO1/mxramstreamprovider.h new file mode 100644 index 00000000..224671cc --- /dev/null +++ b/LEGO1/mxramstreamprovider.h @@ -0,0 +1,11 @@ +#ifndef MXRAMSTREAMPROVIDER_H +#define MXRAMSTREAMPROVIDER_H + +#include "mxstreamprovider.h" + +class MxRAMStreamProvider : public MxStreamProvider +{ + +}; + +#endif // MXRAMSTREAMPROVIDER_H diff --git a/LEGO1/mxstreamchunk.h b/LEGO1/mxstreamchunk.h new file mode 100644 index 00000000..ca3b4e47 --- /dev/null +++ b/LEGO1/mxstreamchunk.h @@ -0,0 +1,11 @@ +#ifndef MXSTREAMCHUNK_H +#define MXSTREAMCHUNK_H + +#include "mxdschunk.h" + +class MxStreamChunk : public MxDSChunk +{ + +}; + +#endif // MXSTREAMCHUNK_H diff --git a/LEGO1/mxstreamprovider.h b/LEGO1/mxstreamprovider.h new file mode 100644 index 00000000..9d2bc51a --- /dev/null +++ b/LEGO1/mxstreamprovider.h @@ -0,0 +1,11 @@ +#ifndef MXSTREAMPROVIDER_H +#define MXSTREAMPROVIDER_H + +#include "mxcore.h" + +class MxStreamProvider : public MxCore +{ + +}; + +#endif // MXSTREAMPROVIDER_H diff --git a/LEGO1/mxtransitionmanager.cpp b/LEGO1/mxtransitionmanager.cpp new file mode 100644 index 00000000..dd8d3c8c --- /dev/null +++ b/LEGO1/mxtransitionmanager.cpp @@ -0,0 +1,7 @@ +#include "mxtransitionmanager.h" + +// OFFSET: LEGO1 0x1004bac0 +int MxTransitionManager::DispatchTransition() +{ + return 0; +} \ No newline at end of file diff --git a/LEGO1/mxtransitionmanager.h b/LEGO1/mxtransitionmanager.h index 904070b9..2bff4b47 100644 --- a/LEGO1/mxtransitionmanager.h +++ b/LEGO1/mxtransitionmanager.h @@ -7,6 +7,9 @@ class MxTransitionManager { public: __declspec(dllexport) void SetWaitIndicator(MxVideoPresenter *videoPresenter); + + virtual int DispatchTransition(); + virtual int FUN_1004baa0(); // Return is unknown 4-byte value }; #endif // MXTRANSITIONMANAGER_H diff --git a/LEGO1/mxvideopresenter.h b/LEGO1/mxvideopresenter.h index ed105aee..1517b580 100644 --- a/LEGO1/mxvideopresenter.h +++ b/LEGO1/mxvideopresenter.h @@ -1,7 +1,9 @@ #ifndef MXVIDEOPRESENTER_H #define MXVIDEOPRESENTER_H -class MxVideoPresenter +#include "mxmediapresenter.h" + +class MxVideoPresenter : public MxMediaPresenter { }; diff --git a/LEGO1/pizza.cpp b/LEGO1/pizza.cpp index 24c32225..cb4023ca 100644 --- a/LEGO1/pizza.cpp +++ b/LEGO1/pizza.cpp @@ -5,3 +5,9 @@ Pizza::Pizza() { // TODO } + +// OFFSET: LEGO1 0x10038100 +Pizza::~Pizza() +{ + // TODO +} diff --git a/LEGO1/pizza.h b/LEGO1/pizza.h index bf2c8272..af2b92cf 100644 --- a/LEGO1/pizza.h +++ b/LEGO1/pizza.h @@ -7,6 +7,7 @@ class Pizza : public IsleActor { public: Pizza(); + ~Pizza(); // VTABLE 100d7380 // SIZE 0x9c diff --git a/LEGO1/pizzamissionstate.h b/LEGO1/pizzamissionstate.h new file mode 100644 index 00000000..88fce885 --- /dev/null +++ b/LEGO1/pizzamissionstate.h @@ -0,0 +1,11 @@ +#ifndef PIZZAMISSIONSTATE_H +#define PIZZAMISSIONSTATE_H + +#include "legostate.h" + +class PizzaMissionState : public LegoState +{ + +}; + +#endif // PIZZAMISSIONSTATE_H diff --git a/LEGO1/policeentity.h b/LEGO1/policeentity.h new file mode 100644 index 00000000..0a4e32af --- /dev/null +++ b/LEGO1/policeentity.h @@ -0,0 +1,14 @@ +#ifndef POLICEENTITY_H +#define POLICEENTITY_H + +#include "buildingentity.h" + +class PoliceEntity : public BuildingEntity +{ + virtual int FUN_10015310(); // Return is undefined 4-byte value + + // VTABLE 0x100d4ab0 + // SIZE 0x68 +}; + +#endif // POLICEENTITY_H diff --git a/LEGO1/racecar.cpp b/LEGO1/racecar.cpp new file mode 100644 index 00000000..265fd18e --- /dev/null +++ b/LEGO1/racecar.cpp @@ -0,0 +1,7 @@ +#include "racecar.h" + +// OFFSET: LEGO1 0x10028200 +RaceCar::RaceCar() +{ + // TODO +} \ No newline at end of file diff --git a/LEGO1/racecar.h b/LEGO1/racecar.h new file mode 100644 index 00000000..9ca8d819 --- /dev/null +++ b/LEGO1/racecar.h @@ -0,0 +1,15 @@ +#ifndef RACECAR_H +#define RACECAR_H + +#include "islepathactor.h" + +class RaceCar : public IslePathActor +{ +public: + RaceCar(); + + // VTABLE 0x100d6918 + // SIZE 0x +}; + +#endif // RACECAR_H diff --git a/LEGO1/racestandsentity.h b/LEGO1/racestandsentity.h index c5a6b9ac..8428683d 100644 --- a/LEGO1/racestandsentity.h +++ b/LEGO1/racestandsentity.h @@ -5,6 +5,9 @@ class RaceStandsEntity : public BuildingEntity { + // NOTE(Cydra): Starts transition + int FUN_10015450(); // Return is unknown 4-byte value + // SIZE 0x68 }; diff --git a/LEGO1/registrationbook.cpp b/LEGO1/registrationbook.cpp new file mode 100644 index 00000000..8e6ff8b6 --- /dev/null +++ b/LEGO1/registrationbook.cpp @@ -0,0 +1,7 @@ +#include "registrationbook.h" + +// OFFSET: LEGO1 0x10076d20 +RegistrationBook::RegistrationBook() +{ + // TODO +} \ No newline at end of file diff --git a/LEGO1/registrationbook.h b/LEGO1/registrationbook.h new file mode 100644 index 00000000..c55051bb --- /dev/null +++ b/LEGO1/registrationbook.h @@ -0,0 +1,16 @@ +#ifndef REGISTRATIONBOOK_H +#define REGISTRATIONBOOK_H + +#include "legoworld.h" + +class RegistrationBook : public LegoWorld +{ +public: + RegistrationBook(); + + void FUN_10078180(char param_1); + + // VTABLE 0x100d9928 +}; + +#endif // REGISTRATIONBOOK_H diff --git a/LEGO1/score.h b/LEGO1/score.h index d36f4c03..3f84623c 100644 --- a/LEGO1/score.h +++ b/LEGO1/score.h @@ -7,7 +7,7 @@ class Score : public LegoWorld { public: Score(); - + // SIZE 0x104 }; diff --git a/LEGO1/towtrack.cpp b/LEGO1/towtrack.cpp new file mode 100644 index 00000000..51883418 --- /dev/null +++ b/LEGO1/towtrack.cpp @@ -0,0 +1,7 @@ +#include "towtrack.h" + +// OFFSET: LEGO1 0x1004c720 +TowTrack::TowTrack() +{ + // TODO +} \ No newline at end of file diff --git a/LEGO1/towtrack.h b/LEGO1/towtrack.h new file mode 100644 index 00000000..da04fb0c --- /dev/null +++ b/LEGO1/towtrack.h @@ -0,0 +1,16 @@ +#ifndef TOWTRACK_H +#define TOWTRACK_H + +#include "islepathactor.h" + +class TowTrack : public IslePathActor +{ +public: + TowTrack(); + + // VTABLE 0x100d7ee0 + // SIZE 0x180 +}; + + +#endif // TOWTRACK_H diff --git a/LEGO1/towtrackmissionstate.cpp b/LEGO1/towtrackmissionstate.cpp new file mode 100644 index 00000000..21d3178e --- /dev/null +++ b/LEGO1/towtrackmissionstate.cpp @@ -0,0 +1,7 @@ +#include "towtrackmissionstate.h" + +// OFFSET: LEGO1 0x1004dd30 +TowTrackMissionState::TowTrackMissionState() +{ + // TODO +} \ No newline at end of file diff --git a/LEGO1/towtrackmissionstate.h b/LEGO1/towtrackmissionstate.h new file mode 100644 index 00000000..b9a6757d --- /dev/null +++ b/LEGO1/towtrackmissionstate.h @@ -0,0 +1,15 @@ +#ifndef TOWTRACKMISSIONSTATE_H +#define TOWTRACKMISSIONSTATE_H + +#include "legostate.h" + +class TowTrackMissionState : LegoState +{ +public: + TowTrackMissionState(); + + // VTABLE 0x100d7fd8 + // SIZE 0x28 +}; + +#endif // TOWTRACKMISSIONSTATE_H