This commit is contained in:
itsmattkc 2023-06-29 00:36:05 -07:00
parent 60f6aa34d7
commit b82899717f
280 changed files with 2230 additions and 1680 deletions

View File

@ -3,7 +3,7 @@
#include <windows.h>
#include "mxresult.h"
#include "mxtypes.h"
#include "mxvideoparam.h"
class IsleApp

View File

@ -6,18 +6,3 @@ Act1State::Act1State()
// TODO
}
// OFFSET: LEGO1 0x100346d0 STUB
MxBool Act1State::VTable0x18()
{
// TODO
return undefined4();
}
// OFFSET: LEGO1 0x10033ac0 STUB
undefined4 Act1State::VTable0x1c(undefined4 param)
{
// TODO
return undefined4();
}

View File

@ -3,29 +3,25 @@
#include "legostate.h"
#ifndef undefined4
#define undefined4 int
#endif
// VTABLE 0x100d7028
// SIZE 0x26c
class Act1State : public LegoState
{
public:
Act1State();
// OFFSET: LEGO1 0x100338a0
inline virtual const char *ClassName() const // vtable+0x0c
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f0154
return "Act1State";
};
// OFFSET: LEGO1 0x100338b0
inline virtual MxBool IsA(const char *name) const // vtable+0x10
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, Act1State::ClassName()) || LegoState::IsA(name);
};
virtual MxBool VTable0x18();
virtual undefined4 VTable0x1c(undefined4 param);
};
#endif // ACT1STATE_H

View File

@ -3,17 +3,30 @@
#include "legopathactor.h"
// VTABLE 0x100d9b60
// SIZE 0x194
class Act2Brick : public LegoPathActor
{
public:
Act2Brick();
virtual ~Act2Brick(); // vtable+0x0
virtual ~Act2Brick() override; // vtable+0x0
virtual long Notify(MxParam &p) override; // vtable+0x4
virtual long Tickle() override; // vtable+0x08
// OFFSET: LEGO1 0x1007a360
inline virtual const char *ClassName() override // vtable+0x0c
{
// 0x100f0438
return "Act2Brick";
}
// OFFSET: LEGO1 0x1007a370
inline virtual MxBool IsA(const char *name) override // vtable+0x10
{
return !strcmp(Act2Brick::ClassName(), name) || LegoEntity::IsA(name);
}
virtual long Notify(MxParam &p); // vtable+0x4
virtual long Tickle(); // vtable+08
// VTABLE 0x100d9b60
// SIZE 0x194
};
#endif // ACT2BRICK_H

View File

@ -1,9 +1,9 @@
#include "act2policestation.h"
// OFFSET: LEGO1 0x100d53ac STUB
// OFFSET: LEGO1 0x1004e0e0 STUB
long Act2PoliceStation::Notify(MxParam &p)
{
// TODO
return 0;
}
}

View File

@ -3,10 +3,25 @@
#include "legoentity.h"
// VTABLE 0x100d53a8
// SIZE 0x68
class Act2PoliceStation : public LegoEntity
{
public:
virtual long Notify(MxParam &p); // vtable+0x4
virtual long Notify(MxParam &p) override; // vtable+0x4
// OFFSET: LEGO1 0x1000e200
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f03fc
return "Act2PoliceStation";
}
// OFFSET: LEGO1 0x1000e210
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, Act2PoliceStation::ClassName()) || LegoEntity::IsA(name);
}
};
#endif // ACT2POLICESTATION_H

View File

@ -3,13 +3,28 @@
#include "legoworld.h"
// VTABLE 0x100d9628
// SIZE 0x4274
class Act3 : public LegoWorld
{
public:
Act3();
virtual ~Act3();
// VTABLE 0x100d9628
virtual ~Act3() override; // vtable+00
// OFFSET: LEGO1 0x10072510
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f013c
return "Act3";
}
// OFFSET: LEGO1 0x10072520
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, Act3::ClassName()) || LegoWorld::IsA(name);
}
};

View File

@ -1,9 +1,18 @@
#ifndef ACT3ACTOR_H
#define ACT3ACTOR_H
// FIXME: Uncertain location. There are three vtables which eventually call this
// class' ClassName() function, but none of them call it directly.
class Act3Actor
{
// VTABLE 0x100d7750
public:
// OFFSET: LEGO1 0x100431b0
inline virtual const char *ClassName() override
{
// 0x100f03ac
return "Act3Actor";
}
};
#endif // ACT3ACTOR_H

View File

@ -1,4 +1 @@
#include "act3shark.h"
// 0x100f03a0
static char* g_act3SharkString = "Act3Shark";

View File

@ -3,9 +3,16 @@
#include "legoanimactor.h"
// VTABLE 0x100d7920
class Act3Shark : public LegoAnimActor
{
// VTABLE 0x100d7920
public:
// OFFSET: LEGO1 0x100430c0
inline virtual const char *ClassName() const override
{
// 0x100f03a0
return "Act3Shark";
}
};
#endif // ACT3SHARK_H

View File

@ -1,13 +1,7 @@
#include "act3state.h"
// OFFSET: LEGO1 0x10072270 STUB
Act3State::Act3State()
{
// TODO
}
// OFFSET: LEGO1 0x100d4fdc
// OFFSET: LEGO1 0x1000e2f0
MxBool Act3State::VTable0x14()
{
return FALSE;
}
}

View File

@ -3,24 +3,35 @@
#include "legostate.h"
// VTABLE 0x100d4fc8
// SIZE 0xc
class Act3State : public LegoState
{
public:
Act3State();
inline Act3State()
{
m_unk08 = 0;
}
// OFFSET: LEGO1 0x1000e300
inline virtual const char *ClassName() const // vtable+0x0c
{
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f03f0
return "Act3State";
};
}
// OFFSET: LEGO1 0x100d4fd8
inline virtual MxBool IsA(const char *name) const // vtable+0x10
// OFFSET: LEGO1 0x1000e310
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, Act3State::ClassName()) || LegoState::IsA(name);
};
}
virtual MxBool VTable0x14() override;
private:
// FIXME: May be part of LegoState? Uncertain...
MxU32 m_unk08;
virtual MxBool VTable0x14();
};
#endif // ACT3STATE_H

View File

@ -3,13 +3,26 @@
#include "islepathactor.h"
// VTABLE 0x100d71a8
// SIZE 0x184
class Ambulance : public IslePathActor
{
public:
Ambulance();
// VTABLE 0x100d71a8
// SIZE 0x184
// OFFSET: LEGO1 0x10035fa0
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f03c4
return "Ambulance";
}
// OFFSET: LEGO1 0x10035fb0
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, Ambulance::ClassName()) || IslePathActor::IsA(name);
}
};
#endif // AMBULANCE_H

View File

@ -5,11 +5,3 @@ AmbulanceMissionState::AmbulanceMissionState()
{
// TODO
}
// OFFSET: LEGO1 0x10037440 STUB
undefined4 AmbulanceMissionState::VTable0x1c(undefined4 param)
{
// TODO
return undefined4();
}

View File

@ -3,28 +3,26 @@
#include "legostate.h"
// VTABLE 0x100d72a0
// SIZE 0x24
class AmbulanceMissionState : public LegoState
{
public:
AmbulanceMissionState();
// OFFSET: LEGO1 0x10037600
inline virtual const char *ClassName() const // vtable+0x0c
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f00e8
return "AmbulanceMissionState";
};
}
// OFFSET: LEGO1 0x10037610
inline virtual MxBool IsA(const char *name) const // vtable+0x10
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, AmbulanceMissionState::ClassName()) || LegoState::IsA(name);
};
}
virtual undefined4 VTable0x1c(undefined4 param);
// VTABLE 0x100d72a0
// SIZE 0x24
};

