More classes and implementation details. Still not checked for any errors

This commit is contained in:
Cydra 2023-06-22 00:06:09 +02:00
parent 068e37040a
commit 1dcf29b454
46 changed files with 432 additions and 20 deletions

View File

@ -4,4 +4,18 @@
Act2Brick::Act2Brick()
{
// TODO
}
}
// OFFSET: LEGO1 0x1007a470
Act2Brick::~Act2Brick()
{
// TODO
}
// OFFSET: LEGO1 0x1007a7f0
long Act2Brick::Tickle()
{
// TODO
return 0;
}

View File

@ -7,7 +7,9 @@ class Act2Brick : public LegoPathActor
{
public:
Act2Brick();
virtual ~Act2Brick(); // vtable+0x0
virtual long Tickle(); // vtable+08
// VTABLE 0x100d9b60
// SIZE 0x194
};

View File

@ -8,6 +8,10 @@ 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
// VTABLE 0x100d9808
// SIZE 0x74
};

View File

@ -9,6 +9,12 @@ ElevatorBottom::ElevatorBottom()
// TODO
}
// OFFSET: LEGO1 0x10018060
ElevatorBottom::~ElevatorBottom()
{
// TODO
}
// OFFSET: LEGO1 0x10017f20
const char *ElevatorBottom::GetClassName() const
{
@ -18,5 +24,7 @@ const char *ElevatorBottom::GetClassName() const
// OFFSET: LEGO1 0x10017f30
MxBool ElevatorBottom::IsClass(const char *name) const
{
// TODO
return MxBool();
}

View File

@ -7,9 +7,13 @@ class ElevatorBottom : public LegoWorld
{
public:
ElevatorBottom();
virtual ~ElevatorBottom();
virtual const char* GetClassName() const;
virtual MxBool IsClass(const char *name) const;
virtual int FUN_10017f10() { return 1; } // Return is undefined
virtual void FUN_100182c0(char param_1);
};
#endif // ELEVATORBOTTOM_H

View File

@ -1,7 +1,30 @@
#include "helicopter.h"
// OFFSET: LEGO1 0x100f0130
static char* g_helicopterClassName = "Helicopter";
// OFFSET: LEGO1 0x10001e60
Helicopter::Helicopter()
{
// TODO
}
}
// OFFSET: LEGO1 0x10003230
Helicopter::~Helicopter()
{
// TODO
}
// OFFSET: LEGO1 0x10003070
const char *Helicopter::GetClassName() const
{
return g_helicopterClassName;
}
// OFFSET: LEGO1 0x10003080
MxBool Helicopter::IsClass(const char *name) const
{
// TODO
return MxBool();
}

View File

@ -7,6 +7,15 @@ class Helicopter : public IslePathActor
{
public:
Helicopter();
virtual ~Helicopter(); // vtable+0x0
virtual const char* GetClassName() const; // vtable+0x
virtual MxBool IsClass(const char *name) const; // vtable+0x
virtual void FUN_10003ee0(float param_1); // 0x70
virtual void __fastcall FUN_10003360(int* param); // vtable+0xe4
// VTABLE 0x100d40f8
};
#endif // HELICOPTER_H
#endif // HELICOPTER_H

View File

@ -4,4 +4,18 @@
Hospital::Hospital()
{
// TODO
}
}
// OFFSET: LEGO1 0x100747f0
Hospital::~Hospital()
{
// TODO
}
// OFFSET: LEGO1 0x10074990
long Hospital::Notify(MxParam &p)
{
// TODO
return 0;
}

View File

@ -7,7 +7,11 @@ class Hospital : public LegoWorld
{
public:
Hospital();
virtual ~Hospital(); // vtable+0x0
virtual long Notify(MxParam &p); // vtable+0x04
virtual void FUN_10076220(char param_1); // vtable+0x68
// SIZE 0x300
};

View File

@ -17,6 +17,10 @@ static Isle* GetIsle()
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);
// SIZE 0x140
// Radio at 0x12c
};

View File

@ -3,12 +3,17 @@
#include "legopathactor.h"
#define undefined char
class IslePathActor : public LegoPathActor
{
public:
IslePathActor();
virtual void FUN_1001b5b0(undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, void*, char); // vtable+0xec
// VTABLE 0x100d4398
// SIZE >= 0x230
};
#endif // ISLEPATHACTOR_H
#endif // ISLEPATHACTOR_H