View File

@ -11,19 +11,3 @@ AnimState::~AnimState()
{
// TODO
}
// OFFSET: LEGO1 0x100654f0 STUB
MxBool AnimState::VTable0x18()
{
// TODO
return MxBool();
}
// OFFSET: LEGO1 0x100652d0 STUB
undefined4 AnimState::VTable0x1c(undefined4 param)
{
// TODO
return undefined4();
}

View File

@ -3,30 +3,27 @@
#include "legostate.h"
// VTABLE 0x100d8d80
// SIZE 0x1c
class AnimState : public LegoState
{
public:
AnimState();
virtual ~AnimState(); // vtable+0x0
virtual ~AnimState() override; // vtable+0x0
// OFFSET: LEGO1 0x10065070
inline virtual const char *ClassName() const // vtable+0x0c
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f0460
return "AnimState";
};
}
// OFFSET: LEGO1 0x10065080
inline virtual MxBool IsA(const char *name) const // vtable+0x10
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, AnimState::ClassName()) || LegoState::IsA(name);
};
}
virtual MxBool VTable0x18(); // vtable+0x18
virtual undefined4 VTable0x1c(undefined4 param); // vtable+0x1c
// VTABLE 0x100d8d80
// SIZE 0x1c
};
#endif // ANIMSTATE_H
#endif // ANIMSTATE_H

View File

@ -1,9 +1,9 @@
#include "beachhouseentity.h"
// OFFSET: LEGO1 0x100153b0 STUB
undefined4 BeachHouseEntity::VTable0x50()
// OFFSET: LEGO1 0x100150a0 STUB
long BeachHouseEntity::Notify(MxParam &p)
{
// TODO
// TODO
return 0;
}
}

View File

@ -3,17 +3,25 @@
#include "buildingentity.h"
#ifndef undefined4
#define undefined4 int
#endif
// VTABLE 0x100d4a18
// SIZE 0x68
class BeachHouseEntity : public BuildingEntity
{
virtual undefined4 VTable0x50(); // vtable+0x50
public:
virtual long Notify(MxParam &p) override; // vtable+04
// VTABLE 0x100d4a18
// SIZE 0x68
// OFFSET: LEGO1 0x1000ee80
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f0314
return "BeachHouseEntity";
}
// OFFSET: LEGO1 0x1000ee90
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, BeachHouseEntity::ClassName()) || BuildingEntity::IsA(name);
}
};
#endif // BEACHHOUSEENTITY_H

View File

@ -6,22 +6,3 @@ Bike::Bike()
// TODO
}
// OFFSET: LEGO1 0x100769a0 STUB
undefined4 Bike::VTable0xcc()
{
// TODO
return 0;
}
// OFFSET: LEGO1 0x10076aa0 STUB
undefined4 Bike::VTable0xd4(undefined4 param)
{
return undefined4();
}
// OFFSET: LEGO1 0x10076920 STUB
void Bike::VTable0xe4()
{
// TODO
}

View File

@ -3,21 +3,26 @@
#include "islepathactor.h"
#ifndef undefined4
#define undefined4 int
#endif
// VTABLE 0x100d9808
// SIZE 0x164
class Bike : public IslePathActor
{
public:
Bike();
virtual undefined4 VTable0xcc(); // vtable+0xcc
virtual undefined4 VTable0xd4(undefined4 param); // vtable+0xd4
virtual void VTable0xe4(); // vtable+0xe4
// OFFSET: LEGO1 0x100766f0
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f03d0
return "Bike";
}
// OFFSET: LEGO1 0x10076700
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, Bike::ClassName()) || IslePathActor::IsA(name);
}
// VTABLE 0x100d9808
// SIZE 0x74
};

View File

@ -3,11 +3,26 @@
#include "legoentity.h"
// VTABLE 0x100d5c88
// SIZE <= 0x68, hard to tell because it's always constructed as a derivative
class BuildingEntity : public LegoEntity
{
public:
BuildingEntity();
virtual ~BuildingEntity(); // vtable+0x0
virtual ~BuildingEntity() override; // vtable+0x0
// OFFSET: LEGO1 0x10014f20
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f07e8
return "BuildingEntity";
}
// OFFSET: LEGO1 0x10014f30
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, BuildingEntity::ClassName()) || LegoEntity::IsA(name);
}
};
#endif // BUILDINGENTITY_H
#endif // BUILDINGENTITY_H

View File

@ -1,18 +1 @@
#include "bumpbouy.h"
// 0x100f0394
static char* g_bumpBouyString = "BumpBouy";
// OFFSET: LEGO1 0x100274e0 STUB
const char *BumpBouy::ClassName() const
{
return g_bumpBouyString;
}
// OFFSET: LEG01 0x10027500 STUB
MxBool BumpBouy::IsA(const char *name) const
{
// TODO
return MxBool();
}

View File

@ -1,13 +1,25 @@
#ifndef BUMPBOUY_H
#define BUMPBOUY_H
#include "legoanimactor.h"
#include "mxtypes.h"
class BumpBouy
// VTABLE 0x100d6790
class BumpBouy : public LegoAnimActor
{
public:
virtual const char* ClassName() const; // vtable+0xc
virtual MxBool IsA(const char *name) const; // vtable+0x10
// OFFSET: LEGO1 0x100274e0
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f0394
return "BumpBouy";
}
// OFFSET: LEGO1 0x10027500
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, BumpBouy::ClassName()) || LegoAnimActor::IsA(name);
}
};
#endif // BUMPBOUY_H

View File

@ -3,10 +3,25 @@
#include "legorace.h"
// VTABLE 0x100d5e50
// SIZE 0x154
class CarRace : public LegoRace
{
public:
CarRace();
// OFFSET: LEGO1 0x10016b20
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f0528
return "CarRace";
}
// OFFSET: LEGO1 0x10016b30
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, CarRace::ClassName()) || LegoRace::IsA(name);
}
};
#endif // CARRACE_H

View File

@ -3,21 +3,23 @@
#include "racestate.h"
// VTABLE 0x100d4b70
// SIZE 0x2c
class CarRaceState : public RaceState
{
public:
// OFFSET: LEGO1 0x1000dd30
inline virtual const char *ClassName() const // vtable+0x0c
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f009c
return "CarRaceState";
};
}
// OFFSET: LEGO1 0x1000dd40
inline virtual MxBool IsA(const char *name) const // vtable+0x10
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, CarRaceState::ClassName()) || RaceState::IsA(name);
};
}
};
#endif // CARRACESTATE_H

View File

@ -3,9 +3,23 @@
#include "legopathactor.h"
// VTABLE 0x100d4788
// SIZE 0x1f8
class Doors : public LegoPathActor
{
// SIZE 0x1f8
public:
// OFFSET: LEGO1 0x1000e430
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f03e8
return "Doors";
}
// OFFSET: LEGO1 0x1000e440
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, Doors::ClassName()) || LegoPathActor::IsA(name);
}
};

View File

@ -3,13 +3,26 @@
#include "islepathactor.h"
// VTABLE 0x100d8f98
// SIZE 0x16c
class DuneBuggy : public IslePathActor
{
public:
DuneBuggy();
// OFFSET: LEGO1 0x10067c30
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f0410
return "DuneBuggy";
}
// OFFSET: LEGO1 0x10067c40
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, DuneBuggy::ClassName()) || IslePathActor::IsA(name);
}
// VTABLE 0x100d8f98
// SIZE 0x16c
};
#endif // DUNEBUGGY_H
#endif // DUNEBUGGY_H

View File

@ -1,8 +1,5 @@
#include "elevatorbottom.h"
// 0x100f04ac
static char* g_elevatorBottomClassName = "ElevatorBottom";
// OFFSET: LEGO1 0x10017e90 STUB
ElevatorBottom::ElevatorBottom()
{
@ -22,31 +19,3 @@ long ElevatorBottom::Notify(MxParam &p)
return 0;
}
// OFFSET: LEGO1 0x10017f20 STUB
const char *ElevatorBottom::ClassName() const
{
return g_elevatorBottomClassName;
}
// OFFSET: LEGO1 0x10017f30 STUB
MxBool ElevatorBottom::IsA(const char *name) const
{
// TODO
return MxBool();
}
// OFFSET: LEGO1 0x10017f10 STUB
undefined4 ElevatorBottom::VTable0x5c()
{
// TODO
return 1;
}
// OFFSET: LEGO1 0x100182c0 STUB
void ElevatorBottom::VTable0x68(undefined1 param_1)
{
// TODO
}

View File

@ -3,28 +3,28 @@
#include "legoworld.h"
#ifndef undefined4
#define undefined4 int
#endif
#ifndef undefined1
#define undefined1 char
#endif
// VTABLE 0x100d5f20
class ElevatorBottom : public LegoWorld
{
public:
ElevatorBottom();
virtual ~ElevatorBottom(); // vtable+0x0
virtual ~ElevatorBottom() override; // vtable+0x0
virtual long Notify(MxParam &p); // vtable+0x4
virtual const char* ClassName() const; // vtable+0xc
virtual MxBool IsA(const char *name) const; // vtable+0x10
virtual long Notify(MxParam &p) override; // vtable+0x4
virtual undefined4 VTable0x5c(); // vtable+0x5c
virtual void VTable0x68(undefined1 param_1); // vtable+0x68
// OFFSET: LEGO1 0x10017f20
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f04ac
return "ElevatorBottom";
}
// OFFSET: LEGO1 0x10017f30
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, ElevatorBottom::ClassName()) || LegoWorld::IsA(name);
}
// VTABLE 0x100d5f20
};
#endif // ELEVATORBOTTOM_H

View File

@ -27,11 +27,3 @@ long GasStation::Tickle()
return 0;
}
// OFFSET: LEGO1 0x10005e70 STUB
undefined GasStation::VTable0x64(undefined4 param)
{
// TODO
return undefined();
}

View File

@ -3,27 +3,31 @@
#include "legoworld.h"
#ifndef undefined
#define undefined int
#endif
#ifndef undefined4
#define undefined4 int
#endif
// VTABLE 0x100d4650
// SIZE 0x128
// Radio variable at 0x46, in constructor
class GasStation : public LegoWorld
{
public:
GasStation();
virtual ~GasStation(); // vtable+0x0
virtual ~GasStation() override; // vtable+0x0
virtual long Notify(MxParam &p); // vtable+0x4
virtual long Tickle(); // vtable+0x8
undefined VTable0x64(undefined4 param); // vtable+0x64
virtual long Notify(MxParam &p) override; // vtable+0x4
virtual long Tickle() override; // vtable+0x8
// OFFSET: LEGO1 0x10004780
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f0168
return "GasStation";
}
// OFFSET: LEGO1 0x10004790
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, GasStation::ClassName()) || LegoWorld::IsA(name);
}
// VTABLE 0x100d4650
// SIZE 0x128
// Radio variable at 0x46, in constructor
};
#endif // GASSTATION_H

View File

@ -1,9 +1 @@
#include "gasstationentity.h"
// OFFSET: LEGO1 0x100151d0 STUB
undefined4 GasStationEntity::VTable0x50()
{
// TODO
return 0;
}

View File

@ -3,16 +3,23 @@
#include "buildingentity.h"
#ifndef undefined4
#define undefined4 int
#endif
// VTABLE 0x100d5258
// SIZE 0x68
class GasStationEntity : public BuildingEntity
{
virtual undefined4 VTable0x50(); // vtable+0x50
public:
// OFFSET: LEGO1 0x1000eb20
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f0348
return "GasStationEntity";
}
// VTABLE 0x100d5258
// SIZE 0x68
// OFFSET: LEGO1 0x1000eb30
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, GasStationEntity::ClassName()) || BuildingEntity::IsA(name);
}
};
#endif // GASSTATIONENTITY_H

View File

@ -5,11 +5,3 @@ GasStationState::GasStationState()
{
// TODO
}
// OFFSET: LEGO1 0x10006300 STUB
undefined4 GasStationState::VTable0x1c(undefined4 param)
{
// TODO
return undefined4();
}

View File

@ -3,29 +3,26 @@
#include "legostate.h"
// VTABLE 0x100d46e0
// SIZE 0x24
class GasStationState : public LegoState
{
public:
GasStationState();
// OFFSET: LEGO1 0x100061d0
inline virtual const char *ClassName() const // vtable+0x0c
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f0174
return "GasStationState";
};
}
// OFFSET: LEGO1 0x100061e0
inline virtual MxBool IsA(const char *name) const // vtable+0x10
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, GasStationState::ClassName()) || LegoState::IsA(name);
};
}
virtual undefined4 VTable0x1c(undefined4 param);
// field 0x8 is prob MxResult
// field 0xc is prob MxResult
// field 0x10 is prob MxResult
};
#endif // GASSTATIONSTATE_H

View File

@ -1,8 +1,5 @@
#include "helicopter.h"
// 0x100f0130
static char* g_helicopterClassName = "Helicopter";
// OFFSET: LEGO1 0x10001e60 STUB
Helicopter::Helicopter()
{
@ -14,29 +11,3 @@ Helicopter::~Helicopter()
{
// TODO
}
// OFFSET: LEGO1 0x10003070 STUB
const char *Helicopter::ClassName() const
{
return g_helicopterClassName;
}
// OFFSET: LEGO1 0x10003080 STUB
MxBool Helicopter::IsA(const char *name) const
{
// TODO
return MxBool();
}
// OFFSET: LEGO1 0x10003ee0 STUB
void Helicopter::VTable0x70(float param_1)
{
// TODO
}
// OFFSET:LEGO1 0x10003360 STUB
void Helicopter::VTable0xe4()
{
// TODO
}

View File

@ -3,19 +3,27 @@
#include "islepathactor.h"
// VTABLE 0x100d40f8
// SIZE 0x230
class Helicopter : public IslePathActor
{
public:
Helicopter();
virtual ~Helicopter(); // vtable+0x0
virtual const char* ClassName() const; // vtable+0xc
virtual MxBool IsA(const char *name) const; // vtable+0x10
// OFFSET: LEGO1 0x10003070
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f0130
return "Helicopter";
}
virtual void VTable0x70(float param_1); // vtable+0x70
virtual void VTable0xe4(); // vtable+0xe4
// OFFSET: LEGO1 0x10003080
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, Helicopter::ClassName()) || IslePathActor::IsA(name);
}
// VTABLE 0x100d40f8
};
#endif // HELICOPTER_H

View File

@ -1,13 +1 @@
#include "helicopterstate.h"
// OFFSET: LEGO1 0x1000e0b0
MxBool HelicopterState::VTable0x14()
{
return FALSE;
}
// OFFSET: LEGO1 0x1000e0c0 STUB
MxBool HelicopterState::VTable0x18()
{
return TRUE;
}

View File

@ -3,24 +3,23 @@
#include "legostate.h"
// VTABLE 0x100d5418
// SIZE 0xc
class HelicopterState : public LegoState
{
public:
// OFFSET: LEGO1 0x1000e0d0
inline virtual const char *ClassName() const // vtable+0x0c
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f0144
return "HelicopterState";
};
}
// OFFSET: LEGO1 0x100d5428
inline virtual MxBool IsA(const char *name) const // vtable+0x10
// OFFSET: LEGO1 0x1000e0e0
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, HelicopterState::ClassName()) || LegoState::IsA(name);
};
virtual MxBool VTable0x14();
virtual MxBool VTable0x18();
}
};
#endif // HELICOPTERSTATE_H