View File

@ -10,7 +10,6 @@ class LegoAnimMMPresenter : public MxCompositePresenter
// VTABLE 0x100d7de8
// SIZE 0x74
}
};
#endif // LEGOANIMMMPRESENTER_H

View File

@ -0,0 +1,7 @@
#include "legocameracontroller.h"
// OFFSET: LEGO1 0x10011f70
LegoCameraController::~LegoCameraController()
{
// TODO
}

View File

@ -3,7 +3,12 @@
class LegoCameraController
{
public:
virtual ~LegoCameraController();
virtual void FUN_10011ff0(void* param);
// VTABLE 0x100d57b0
};
#endif // LEGOCAMERACONTROLLER_H

View File

@ -4,4 +4,10 @@
LegoCarBuildAnimPresenter::LegoCarBuildAnimPresenter()
{
// TODO
}
}
// OFFSET: LEGO1 0x10078680
LegoCarBuildAnimPresenter::~LegoCarBuildAnimPresenter()
{
// TODO
}

View File

@ -7,6 +7,7 @@ class LegoCarBuildAnimPresenter : public LegoAnimPresenter
{
public:
LegoCarBuildAnimPresenter();
virtual ~LegoCarBuildAnimPresenter(); // vtable+0x0
};
#endif // LEGOCARBUILDANIMPRESENTER_H

View File

@ -0,0 +1,24 @@
#include "legocontrolmanager.h"
// OFFSET: LEGO1 0x100f31b8
static char* g_legoControlManagerClassName = "LegoControlManager";
// OFFSET: LEGO1 0x10028d60
LegoControlManager::~LegoControlManager()
{
// TODO
}
// OFFSET: LEGO1 0x10028cb0
const char *LegoControlManager::GetClassName() const
{
return g_legoControlManagerClassName;
}
// OFFSET: LEGO1 0x10028cc0
MxBool LegoControlManager::IsClass(const char *name) const
{
// TODO
return MxBool();
}

View File

@ -5,7 +5,11 @@
class LegoControlManager : public MxCore
{
public:
virtual ~LegoControlManager();
virtual const char* GetClassName() const;
virtual MxBool IsClass(const char *name) const;
};
#endif // LEGOCONTROLMANAGER_H

View File