View File

@ -3,14 +3,28 @@
#include "legoworld.h"
// VTABLE 0x100da328
// SIZE 0x3e4
class HistoryBook : public LegoWorld
{
public:
HistoryBook();
virtual ~HistoryBook(); // vtable+0x0
virtual ~HistoryBook() override; // vtable+0x0
virtual long Notify(MxParam &p); // vtable+0x4
// VTABLE 0x100da328
virtual long Notify(MxParam &p) override; // vtable+0x4
// OFFSET: LEGO1 0x10082390
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f04bc
return "HistoryBook";
}
// OFFSET: LEGO1 0x100823a0
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, HistoryBook::ClassName()) || LegoWorld::IsA(name);
}
};
#endif // HISTORYBOOK_H

View File

@ -19,9 +19,3 @@ long Hospital::Notify(MxParam &p)
return 0;
}
// OFFSET: LEGO1 0x10076220 STUB
void Hospital::VTable0x68(char param_1)
{
// TODO
}

View File

@ -3,16 +3,29 @@
#include "legoworld.h"
// VTABLE 0x100d9730
// SIZE 0x12c
class Hospital : public LegoWorld
{
public:
Hospital();
virtual ~Hospital(); // vtable+0x0
virtual ~Hospital() override; // vtable+0x0
virtual long Notify(MxParam &p); // vtable+0x04
virtual void VTable0x68(char param_1); // vtable+0x68
virtual long Notify(MxParam &p) override; // vtable+0x04
// OFFSET: LEGO1 0x100746b0
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f0490
return "Hospital";
}
// OFFSET: LEGO1 0x100746c0
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, Hospital::ClassName()) || LegoWorld::IsA(name);
}
// SIZE 0x300
};
#endif // HOSPITAL_H

View File

@ -1,9 +1 @@
#include "hospitalentity.h"
// OFFSET: LEGO1 0x10015270 STUB
undefined4 HospitalEntity::VTable0x50()
{
// TODO
return undefined4();
}

View File

@ -3,16 +3,24 @@
#include "buildingentity.h"
#ifndef undefined4
#define undefined4 int
#endif
// VTABLE 0x100d5068
// SIZE 0x68
class HospitalEntity : public BuildingEntity
{
virtual undefined4 VTable0x50(); // vtable+0x50
public:
// OFFSET: LEGO1 0x1000ec40
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f0338
return "HospitalEntity";
}
// OFFSET: LEGO1 0x1000ec50
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, HospitalEntity::ClassName()) || BuildingEntity::IsA(name);
}
// VTABLE 0x100d5068
// SIZE 0x68
};
#endif // HOSPITALENTITY_H

View File

@ -5,11 +5,3 @@ HospitalState::HospitalState()
{
// TODO
}
// OFFSET: LEGO1 0x10076530 STUB
undefined4 HospitalState::VTable0x1c(undefined4 param)
{
// TODO
return undefined4();
}

View File

@ -3,28 +3,26 @@
#include "legostate.h"
// VTABLE 0x100d97a0
// SIZE 0x18
class HospitalState : public LegoState
{
public:
HospitalState();
// OFFSET: LEGO1 0x10076400
inline virtual const char *ClassName() const // vtable+0x0c
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f0480
return "HospitalState";
};
}
// OFFSET: LEGO1 0x10076410
inline virtual MxBool IsA(const char *name) const // vtable+0x10
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, HospitalState::ClassName()) || LegoState::IsA(name);
};
}
virtual undefined4 VTable0x1c(undefined4 param);
// VTABLE 0x100d97a0
// SIZE 0x18
};
#endif // HOSPITALSTATE_H

View File

@ -1,19 +1,19 @@
#include "infocenter.h"
// OFFSET: LEGO1 0x1006ea20 STUB
InfoCenter::InfoCenter()
Infocenter::Infocenter()
{
// TODO
}
// OFFSET: LEGO1 0x1006ec90 STUB
InfoCenter::~InfoCenter()
Infocenter::~Infocenter()
{
// TODO
}
// OFFSET: LEGO1 0x1006ef10 STUB
long InfoCenter::Notify(MxParam &p)
long Infocenter::Notify(MxParam &p)
{
// TODO
@ -21,7 +21,7 @@ long InfoCenter::Notify(MxParam &p)
}
// OFFSET: LEGO1 0x10070af0 STUB
long InfoCenter::Tickle()
long Infocenter::Tickle()
{
// TODO

View File

@ -3,17 +3,30 @@
#include "legoworld.h"
class InfoCenter : public LegoWorld
// VTABLE 0x100d9338
// SIZE 0x1d8
class Infocenter : public LegoWorld
{
public:
InfoCenter();
virtual ~InfoCenter();
Infocenter();
virtual ~Infocenter() override;
virtual long Notify(MxParam &p); // vtable+0x4
virtual long Tickle(); // vtable+0x8
virtual long Notify(MxParam &p) override; // vtable+0x4
virtual long Tickle() override; // vtable+0x8
// OFFSET: LEGO1 0x1006eb40
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f04ec
return "Infocenter";
}
// OFFSET: LEGO1 0x1006eb50
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, Infocenter::ClassName()) || LegoWorld::IsA(name);
}
// VTABLE 0x100d9338
// SIZE 0x1d8
};
#endif // INFOCENTER_H

View File

@ -1,19 +1,19 @@
#include "infocenterdoor.h"
// OFFSET: LEGO1 0x10037730 STUB
InfoCenterDoor::InfoCenterDoor()
InfocenterDoor::InfocenterDoor()
{
// TODO
}
// OFFSET: LEGO1 0x100378f0 STUB
InfoCenterDoor::~InfoCenterDoor()
InfocenterDoor::~InfocenterDoor()
{
// TODO
}
// OFFSET: LEGO1 0x100379e0 STUB
long InfoCenterDoor::Notify(MxParam &p)
long InfocenterDoor::Notify(MxParam &p)
{
// TODO

View File

@ -3,16 +3,29 @@
#include "legoworld.h"
class InfoCenterDoor : public LegoWorld
// VTABLE 0x100d72d8
// SIZE 0xfc
class InfocenterDoor : public LegoWorld
{
public:
InfoCenterDoor();
virtual ~InfoCenterDoor(); // vtable+0x0
InfocenterDoor();
virtual ~InfocenterDoor(); // vtable+0x0
virtual long Notify(MxParam &p); // vtable+0x4
virtual long Notify(MxParam &p) override; // vtable+0x4
// OFFSET: LEGO1 0x100377b0
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f049c
return "InfocenterDoor";
}
// OFFSET: LEGO1 0x100377c0
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, InfocenterDoor::ClassName()) || LegoWorld::IsA(name);
}
// VTABLE 0x100d72d8
// SIZE 0xfc
};
#endif // INFOCENTERDOOR_H

View File

@ -1,9 +1 @@
#include "infocenterentity.h"
// OFFSET: LEGO1 0x100150c0 STUB
undefined4 InfoCenterEntity::VTable0x50()
{
// TODO
return undefined4();
}

View File

@ -3,13 +3,24 @@
#include "buildingentity.h"
#ifndef undefined4
#define undefined4 int
#endif
// VTABLE 0x100d4b90
// SIZE 0x68
class InfoCenterEntity : public BuildingEntity
{
virtual undefined4 VTable0x50(); // vtable+0x50
public:
// OFFSET: LEGO1 0x1000ea00
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f035c
return "InfoCenterEntity";
}
// OFFSET: LEGO1 0x1000ea10
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, InfoCenterEntity::ClassName()) || BuildingEntity::IsA(name);
}
};
#endif // INFOCENTERENTITY_H
#endif // INFOCENTERENTITY_H

View File

@ -1,19 +1,14 @@
#include "infocenterstate.h"
// OFFSET: LEGO1 0x10071600 STUB
InfoCenterState::InfoCenterState()
InfocenterState::InfocenterState()
{
// TODO
}
// OFFSET: LEGO1 0x10071920 STUB
InfoCenterState::~InfoCenterState()
InfocenterState::~InfocenterState()
{
// TODO
}
// OFFSET: LEGO1 0x10071830
MxBool InfoCenterState::VTable0x14()
{
return FALSE;
}

View File

@ -3,29 +3,26 @@
#include "legostate.h"
class InfoCenterState : public LegoState
// VTABLE 0x100d93a8
// SIZE 0x94
class InfocenterState : public LegoState
{
public:
InfoCenterState();
virtual ~InfoCenterState();
InfocenterState();
virtual ~InfocenterState();
// OFFSET: LEGO1 0x10071840
inline virtual const char *ClassName() const // vtable+0x0c
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f04dc
return "InfoCenterState";
};
return "InfocenterState";
}
// OFFSET: LEGO1 0x10071850
inline virtual MxBool IsA(const char *name) const // vtable+0x10
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, InfoCenterState::ClassName()) || LegoState::IsA(name);
};
virtual MxBool VTable0x14();
// VTABLE 0x100d93a8
// SIZE 0x94
return !strcmp(name, InfocenterState::ClassName()) || LegoState::IsA(name);
}
};
#endif // INFOCENTERSTATE_H
#endif // INFOCENTERSTATE_H

View File

@ -5,23 +5,3 @@ Isle::Isle()
{
// TODO
}
// OFFSET: LEGO1 0x10030fc0 STUB
void Isle::VTable0x50()
{
// TODO
}
// OFFSET: LEGO1 0x10033180 STUB
undefined4 Isle::VTable0x64()
{
// TODO
return undefined4();
}
// OFFSET: LEGO1 0x10033050 STUB
void Isle::VTable0x6c(int *param)
{
// TODO
}

View File

@ -3,18 +3,26 @@
#include "legoworld.h"
// VTABLE 0x100d6fb8
// SIZE 0x140
// Radio at 0x12c
class Isle : public LegoWorld
{
public:
Isle();
virtual void VTable0x50(); // vtable+0x50
virtual int VTable0x64(); // vtable+0x64
virtual void VTable0x6c(int* param); // vtable+0x6c
// OFFSET: LEGO1 0x10030910
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f0458
return "Isle";
}
// VTABLE 0x100d6fb8
// SIZE 0x140
// Radio at 0x12c
// OFFSET: LEGO1 0x10030920
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, Isle::ClassName()) || LegoWorld::IsA(name);
}
};
#endif // ISLE_H

View File

@ -1,26 +1 @@
#include "isleactor.h"
// 0x100f07dc
static char* g_isleActorClassName = "IsleActor";
// OFFSET: LEGO1 0x100d5178 STUB
long IsleActor::Notify(MxParam &p)
{
// TODO
return 0;
}
// OFFSET: LEGO1 0x1000e660 STUB
const char *IsleActor::ClassName() const
{
return g_isleActorClassName;
}
// OFFSET: LEGO1 0x1000e670 STUB
MxBool IsleActor::IsA(const char *name) const
{
// TODO
return MxBool();
}

View File

@ -3,14 +3,22 @@
#include "legoactor.h"
// VTABLE 0x100d5178
class IsleActor : public LegoActor
{
public:
virtual long Notify(MxParam &p); // vtable+0x4
virtual const char* ClassName() const; // vtable+0xc
virtual MxBool IsA(const char *name) const; // vtable+0x10
// OFFSET: LEGO1 0x1000e660
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f07dc
return "IsleActor";
}
// VTABLE 0x100d5178
// OFFSET: LEGO1 0x1000e670
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, IsleActor::ClassName()) || LegoActor::IsA(name);
}
};
#endif // ISLEACTOR_H

View File

@ -1,21 +1 @@
#include "islepathactor.h"
// OFFSET: LEGO1 0x10001e60 STUB
IslePathActor::IslePathActor()
{
// TODO
}
// OFFSET: LEGO1 0x1001a2a0 STUB
void IslePathActor::Destroy()
{
// LegoEntity::Destroy(this);
// TODO
}
// OFFSET: LEGO1 0x1001b5b0 STUB
void IslePathActor::VTable0xec(undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, void *, char)
{
// TODO
}

View File

@ -3,20 +3,23 @@
#include "legopathactor.h"
#ifndef undefined
#define undefined int
#endif
// VTABLE 0x100d4398
// SIZE >= 0x230
class IslePathActor : public LegoPathActor
{
public:
IslePathActor();
// OFFSET: LEGO1 0x10002ea0
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f0104
return "IslePathActor";
}
virtual void Destroy(); // vtable+0x1c
virtual void VTable0xec(undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, void*, char); // vtable+0xec
// VTABLE 0x100d4398
// SIZE >= 0x230
// OFFSET: LEGO1 0x10002eb0
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, IslePathActor::ClassName()) || LegoPathActor::IsA(name);
}
};
#endif // ISLEPATHACTOR_H

View File

@ -3,13 +3,26 @@
#include "islepathactor.h"
// VTABLE 0x100d9ec8
// SIZE 0x164
class Jetski : public IslePathActor
{
public:
Jetski();
// VTABLE 0x100d9ec8
// SIZE 0x164
// OFFSET: LEGO1 0x1007e430
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f03d8
return "Jetski";
}
// OFFSET: LEGO1 0x1007e440
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, Jetski::ClassName()) || IslePathActor::IsA(name);
}
};

View File

@ -1,15 +0,0 @@
#include "jetskiRace.h"
// OFFSET: LEGO1 0x10015aa0 STUB
JetskiRace::JetskiRace()
{
// TODO
}
// OFFSET: LEGO1 0x100166a0 STUB
undefined4 JetskiRace::VTable0x70(int param_1)
{
// TODO
return undefined4();
}

View File

@ -1,20 +0,0 @@
#ifndef JETSKIRACE_H
#define JETSKIRACE_H
#include "legorace.h"
#ifndef undefined4
#define undefined4 int
#endif
class JetskiRace : public LegoRace
{
public:
JetskiRace();
undefined4 VTable0x70(int param_1); // vtable+0x70
// VTABLE 0x100d4fe8
};
#endif // JETSKIRACE_H

1
LEGO1/jetskirace.cpp Normal file
View File

@ -0,0 +1 @@
#include "jetskirace.h"

26
LEGO1/jetskirace.h Normal file
View File

@ -0,0 +1,26 @@
#ifndef JETSKIRACE_H
#define JETSKIRACE_H
#include "legorace.h"
// VTABLE 0x100d4fe8
// SIZE 0x144
class JetskiRace : public LegoRace
{
public:
// OFFSET: LEGO1 0x1000daf0
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f0530
return "JetskiRace";
}
// OFFSET: LEGO1 0x1000db00
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, JetskiRace::ClassName()) || LegoRace::IsA(name);
}
};
#endif // JETSKIRACE_H

View File