@ -6,6 +6,12 @@ LegoEntityPresenter::LegoEntityPresenter()
// TODO
}
// OFFSET: LEGO1 0x100535d0
LegoEntityPresenter::~LegoEntityPresenter()
{
// TODO
}
// OFFSET: LEG01 0x100535c0
void LegoEntityPresenter::Init()
{

View File

@ -7,6 +7,7 @@ class LegoEntityPresenter : public MxCompositePresenter
{
public:
LegoEntityPresenter();
virtual ~LegoEntityPresenter(); // vtable+0x0
private:
void Init();

18
LEGO1/legojetski.cpp Normal file
View File

@ -0,0 +1,18 @@
#include "legojetski.h"
// OFFSET: LEGO1 0x100f053c
static char* g_legoJetskiClassName = "LegoJetski";
// OFFSET: LEGO1 0x10013e80
const char *LegoJetski::GetClassName() const
{
return g_legoJetskiClassName;
}
// OFFSET: LEGO1 0x10013ea0
MxBool LegoJetski::IsClass(const char *name) const
{
// TODO
return MxBool();
}

16
LEGO1/legojetski.h Normal file
View File

@ -0,0 +1,16 @@
#ifndef LEGOJETSKI_H
#define LEGOJETSKI_H
#include "legojetskiraceactor.h"
class LegoJetski : public LegoJetskiRaceActor
{
public:
virtual const char* GetClassName() const;
virtual MxBool IsClass(const char *name) const;
// VTABLE 0x100d5a40
};
#endif // LEGOJETSKI_H

View File

@ -6,6 +6,12 @@ LegoPalettePresenter::LegoPalettePresenter()
// TODO
}
// OFFSET: LEGO1 0x1007a070
LegoPalettePresenter::~LegoPalettePresenter()
{
// TODO
}
// OFFSET: LEGO1 0x1007a0d0
void LegoPalettePresenter::Init()
{

View File

@ -7,6 +7,7 @@ class LegoPalettePresenter : public MxVideoPresenter
{
public:
LegoPalettePresenter();
virtual ~LegoPalettePresenter(); // vtable+0x0
private:
void Init();

View File

@ -1,7 +1,9 @@
#ifndef LEGORACEACTOR_H
#define LEGORACEACTOR_H
class LegoRaceActor
#include "legoanimactor.h"
class LegoRaceActor : public LegoAnimActor
{
};

View File

@ -0,0 +1,13 @@
#include "legosoundmanager.h"
// OFFSET: LEGO1 0x100298a0
LegoSoundManager::LegoSoundManager()
{
// TODO
}
// OFFSET: LEGO1 0x10029940
LegoSoundManager::~LegoSoundManager()
{
// TODO
}

13
LEGO1/legosoundmanager.h Normal file
View File

@ -0,0 +1,13 @@
#ifndef LEGOSOUNDMANAGER_H
#define LEGOSOUNDMANAGER_H
#include "mxsoundmanager.h"
class LegoSoundManager : public MxSoundManager
{
public:
LegoSoundManager();
virtual ~LegoSoundManager();
};
#endif // LEGOSOUNDMANAGER_H

View File

@ -0,0 +1,7 @@
#include "legotexturepresenter.h"
// OFFSET: LEGO1 0x1004fcb0
void LegoTexturePresenter::DoneTickle()
{
// TODO
}

View File

@ -5,6 +5,10 @@
class LegoTexturePresenter : public MxMediaPresenter
{
public:
virtual void DoneTickle(); // vtable+0x2c, override MxPresenter
// VTABLE 0x
// SIZE 0x54
};

View File

@ -8,6 +8,9 @@ class Motorcycle : public IslePathActor
public:
Motorcycle();
virtual void __fastcall FUN_10035c50(int* param_1);
virtual void __fastcall FUN_10035bc0(int* param_1);
// VTABLE 0x100d7090
// SIZE 0x16c
};

View File

@ -4,4 +4,18 @@
MxCompositePresenter::MxCompositePresenter()
{
// TODO
}
}
// OFFSET: LEGO1 0x100b6390
MxCompositePresenter::~MxCompositePresenter()
{
// TODO
}
// OFFSET: LEGO1 0x100b6760
long MxCompositePresenter::Notify(MxParam &p)
{
// TODO
return 0;
}

View File

@ -7,6 +7,9 @@ class MxCompositePresenter : public MxPresenter
{
public:
MxCompositePresenter();
virtual ~MxCompositePresenter(); // vtable+0x0
virtual long Notify(MxParam &p); // vtable+0x4, MxCore override
// VTABLE 0x100dc618
};

View File

@ -0,0 +1,52 @@
#include "mxmediapresenter.h"
// OFFSET: LEGO1 0x100f074c
static char* g_mxMediaPresenterClassName = "MxMediaPresenter";
// OFFSET: LEGO1 0x100d4ce0
long MxMediaPresenter::Tickle()
{
// TODO
return 0;
}
// OFFSET: LEGO1 0x100d4ce4
const char *MxMediaPresenter::GetClassName() const
{
return g_mxMediaPresenterClassName;
}
// OFFSET: LEGO1 0x1000c5d0
MxBool MxMediaPresenter::IsClass(const char *name) const
{
// TODO
return MxBool();
}
// OFFSET: LEGO1 0x100b5ef0
void MxMediaPresenter::DoneTickle()
{
// TODO
}
// OFFSET: LEGO1 0x100b5700
long MxMediaPresenter::StartAction(MxStreamController *, MxDSAction *)
{
// TODO
return 0;
}
// OFFSET: LEGO1 0x100b5bc0
void MxMediaPresenter::EndAction()
{
// TODO
}
// OFFSET: LEGO1 0x100b6030
void MxMediaPresenter::Enable(unsigned char param)
{
// TODO
}

View File

@ -5,6 +5,19 @@
class MxMediaPresenter : public MxPresenter
{
public:
virtual long Tickle(); // vtable+0x8, override MxCore
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 DoneTickle(); // vtable+0x2c, override MxPresenter
virtual long StartAction(MxStreamController*, MxDSAction*); // vtable+0x3c, override
virtual void EndAction(); // vtable+0x40, override MxPresenter
virtual void Enable(unsigned char param); // vtable+0x54, override MxPresenter
// VTABLE 0x100d4cd8
};
#endif // MXMEDIAPRESENTER_H

47
LEGO1/mxpresenter.cpp Normal file
View File

@ -0,0 +1,47 @@
#include "mxpresenter.h"
// OFFSET: LEGO1 0x1000bee0
void MxPresenter::DoneTickle()
{
// TODO
}
// OFFSET: LEGO1 0x100b4fc0
void MxPresenter::ParseExtra()
{
// TODO
}
// OFFSET: LEGO1 0x1000c070
MxPresenter::~MxPresenter()
{
// TODO
}
// OFFSET: LEGO1 0x100b5200
long MxPresenter::Tickle()
{
// TODO
return 0;
}
// OFFSET: LEGO1 0x100b4d80
long MxPresenter::StartAction(MxStreamController *, MxDSAction *)
{
// TODO
return 0;
}
// OFFSET: LEGO1 0x100d4d74
void MxPresenter::EndAction()
{
// TODO
}
// OFFSET: LEGO1 0x100d4d8c
void MxPresenter::Enable(unsigned char)
{
// TODO
}

View File

@ -9,15 +9,27 @@ class MxDSAction;
class MxPresenter : public MxCore
{
protected:
__declspec(dllexport) virtual void DoneTickle();
__declspec(dllexport) virtual void DoneTickle(); // vtable+0x2c
__declspec(dllexport) void Init();
__declspec(dllexport) virtual void ParseExtra();
__declspec(dllexport) virtual void ParseExtra(); // vtable+0x30
public:
__declspec(dllexport) virtual ~MxPresenter();
__declspec(dllexport) virtual void Enable(unsigned char);
__declspec(dllexport) virtual void EndAction();
__declspec(dllexport) virtual long StartAction(MxStreamController *, MxDSAction *);
__declspec(dllexport) virtual long Tickle();
__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
};
#endif // MXPRESENTER_H

View File

@ -8,6 +8,9 @@ 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);
// SIZE 0x6c
};