@ -3,24 +3,24 @@
#include "racestate.h"
// VTABLE 0x100d4fa8
// SIZE 0x2c
class JetskiRaceState : public RaceState
{
public:
// OFFSET: LEGO1 0x1000dc40
inline virtual const char *ClassName() const // vtable+0x0c
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f00ac
return "JetskiRaceState";
};
}
// OFFSET: LEGO1 0x1000dc50
inline virtual MxBool IsA(const char *name) const // vtable+0x10
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, JetskiRaceState::ClassName()) || RaceState::IsA(name);
};
}
// VTABLE 0x100d4fa8
// SIZE 0x2c
};
#endif // JETSKIRACESTATE_H

View File

@ -1,14 +1,28 @@
#ifndef JUKEBOX_H
#define JUKEBOX_H
#include "legoentity.h"
#include "legoworld.h"
class JukeBox : public LegoEntity
// VTABLE 0x100d8958
// SIZE 0x104
class JukeBox : public LegoWorld
{
public:
JukeBox();
// OFFSET: LEGO1 0x1005d6f0
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f02cc
return "JukeBox";
}
// OFFSET: LEGO1 0x1005d700
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, JukeBox::ClassName()) || LegoWorld::IsA(name);
}
// SIZE 0x50
};
#endif // JUKEBOX_H

View File

@ -3,13 +3,27 @@
#include "legoentity.h"
// VTABLE 0x100da8a0
// SIZE 0x6c
class JukeBoxEntity : public LegoEntity
{
public:
JukeBoxEntity();
virtual ~JukeBoxEntity(); // vtable+0x0
virtual ~JukeBoxEntity() override; // vtable+0x0
// OFFSET: LEGO1 0x10085cc0
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f02f0
return "JukeBoxEntity";
}
// OFFSET: LEGO1 0x10085cd0
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, JukeBoxEntity::ClassName()) || LegoEntity::IsA(name);
}
// VTABLE 0x100da8a0
};
#endif // JUKEBOXENTITY_H
#endif // JUKEBOXENTITY_H

View File

@ -1,7 +1 @@
#include "jukeboxstate.h"
// OFFSET: LEGO1 0x1000f300
MxBool JukeBoxState::VTable0x14()
{
return FALSE;
}

View File

@ -3,26 +3,24 @@
#include "legostate.h"
// VTABLE 0x100d4a90
// SIZE 0x10
class JukeBoxState : public LegoState
{
public:
// OFFSET: LEGO1 0x1000f310
inline virtual const char *ClassName() const // vtable+0x0c
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f02bc
return "JukeBoxState";
};
}
// OFFSET: LEGO1 0x1000f320
inline virtual MxBool IsA(const char *name) const // vtable+0x10
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, JukeBoxState::ClassName()) || LegoState::IsA(name);
};
}
virtual MxBool VTable0x14();
// VTABLE 0x100d4a90
// SIZE 0x10
};
#endif // JUKEBOXSTATE_H
#endif // JUKEBOXSTATE_H

View File

@ -3,9 +3,23 @@
#include "legowavepresenter.h"
// VTABLE 0x100d52b0
// SIZE 0xa0
class Lego3DWavePresenter : public LegoWavePresenter
{
// SIZE 0xa0
public:
// OFFSET: LEGO1 0x1000d890
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f058c
return "Lego3DWavePresenter";
}
// OFFSET: LEGO1 0x1000d8a0
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, Lego3DWavePresenter::ClassName()) || MxWavePresenter::IsA(name);
}
};
#endif // LEGO3DWAVEPRESENTER_H

View File

@ -1,7 +1 @@
#include "legoact2state.h"
// OFFSET: LEGO1 0x1000df70
MxBool LegoAct2State::VTable0x14()
{
return FALSE;
}

View File

@ -3,25 +3,24 @@
#include "legostate.h"
// VTABLE 0x100d4a70
// SIZE 0x10
class LegoAct2State : public LegoState
{
public:
// OFFSET: LEGO1 0x1000df80
inline virtual const char *ClassName() const // vtable+0x0c
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f0428
return "LegoAct2State";
};
}
// OFFSET: LEGO1 0x1000df90
inline virtual MxBool IsA(const char *name) const // vtable+0x10
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, LegoAct2State::ClassName()) || LegoState::IsA(name);
};
}
virtual MxBool VTable0x14();
// SIZE 0x10
};
#endif // LEGOACT2STATE_H

View File

@ -1,7 +1 @@
#include "legoactioncontrolpresenter.h"
// OFFSET: LEGO1 0x10043e20 STUB
void LegoActionControlPresenter::VTable0x5c(char param)
{
// TODO
}

View File

@ -3,13 +3,23 @@
#include "mxmediapresenter.h"
// VTABLE 0x100d5118
// SIZE 0x68
class LegoActionControlPresenter : public MxMediaPresenter
{
public:
void VTable0x5c(char param); // vtable+0x5c
// OFFSET: LEGO1 0x1000d0e0
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f05bc
return "LegoActionControlPresenter";
}
// VTABLE 0x100d5118
// SIZE 0x68
// OFFSET: LEGO1 0x1000d0f0
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, LegoActionControlPresenter::ClassName()) || MxMediaPresenter::IsA(name);
}
};
#endif // LEGOACTIONCONTROLPRESENTER_H

View File

@ -3,9 +3,23 @@
#include "legoentity.h"
// VTABLE 0x100d6d68
// SIZE 0x78
class LegoActor : public LegoEntity
{
public:
// OFFSET: LEGO1 0x1002d210
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f0124
return "LegoActor";
}
// OFFSET: LEGO1 0x1002d220
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, LegoActor::ClassName()) || LegoEntity::IsA(name);
}
};
#endif // LEGOACTOR_H

View File

@ -3,9 +3,23 @@
#include "legoentitypresenter.h"
// VTABLE 0x100d5320
// SIZE 0x50
class LegoActorPresenter : public LegoEntityPresenter
{
// VTABLE 0x100d5320
public:
// OFFSET: LEGO1 0x1000cb10
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f06a4
return "LegoActorPresenter";
}
// OFFSET: LEGO1 0x1000cb20
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, LegoActorPresenter::ClassName()) || LegoEntityPresenter::IsA(name);
}
};
#endif // LEGOACTORPRESENTER_H

View File

@ -1,24 +1 @@
#include "legoanimactor.h"
// 0x100f057c
static char* g_legoAnimActorClassName = "LegoAnimActor";
// OFFSET: LEGO1 0x1000fb90 STUB
const char* GetClassNameInternal()
{
return g_legoAnimActorClassName;
}
// OFFSET: LEGO1 0x1000fb90 STUB
const char *LegoAnimActor::ClassName() const
{
return GetClassNameInternal();
}
// OFFSET: LEGO1 0x1000fbb0 STUB
MxBool LegoAnimActor::IsA(const char *name) const
{
// TODO
return MxBool();
}

View File

@ -6,10 +6,6 @@
class LegoAnimActor : public LegoPathActor
{
public:
virtual const char* ClassName() const;
virtual MxBool IsA(const char *name) const;
// VTABLE 0x100d5440
};
#endif // LEGOANIMACTOR_H

View File

@ -3,21 +3,35 @@
#include "mxcore.h"
// VTABLE 0x100d8c18
// SIZE 0x500
class LegoAnimationManager : public MxCore
{
public:
LegoAnimationManager();
virtual ~LegoAnimationManager(); // vtable+0x0
virtual ~LegoAnimationManager() override; // vtable+0x0
virtual long Notify(MxParam &p) override; // vtable+0x4
virtual long Tickle() override; // vtable+0x8
// OFFSET: LEGO1 0x1005ec80
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f7508
return "LegoAnimationManager";
}
// OFFSET: LEGO1 0x1005ec90
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, LegoAnimationManager::ClassName()) || MxCore::IsA(name);
}
virtual long Notify(MxParam &p); // vtable+0x4
virtual long Tickle(); // vtable+0x8
__declspec(dllexport) static void configureLegoAnimationManager(int param_1);
private:
void Init();
// VTABLE 0x100d8c18
// SIZE 0x500
};
#endif // LEGOANIMATIONMANAGER_H

View File

@ -3,5 +3,5 @@
// OFFSET: LEGO1 0x1004a8d0 STUB
LegoAnimMMPresenter::LegoAnimMMPresenter()
{
// TODO
}
// TODO
}

View File

@ -3,13 +3,26 @@
#include "mxcompositepresenter.h"
// VTABLE 0x100d7de8
// SIZE 0x74
class LegoAnimMMPresenter : public MxCompositePresenter
{
public:
LegoAnimMMPresenter();
// VTABLE 0x100d7de8
// SIZE 0x74
// OFFSET: LEGO1 0x1004a950
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f046c
return "LegoAnimMMPresenter";
}
// OFFSET: LEGO1 0x1004a960
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, LegoAnimMMPresenter::ClassName()) || MxCompositePresenter::IsA(name);
}
};
#endif // LEGOANIMMMPRESENTER_H

View File

@ -3,15 +3,28 @@
#include "mxvideopresenter.h"
// VTABLE 0x100d90c8
class LegoAnimPresenter : public MxVideoPresenter
{
public:
LegoAnimPresenter();
// OFFSET: LEGO1 0x10068530
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f071c
return "LegoAnimPresenter";
}
// OFFSET: LEGO1 0x10068540
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, LegoAnimPresenter::ClassName()) || MxVideoPresenter::IsA(name);
}
private:
void Init();
// VTABLE 0x100d90c8
};
#endif // LEGOANIMPRESENTER_H

View File

@ -5,10 +5,9 @@ LegoBuildingManager::LegoBuildingManager()
{
}
// OFFSET: LEGO1 0x10030150 STUB
void LegoBuildingManager::UnknownFunction(int param_1, int param_2, char param_3, LegoBuildingManager *param_4)
// OFFSET: LEGO1 0x1002f960 STUB
LegoBuildingManager::~LegoBuildingManager()
{
// TODO
}
// OFFSET: LEGO1 0x1002f9d0 STUB

View File

@ -1,19 +1,28 @@
#ifndef LEGOBUILDINGMANAGER_H
#define LEGOBUILDINGMANAGER_H
class LegoBuildingManager
#include "mxcore.h"
// VTABLE 0x100d6f50
// SIZE 0x30
class LegoBuildingManager : public MxCore
{
public:
LegoBuildingManager();
virtual ~LegoBuildingManager() override;
// OFFSET: LEGO1 0x1002f930
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f37d0
return "LegoBuildingManager";
}
__declspec(dllexport) static void configureLegoBuildingManager(int param_1);
void UnknownFunction(int param_1, int param_2, char param_3, LegoBuildingManager* param_4);
private:
void Init();
// VTABLE 0x100d6f50
};
#endif // LEGOBUILDINGMANAGER_H

View File

@ -1,9 +1,9 @@
#include "legocachesound.h"
// OFFSET: LEGO1 0x100064d0 STUB
// OFFSET: LEGO1 0x100064d0
LegoCacheSound::LegoCacheSound()
{
// TODO
Init();
}
// OFFSET: LEGO1 0x10006630 STUB
@ -12,12 +12,6 @@ LegoCacheSound::~LegoCacheSound()
// TODO
}
// OFFSET: LEGO1 0x10006920 STUB
void LegoCacheSound::VTable0x18()
{
// TODO
}
// OFFSET: LEGO1 0x100066d0 STUB
void LegoCacheSound::Init()
{

View File

@ -3,19 +3,29 @@
#include "mxcore.h"
// VTABLE 0x100d4718
// SIZE 0x88
class LegoCacheSound : public MxCore
{
public:
LegoCacheSound();
virtual ~LegoCacheSound(); // vtable+0x0
virtual ~LegoCacheSound() override; // vtable+0x0
virtual void VTable0x18(); // vtable+0x18
// OFFSET: LEGO1 0x10006580
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f01c4
return "LegoCacheSound";
}
// OFFSET: LEGO1 0x10006590
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, LegoCacheSound::ClassName()) || MxCore::IsA(name);
}
private:
void Init();
// VTABLE 0x100d4718
// SIZE 0x88
};
#endif // LEGOCACHESOUND_H

View File

@ -1,13 +1,13 @@
#include "legocameracontroller.h"
// OFFSET: LEGO1 0x10011d50 STUB
LegoCameraController::LegoCameraController()
{
// TODO
}
// OFFSET: LEGO1 0x10011f70 STUB
LegoCameraController::~LegoCameraController()
{
// TODO
}
// OFFSET: LEGO1 0x10011ff0 STUB
void LegoCameraController::VTable0x44()
{
// TODO
}

View File

@ -3,14 +3,27 @@
#include "mxcore.h"
// VTABLE 0x100d57b0
// SIZE 0xc8
class LegoCameraController : public MxCore
{
public:
virtual ~LegoCameraController(); // vtable+0x0
LegoCameraController();
virtual ~LegoCameraController() override; // vtable+0x0
virtual void VTable0x44(); // vtable+0x44
// OFFSET: LEGO1 0x10011ec0
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f0850
return "LegoCameraController";
}
// OFFSET: LEGO1 0x10011ed0
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, LegoCameraController::ClassName()) || MxCore::IsA(name);
}
// VTABLE 0x100d57b0
};
#endif // LEGOCAMERACONTROLLER_H

View File

@ -27,41 +27,3 @@ long LegoCarBuild::Tickle()
return 0;
}
// OFFSET: LEGO1 0x10025e70 STUB
undefined4 LegoCarBuild::VTable0x64()
{
// TODO
return undefined4();
}
// OFFSET: LEGO1 0x100256c0 STUB
void LegoCarBuild::VTable0x68(char param_1)
{
// TODO
}
// OFFSET: LEGO1 0x10022fc0 STUB
void LegoCarBuild::VTable0x6c()
{
// TODO
}
// OFFSET: LEGO1 0x10023500 STUB
void LegoCarBuild::VTable0x74(float *param_1, float *param_2)
{
// TODO
}
// OFFSET: LEGO1 0x10023570 STUB
void LegoCarBuild::VTable0x78(float *param_1, float *param_2)
{
// TODO
}
// OFFSET: LEGO1 0x10023620 STUB
void LegoCarBuild::VTable0x7c(float *param_1, float *param_2)
{
// TODO
}

View File

@ -3,24 +3,29 @@
#include "legoworld.h"
#ifndef undefined4
#define undefined4 int
#endif
// VTABLE 0x100d6658
// SIZE 0x34c
class LegoCarBuild : public LegoWorld
{
public:
LegoCarBuild();
virtual ~LegoCarBuild();
virtual ~LegoCarBuild() override;
virtual long Notify(MxParam &p); // vtable+0x4
virtual long Tickle(); // vtable+0x8
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
virtual long Notify(MxParam &p) override; // vtable+0x4
virtual long Tickle() override; // vtable+0x8
// OFFSET: LEGO1 0x10022940
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f0504
return "LegoCarBuild";
}
// OFFSET: LEGO1 0x10022950
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, LegoCarBuild::ClassName()) || LegoWorld::IsA(name);
}
};
#endif // LEGOCARBUILD_H

View File

@ -3,11 +3,26 @@
#include "legoanimpresenter.h"
// VTABLE 0x100d99e0
// SIZE 0x150
class LegoCarBuildAnimPresenter : public LegoAnimPresenter
{
public:
LegoCarBuildAnimPresenter();
virtual ~LegoCarBuildAnimPresenter(); // vtable+0x0
virtual ~LegoCarBuildAnimPresenter() override; // vtable+0x0
// OFFSET: LEGO1 0x10078510
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f05ec
return "LegoCarBuildAnimPresenter";
}
// OFFSET: LEGO1 0x10078520
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, LegoCarBuildAnimPresenter::ClassName()) || LegoAnimPresenter::IsA(name);
}
};
#endif // LEGOCARBUILDANIMPRESENTER_H