View File

@ -8,6 +8,8 @@ class Pizzeria : public IsleActor
public:
Pizzeria();
virtual int FUN_10017a50(int param_1); // Return is unknown 4-byte value
// SIZE 0x84
};

View File

@ -4,4 +4,10 @@
RaceCar::RaceCar()
{
// TODO
}
}
// OFFSET: LEGO1 0x10028420
RaceCar::~RaceCar()
{
// TODO
}

View File

@ -7,6 +7,7 @@ class RaceCar : public IslePathActor
{
public:
RaceCar();
virtual ~RaceCar(); // vtable+0x0
// VTABLE 0x100d6918
// SIZE 0x

7
LEGO1/radio.cpp Normal file
View File

@ -0,0 +1,7 @@
#include "radio.h"
// OFFSET: LEGO1 0x1002c990
Radio::~Radio()
{
// TODO
}

View File

@ -5,6 +5,9 @@
class Radio : public MxCore
{
public:
virtual ~Radio();
// VTABLE 0x100d6d10
};

View File

@ -4,4 +4,18 @@
RegistrationBook::RegistrationBook()
{
// TODO
}
}
// OFFSET: LEGO1 0x10076f50
RegistrationBook::~RegistrationBook()
{
// TODO
}
// OFFSET: LEGO1 0x100770e0
long RegistrationBook::Notify(MxParam &p)
{
// TODO
return 0;
}

View File

@ -7,8 +7,10 @@ class RegistrationBook : public LegoWorld
{
public:
RegistrationBook();
virtual ~RegistrationBook(); // vtable+0x0
void FUN_10078180(char param_1);
virtual long Notify(MxParam &p); // vtable+0x4
virtual void FUN_10078180(char param_1); // vtable+0x68
// VTABLE 0x100d9928
};

View File

@ -7,6 +7,10 @@ class SkateBoard : public IslePathActor
{
public:
SkateBoard();
virtual int __fastcall FUN_100100e0(int* param_1); // Return is undefined 4-byte value
// VTABLE 0x100d55f0
};
#endif // SKATEBOARD_H

View File

@ -8,6 +8,8 @@ class TowTrack : public IslePathActor
public:
TowTrack();
virtual void FUN_1004d8f0(int* param_1); // vtable+0xe4
// VTABLE 0x100d7ee0
// SIZE 0x180
};