View File

@ -3,9 +3,22 @@
#include "legoraceactor.h"
// VTABLE 0x100da0d8
class LegoCarRaceActor : public LegoRaceActor
{
public:
// OFFSET: LEGO1 0x10081650
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f0568
return "LegoCarRaceActor";
}
// OFFSET: LEGO1 0x10081670
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, LegoCarRaceActor::ClassName()) || LegoRaceActor::IsA(name);
}
};
#endif // LEGOCARRACEACTOR_H

View File

@ -1,7 +1,10 @@
#include "legocontrolmanager.h"
// 0x100f31b8
static char* g_legoControlManagerClassName = "LegoControlManager";
// OFFSET: LEGO1 0x10028520 STUB
LegoControlManager::LegoControlManager()
{
// TODO
}
// OFFSET: LEGO1 0x10028d60 STUB
LegoControlManager::~LegoControlManager()
@ -16,17 +19,3 @@ long LegoControlManager::Tickle()
return 0;
}
// OFFSET: LEGO1 0x10028cb0 STUB
const char *LegoControlManager::ClassName() const
{
return g_legoControlManagerClassName;
}
// OFFSET: LEGO1 0x10028cc0 STUB
MxBool LegoControlManager::IsA(const char *name) const
{
// TODO
return MxBool();
}

View File

@ -3,16 +3,28 @@
#include "mxcore.h"
// VTABLE 0x100d6a80
class LegoControlManager : public MxCore
{
public:
virtual ~LegoControlManager(); // vtable+0x0
LegoControlManager();
virtual ~LegoControlManager() override; // vtable+0x0
virtual long Tickle(); // vtable+0x8
virtual const char* ClassName() const; // vtable+0xc
virtual MxBool IsA(const char *name) const; // vtable+0x10
virtual long Tickle() override; // vtable+0x8
// OFFSET: LEGO1 0x10028cb0
inline virtual const char *ClassName() const override // vtable+0x0c
{
// 0x100f31b8
return "LegoControlManager";
}
// OFFSET: LEGO1 0x10028cc0
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, LegoControlManager::ClassName()) || MxCore::IsA(name);
}
// VTABLE 0x100d6a80
};
#endif // LEGOCONTROLMANAGER_H

View File

@ -1,11 +1,5 @@
#include "legoentity.h"
// OFFSET: LEGO1 0x100105f0 STUB
LegoEntity::LegoEntity()
{
// TODO
}
// OFFSET: LEGO1 0x1000c290
LegoEntity::~LegoEntity()
{
@ -20,88 +14,8 @@ long LegoEntity::Notify(MxParam &p)
return 0;
}
// OFFSET: LEGO1 0x100107e0 STUB
undefined4 LegoEntity::VTable0x18(undefined4 param)
{
// TODO
return undefined4();
}
// OFFSET: LEGO1 0x10010810 STUB
void LegoEntity::Destroy()
{
// TODO
}
// OFFSET: LEGO1 0x10010e10 STUB
void LegoEntity::VTable0x20(char *param)
{
// TODO
}
// OFFSET: LEGO1 0x100108a0 STUB
void LegoEntity::VTable0x24(undefined4 param_1, undefined1 param_2, undefined1 param_3)
{
// TODO
}
// OFFSET: LEGO1 0x10010790 STUB
void LegoEntity::VTable0x28(undefined4 param_1, undefined4 param2)
{
// TODO
}
// OFFSET: LEGO1 0x10010650 STUB
void LegoEntity::VTable0x2c(undefined1 param)
{
// TODO
}
// OFFSET: LEGO1 0x10001090 STUB
void LegoEntity::VTable0x30(undefined4 param)
{
// TODO
}
// OFFSET: LEGO1 0x10010f10 STUB
void LegoEntity::VTable0x34(undefined1 param)
{
// TODO
}
// OFFSET: LEGO1 0x10011070 STUB
void LegoEntity::VTable0x38()
{
// TODO
}
// OFFSET: LEGO1 0x10011300 STUB
void LegoEntity::VTable0x3c()
{
// TODO
}
// OFFSET: LEGO1 0x10011360 STUB
void LegoEntity::VTable0x40()
{
// TODO
}
// OFFSET: LEGO1 0x100113c0 STUB
void LegoEntity::VTable0x44()
{
// TODO
}
// OFFSET: LEGO1 0x10011420 STUB
void LegoEntity::VTable0x48(undefined4 param)
{
// TODO
}
// OFFSET: LEGO1 0x10011470 STUB
void LegoEntity::VTable0x4c()
{
// TODO
}

View File

@ -3,44 +3,34 @@
#include "mxentity.h"
#ifndef undefined1
#define undefined1 char
#endif
// VTABLE 0x100d4858
class LegoEntity : public MxEntity
{
public:
LegoEntity();
__declspec(dllexport) virtual ~LegoEntity(); // vtable+0x0
// Inlined at 0x100853f7
inline LegoEntity()
{
// TODO
}
virtual long Notify(MxParam &p); // vtable+0x4
__declspec(dllexport) virtual ~LegoEntity() override; // vtable+0x0
virtual long Notify(MxParam &p) override; // vtable+0x4
// OFFSET: LEGO1 0x1000c2f0
inline const char *LegoEntity::ClassName() const // vtable+0xc
inline const char *ClassName() const override // vtable+0xc
{
// 0x100f0064
return "LegoEntity";
}
// OFFSET: LEGO1 0x1000c300
inline MxBool LegoEntity::IsA(const char *name) const // vtable+0x10
inline MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, LegoEntity::ClassName()) || MxEntity::IsA(name);
}
virtual undefined4 VTable0x18(undefined4 param); // vtable+0x18
virtual void Destroy(); // 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
virtual void VTable0x30(undefined4 param); // vtable+0x30
virtual void VTable0x34(undefined1 param); // vtable+0x34
virtual void VTable0x38(); // vtable+0x38
virtual void VTable0x3c(); // vtable+0x3c
virtual void VTable0x40(); // vtable+0x40
virtual void VTable0x44(); // vtable+0x44
virtual void VTable0x48(undefined4 param); // vtable+0x48
virtual void VTable0x4c(); // vtable+0x4c
virtual void Destroy() override; // vtable+0x1c
};

View File

@ -1,9 +1,9 @@
#include "legoentitypresenter.h"
// OFFSET: LEGO1 0x10053440 STUB
// OFFSET: LEGO1 0x10053440
LegoEntityPresenter::LegoEntityPresenter()
{
// TODO
Init();
}
// OFFSET: LEGO1 0x100535d0 STUB

View File

@ -3,16 +3,29 @@
#include "mxcompositepresenter.h"
// VTABLE 0x100d8398
class LegoEntityPresenter : public MxCompositePresenter
{
public:
LegoEntityPresenter();
virtual ~LegoEntityPresenter(); // vtable+0x0
virtual ~LegoEntityPresenter() override; // vtable+0x0
// OFFSET: LEGO1 0x100534b0
inline const char *ClassName() const override // vtable+0xc
{
// 0x100f06b8
return "LegoEntityPresenter";
}
// OFFSET: LEGO1 0x100534c0
inline MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, LegoEntityPresenter::ClassName()) || MxCompositePresenter::IsA(name);
}
private:
void Init();
// VTABLE 0x100d8398
};

Some files were not shown because too many files have changed in this diff Show More