Add all BETA10 ClassName() functions and vtables (#1258)

* Add all BETA10 `ClassName()` functions and vtables

* Run formatter, fix copy error

* Fix copy error

* Add BETA10 library functions

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
This commit is contained in:
jonschz
2024-12-22 16:13:34 +01:00
committed by GitHub
parent 276ad8d735
commit 3e6d789324
79 changed files with 220 additions and 2 deletions

View File

@@ -4,6 +4,7 @@
#include "legopathactor.h"
// VTABLE: LEGO1 0x100d9b60
// VTABLE: BETA10 0x101b85b8
// SIZE 0x194
class Act2Brick : public LegoPathActor {
public:
@@ -14,6 +15,7 @@ public:
MxResult Tickle() override; // vtable+0x08
// FUNCTION: LEGO1 0x1007a360
// FUNCTION: BETA10 0x10013290
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f0438

View File

@@ -4,12 +4,14 @@
#include "legoentity.h"
// VTABLE: LEGO1 0x100d53a8
// VTABLE: BETA10 0x101bd570
// SIZE 0x68
class Act2PoliceStation : public LegoEntity {
public:
MxLong Notify(MxParam& p_param) override; // vtable+0x04
// FUNCTION: LEGO1 0x1000e200
// FUNCTION: BETA10 0x100a8e00
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f03fc

View File

@@ -47,12 +47,14 @@ private:
};
// VTABLE: LEGO1 0x100d4fc8
// VTABLE: BETA10 0x101b89b8
// SIZE 0x0c
class Act3State : public LegoState {
public:
Act3State() { m_unk0x08 = 0; }
// FUNCTION: LEGO1 0x1000e300
// FUNCTION: BETA10 0x10017e10
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f03f0
@@ -79,6 +81,7 @@ public:
};
// VTABLE: LEGO1 0x100d9628
// VTABLE: BETA10 0x101b8940
// SIZE 0x4274
class Act3 : public LegoWorld {
public:
@@ -89,6 +92,7 @@ public:
MxResult Tickle() override; // vtable+0x08
// FUNCTION: LEGO1 0x10072510
// FUNCTION: BETA10 0x10017550
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f013c

View File

@@ -13,6 +13,7 @@ class LegoWorld;
// VTABLE: LEGO1 0x100d7668 LegoPathActor
// VTABLE: LEGO1 0x100d7738 LegoAnimActor
// VTABLE: BETA10 0x101b8a98 LegoPathActor
// VTABLE: BETA10 0x101b8b88 LegoAnimActor
// SIZE 0x178
class Act3Actor : public LegoAnimActor {
public:
@@ -30,6 +31,7 @@ public:
Act3Actor();
// FUNCTION: LEGO1 0x100431b0
// FUNCTION: BETA10 0x1001d320
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f03ac
@@ -145,6 +147,7 @@ public:
// FUNCTION: LEGO1 0x100430d0
const char* ClassName() const override // vtable+0x0c
{
// Does not exist in BETA10
// STRING: LEGO1 0x100f03a0
return "Act3Shark";
}

View File

@@ -7,12 +7,14 @@
class MxEndActionNotificationParam;
// VTABLE: LEGO1 0x100d72a0
// VTABLE: BETA10 0x101b91a8
// SIZE 0x24
class AmbulanceMissionState : public LegoState {
public:
AmbulanceMissionState();
// FUNCTION: LEGO1 0x10037600
// FUNCTION: BETA10 0x100246c0
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f00e8
@@ -100,6 +102,7 @@ public:
};
// VTABLE: LEGO1 0x100d71a8
// VTABLE: BETA10 0x101b8f70
// SIZE 0x184
class Ambulance : public IslePathActor {
public:
@@ -110,6 +113,7 @@ public:
MxResult Tickle() override; // vtable+0x08
// FUNCTION: LEGO1 0x10035fa0
// FUNCTION: BETA10 0x100240b0
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f03c4

View File

@@ -5,12 +5,14 @@
#include "islepathactor.h"
// VTABLE: LEGO1 0x100d9808
// VTABLE: BETA10 0x101b91e8
// SIZE 0x164
class Bike : public IslePathActor {
public:
Bike();
// FUNCTION: LEGO1 0x100766f0
// FUNCTION: BETA10 0x10024bd0
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f03d0

View File

@@ -6,6 +6,7 @@
class LegoEventNotificationParam;
// VTABLE: LEGO1 0x100d5c88
// VTABLE: BETA10 0x101b9320
// SIZE 0x68
class BuildingEntity : public LegoEntity {
public:
@@ -15,6 +16,7 @@ public:
MxLong Notify(MxParam& p_param) override; // vtable+0x04
// FUNCTION: LEGO1 0x10014f20
// FUNCTION: BETA10 0x10025f50
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f07e8

View File

@@ -6,9 +6,11 @@
class LegoEventNotificationParam;
// VTABLE: LEGO1 0x100d48a8
// VTABLE: BETA10 0x101bd818
// SIZE 0x68
class RaceStandsEntity : public BuildingEntity {
// FUNCTION: LEGO1 0x1000efa0
// FUNCTION: BETA10 0x100a9820
const char* ClassName() const override // vtable+0x0c
{
// at LEGO1 0x100f0300, needs no annotation
@@ -28,10 +30,12 @@ class RaceStandsEntity : public BuildingEntity {
};
// VTABLE: LEGO1 0x100d4a18
// VTABLE: BETA10 0x101bd7b0
// SIZE 0x68
class BeachHouseEntity : public BuildingEntity {
public:
// FUNCTION: LEGO1 0x1000ee80
// FUNCTION: BETA10 0x100a96f0
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f0314
@@ -51,10 +55,12 @@ public:
};
// VTABLE: LEGO1 0x100d4ab0
// VTABLE: BETA10 0x101bd748
// SIZE 0x68
class PoliceEntity : public BuildingEntity {
public:
// FUNCTION: LEGO1 0x1000ed60
// FUNCTION: BETA10 0x100a95c0
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f0328
@@ -74,10 +80,12 @@ public:
};
// VTABLE: LEGO1 0x100d4b90
// VTABLE: BETA10 0x101bd610
// SIZE 0x68
class InfoCenterEntity : public BuildingEntity {
public:
// FUNCTION: LEGO1 0x1000ea00
// FUNCTION: BETA10 0x100a9230
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f035c
@@ -97,10 +105,12 @@ public:
};
// VTABLE: LEGO1 0x100d5068
// VTABLE: BETA10 0x101bd678
// SIZE 0x68
class HospitalEntity : public BuildingEntity {
public:
// FUNCTION: LEGO1 0x1000ec40
// FUNCTION: BETA10 0x100a9360
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f0338
@@ -120,9 +130,11 @@ public:
};
// VTABLE: LEGO1 0x100d50c0
// VTABLE: BETA10 0x101bd880
// SIZE 0x68
class CaveEntity : public BuildingEntity {
// FUNCTION: LEGO1 0x1000f1e0
// FUNCTION: BETA10 0x100a9950
const char* ClassName() const override // vtable+0x0c
{
// at LEGO1 0x100f0300, needs no annotation
@@ -142,9 +154,11 @@ class CaveEntity : public BuildingEntity {
};
// VTABLE: LEGO1 0x100d5200
// VTABLE: BETA10 0x101bd8e8
// SIZE 0x68
class JailEntity : public BuildingEntity {
// FUNCTION: LEGO1 0x1000f0c0
// FUNCTION: BETA10 0x100a9a80
const char* ClassName() const override // vtable+0x0c
{
// at LEGO1 0x100f0300, needs no annotation
@@ -164,10 +178,12 @@ class JailEntity : public BuildingEntity {
};
// VTABLE: LEGO1 0x100d5258
// VTABLE: BETA10 0x101bd6e0
// SIZE 0x68
class GasStationEntity : public BuildingEntity {
public:
// FUNCTION: LEGO1 0x1000eb20
// FUNCTION: BETA10 0x100a9490
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f0348

View File

@@ -6,6 +6,8 @@
// VTABLE: LEGO1 0x100d6790 LegoPathActor
// VTABLE: LEGO1 0x100d6860 LegoAnimActor
// VTABLE: BETA10 0x101b9430 LegoPathActor
// VTABLE: BETA10 0x101b9520 LegoAnimActor
// SIZE 0x174
class BumpBouy : public LegoAnimActor {
public:
@@ -14,6 +16,7 @@ public:
MxLong Notify(MxParam& p_param) override; // vtable+0x04
// FUNCTION: LEGO1 0x100274f0
// FUNCTION: BETA10 0x10026790
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f0394

View File

@@ -6,12 +6,14 @@
class LegoROI;
// VTABLE: LEGO1 0x100d4788
// VTABLE: BETA10 0x101bcfb8
// SIZE 0x1f8
class Doors : public LegoPathActor {
public:
Doors() : m_unk0x154(0), m_ltDoor(NULL), m_rtDoor(NULL), m_unk0x1f4(0) {}
// FUNCTION: LEGO1 0x1000e430
// FUNCTION: BETA10 0x100a7f20
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f03e8

View File

@@ -5,12 +5,14 @@
#include "islepathactor.h"
// VTABLE: LEGO1 0x100d8f98
// VTABLE: BETA10 0x101b95c0
// SIZE 0x16c
class DuneBuggy : public IslePathActor {
public:
DuneBuggy();
// FUNCTION: LEGO1 0x10067c30
// FUNCTION: BETA10 0x100278a0
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f0410

View File

@@ -8,6 +8,7 @@
class LegoControlManagerNotificationParam;
// VTABLE: LEGO1 0x100d5f20
// VTABLE: BETA10 0x101b96f0
// SIZE 0xfc
class ElevatorBottom : public LegoWorld {
public:
@@ -17,6 +18,7 @@ public:
MxLong Notify(MxParam& p_param) override; // vtable+0x04
// FUNCTION: LEGO1 0x10017f20
// FUNCTION: BETA10 0x10028130
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f04ac

View File

@@ -10,6 +10,7 @@
class MxStillPresenter;
// VTABLE: LEGO1 0x100d46e0
// VTABLE: BETA10 0x101b9818
// SIZE 0x24
class GasStationState : public LegoState {
public:
@@ -21,6 +22,7 @@ public:
GasStationState();
// FUNCTION: LEGO1 0x100061d0
// FUNCTION: BETA10 0x10029f50
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f0174
@@ -54,6 +56,7 @@ public:
};
// VTABLE: LEGO1 0x100d4650
// VTABLE: BETA10 0x101b97a0
// SIZE 0x128
class GasStation : public LegoWorld {
public:
@@ -64,6 +67,7 @@ public:
MxResult Tickle() override; // vtable+0x08
// FUNCTION: LEGO1 0x10004780
// FUNCTION: BETA10 0x10029d40
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f0168

View File

@@ -8,12 +8,14 @@
class Act3;
// VTABLE: LEGO1 0x100d5418
// VTABLE: BETA10 0x101bcf98
// SIZE 0x0c
class HelicopterState : public LegoState {
public:
HelicopterState() : m_unk0x08(0) {}
// FUNCTION: LEGO1 0x1000e0d0
// FUNCTION: BETA10 0x100a7cc0
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f0144

View File

@@ -8,6 +8,7 @@
class MxStillPresenter;
// VTABLE: LEGO1 0x100da328
// VTABLE: BETA10 0x101b99b0
// SIZE 0x3e4
class HistoryBook : public LegoWorld {
public:
@@ -17,6 +18,7 @@ public:
MxLong Notify(MxParam& p_param) override; // vtable+0x04
// FUNCTION: LEGO1 0x10082390
// FUNCTION: BETA10 0x1002c1c0
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f04bc

View File

@@ -12,6 +12,7 @@ class MxEndActionNotificationParam;
class MxStillPresenter;
// VTABLE: LEGO1 0x100d97a0
// VTABLE: BETA10 0x101b9ad8
// SIZE 0x18
class HospitalState : public LegoState {
public:
@@ -24,6 +25,7 @@ public:
~HospitalState() override {}
// FUNCTION: LEGO1 0x10076400
// FUNCTION: BETA10 0x1002e3c0
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f0480
@@ -53,6 +55,7 @@ public:
};
// VTABLE: LEGO1 0x100d9730
// VTABLE: BETA10 0x101b9a60
// SIZE 0x12c
class Hospital : public LegoWorld {
public:
@@ -63,6 +66,7 @@ public:
MxResult Tickle() override; // vtable+0x08
// FUNCTION: LEGO1 0x100746b0
// FUNCTION: BETA10 0x1002e1a0
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f0490

View File

@@ -13,6 +13,7 @@ class MxStillPresenter;
class LegoControlManagerNotificationParam;
// VTABLE: LEGO1 0x100d93a8
// VTABLE: BETA10 0x101b9b88
// SIZE 0x94
class InfocenterState : public LegoState {
public:
@@ -20,6 +21,7 @@ public:
~InfocenterState() override;
// FUNCTION: LEGO1 0x10071840
// FUNCTION: BETA10 0x10031ee0
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f04dc
@@ -73,6 +75,7 @@ struct InfocenterMapEntry {
};
// VTABLE: LEGO1 0x100d9338
// VTABLE: BETA10 0x101b9b10
// SIZE 0x1d8
class Infocenter : public LegoWorld {
public:
@@ -102,6 +105,7 @@ public:
MxResult Tickle() override; // vtable+0x08
// FUNCTION: LEGO1 0x1006eb40
// FUNCTION: BETA10 0x100316e0
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f04ec

View File

@@ -7,6 +7,7 @@
class LegoControlManagerNotificationParam;
// VTABLE: LEGO1 0x100d72d8
// VTABLE: BETA10 0x101b9bc0
// SIZE 0xfc
class InfocenterDoor : public LegoWorld {
public:
@@ -16,6 +17,7 @@ public:
MxLong Notify(MxParam& p_param) override; // vtable+0x04
// FUNCTION: LEGO1 0x100377b0
// FUNCTION: BETA10 0x10032790
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f049c

View File

@@ -24,6 +24,7 @@ class SkateBoard;
class TowTrack;
// VTABLE: LEGO1 0x100d7028
// VTABLE: BETA10 0x101b9d40
// SIZE 0x26c
class Act1State : public LegoState {
public:
@@ -36,6 +37,7 @@ public:
Act1State();
// FUNCTION: LEGO1 0x100338a0
// FUNCTION: BETA10 0x10036040
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f0154

View File

@@ -10,12 +10,14 @@ class MxEndActionNotificationParam;
class MxNotificationParam;
// VTABLE: LEGO1 0x100d5178
// VTABLE: BETA10 0x101bd150
// SIZE 0x7c
class IsleActor : public LegoActor {
public:
MxLong Notify(MxParam& p_param) override; // vtable+0x04
// FUNCTION: LEGO1 0x1000e660
// FUNCTION: BETA10 0x100a8300
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f07dc

View File

@@ -12,6 +12,7 @@ class LegoWorld;
class LegoPathStructNotificationParam;
// VTABLE: LEGO1 0x100d4398
// VTABLE: BETA10 0x101b9090
// SIZE 0x160
class IslePathActor : public LegoPathActor {
public:
@@ -91,6 +92,7 @@ public:
MxLong Notify(MxParam& p_param) override; // vtable+0x04
// FUNCTION: LEGO1 0x10002ea0
// FUNCTION: BETA10 0x10023fa0
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f0104

View File

@@ -7,12 +7,14 @@
class LegoControlManagerNotificationParam;
// VTABLE: LEGO1 0x100d9ec8
// VTABLE: BETA10 0x101ba540
// SIZE 0x164
class Jetski : public IslePathActor {
public:
Jetski();
// FUNCTION: LEGO1 0x1007e430
// FUNCTION: BETA10 0x10037910
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f03d8

View File

@@ -9,6 +9,7 @@
class LegoControlManagerNotificationParam;
// VTABLE: LEGO1 0x100d4a90
// VTABLE: BETA10 0x101ba6e8
// SIZE 0x10
class JukeBoxState : public LegoState {
public:
@@ -24,6 +25,7 @@ public:
JukeBoxState() : m_music(e_pasquell), m_active(FALSE) {}
// FUNCTION: LEGO1 0x1000f310
// FUNCTION: BETA10 0x100389c0
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f02bc
@@ -47,6 +49,7 @@ public:
};
// VTABLE: LEGO1 0x100d8958
// VTABLE: BETA10 0x101ba670
// SIZE 0x104
class JukeBox : public LegoWorld {
public:
@@ -57,6 +60,7 @@ public:
MxResult Tickle() override; // vtable+0x08
// FUNCTION: LEGO1 0x1005d6f0
// FUNCTION: BETA10 0x100388d0
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f02cc

View File

@@ -5,6 +5,7 @@
#include "legoentity.h"
// VTABLE: LEGO1 0x100da8a0
// VTABLE: BETA10 0x101ba728
// SIZE 0x6c
class JukeBoxEntity : public LegoEntity {
public:
@@ -14,6 +15,7 @@ public:
MxLong Notify(MxParam& p_param) override; // vtable+0x04
// FUNCTION: LEGO1 0x10085cc0
// FUNCTION: BETA10 0x10039480
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f02f0

View File

@@ -11,6 +11,7 @@ class LegoPathStructNotificationParam;
class MxEndActionNotificationParam;
// VTABLE: LEGO1 0x100d4a70
// VTABLE: BETA10 0x101ba910
// SIZE 0x10
class LegoAct2State : public LegoState {
public:
@@ -22,6 +23,7 @@ public:
~LegoAct2State() override {}
// FUNCTION: LEGO1 0x1000df80
// FUNCTION: BETA10 0x1003c7e0
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f0428

View File

@@ -7,6 +7,7 @@
class LegoCacheSound;
// VTABLE: LEGO1 0x100d6d68
// VTABLE: BETA10 0x101ba970
// SIZE 0x78
class LegoActor : public LegoEntity {
public:
@@ -24,6 +25,7 @@ public:
~LegoActor() override;
// FUNCTION: LEGO1 0x1002d210
// FUNCTION: BETA10 0x10012760
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f0124

View File

@@ -49,6 +49,7 @@ struct AnimInfo {
};
// VTABLE: LEGO1 0x100d8d80
// VTABLE: BETA10 0x101bae58
// SIZE 0x1c
class AnimState : public LegoState {
public:
@@ -56,6 +57,7 @@ public:
~AnimState() override; // vtable+0x00
// FUNCTION: LEGO1 0x10065070
// FUNCTION: BETA10 0x1004afe0
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f0460
@@ -91,6 +93,7 @@ private:
};
// VTABLE: LEGO1 0x100d8c18
// VTABLE: BETA10 0x101bab60
// SIZE 0x500
class LegoAnimationManager : public MxCore {
public:
@@ -141,6 +144,7 @@ public:
MxResult Tickle() override; // vtable+0x08
// FUNCTION: LEGO1 0x1005ec80
// FUNCTION: BETA10 0x100483d0
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f7508

View File

@@ -58,6 +58,7 @@ public:
// FUNCTION: LEGO1 0x1002f930
const char* ClassName() const override // vtable+0x0c
{
// not in BETA10
// STRING: LEGO1 0x100f37d0
return "LegoBuildingManager";
}

View File

@@ -16,6 +16,7 @@ public:
// FUNCTION: LEGO1 0x10006580
const char* ClassName() const override // vtable+0x0c
{
// not in BETA10
// STRING: LEGO1 0x100f01c4
return "LegoCacheSound";
}

View File

@@ -7,6 +7,7 @@
#include "mxpoint32.h"
// VTABLE: LEGO1 0x100d57b0
// VTABLE: BETA10 0x101bb748
// SIZE 0xc8
class LegoCameraController : public LegoPointOfViewController {
public:
@@ -16,6 +17,7 @@ public:
MxLong Notify(MxParam& p_param) override; // vtable+04
// FUNCTION: LEGO1 0x10011ec0
// FUNCTION: BETA10 0x1006a950
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f0850

View File

@@ -45,8 +45,6 @@ public:
// SYNTHETIC: LEGO1 0x100260a0
// LegoVehicleBuildState::`scalar deleting destructor'
// TODO: Most likely getters/setters are not used according to BETA.
Playlist m_unk0x08[4]; // 0x08
// This can be one of the following:
@@ -93,6 +91,7 @@ public:
~LegoCarBuild() override;
// FUNCTION: LEGO1 0x10022940
// FUNCTION: BETA10 0x10070090
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f0504

View File

@@ -40,6 +40,7 @@ public:
// LegoControlManagerNotificationParam::~LegoControlManagerNotificationParam
// VTABLE: LEGO1 0x100d6a80
// VTABLE: BETA10 0x101bc610
class LegoControlManager : public MxCore {
public:
LegoControlManager();

View File

@@ -6,7 +6,9 @@
// VTABLE: LEGO1 0x100d6c00 LegoAnimActor
// VTABLE: LEGO1 0x100d6c10 LegoPathActor
// VTABLE: LEGO1 0x100d6cdc LegoExtraActor
// VTABLE: BETA10 0x101bc2a0 LegoAnimActor
// VTABLE: BETA10 0x101bc2b8 LegoPathActor
// VTABLE: BETA10 0x101bc3a8 LegoExtraActor
// SIZE 0x1dc
class LegoExtraActor : public virtual LegoAnimActor {
public:
@@ -21,6 +23,7 @@ public:
~LegoExtraActor() override;
// FUNCTION: LEGO1 0x1002b7b0
// FUNCTION: BETA10 0x100831a0
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f3204

View File

@@ -28,6 +28,7 @@ class MxTransitionManager;
class ViewLODListManager;
// VTABLE: LEGO1 0x100d8638
// VTABLE: BETA10 0x101bc8b8
// SIZE 0x140
class LegoOmni : public MxOmni {
public:
@@ -103,6 +104,7 @@ public:
MxLong Notify(MxParam& p_param) override; // vtable+0x04
// FUNCTION: LEGO1 0x10058aa0
// FUNCTION: BETA10 0x1008f830
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f671c

View File

@@ -39,6 +39,7 @@ public:
~LegoPathActor() override;
// FUNCTION: LEGO1 0x1000c430
// FUNCTION: BETA10 0x10012790
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f0114

View File

@@ -34,6 +34,7 @@ struct LegoPathCtrlEdgeCompare {
typedef set<LegoPathCtrlEdge*, LegoPathCtrlEdgeCompare> LegoPathCtrlEdgeSet;
// VTABLE: LEGO1 0x100d7d60
// VTABLE: BETA10 0x101bde20
// SIZE 0x40
class LegoPathController : public MxCore {
public:
@@ -69,6 +70,7 @@ public:
MxResult Tickle() override; // vtable+08
// FUNCTION: LEGO1 0x10045110
// FUNCTION: BETA10 0x100ba560
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f11b8

View File

@@ -31,6 +31,8 @@ public:
// FUNCTION: LEGO1 0x10026290
const char* ClassName() const override // vtable+0x0c
{
// While this class exists in BETA10, it didn't have a ClassName().
// I suppose it did not inherit from MxCore back then and likely did not have a VTABLE.
// STRING: LEGO1 0x100f318c
return "LegoPlantManager";
}
@@ -57,6 +59,8 @@ public:
void FUN_10027200();
static void SetCustomizeAnimFile(const char* p_value);
// FUNCTION: BETA10 0x1007ffa0
static const char* GetCustomizeAnimFile() { return g_customizeAnimFile; }
// SYNTHETIC: LEGO1 0x100262a0

View File

@@ -105,6 +105,11 @@ private:
// VTABLE: LEGO1 0x100d5a30 LegoAnimActor
// VTABLE: LEGO1 0x100d5a40 LegoPathActor
// VTABLE: LEGO1 0x100d5b10 LegoRaceMap
// VTABLE: BETA10 0x101be8a0 LegoCarRaceActor
// VTABLE: BETA10 0x101be8c8 LegoRaceActor
// VTABLE: BETA10 0x101be8d0 LegoAnimActor
// VTABLE: BETA10 0x101be8e8 LegoPathActor
// VTABLE: BETA10 0x101be9d8 LegoRaceMap
// SIZE 0x1dc
class LegoJetski : public LegoJetskiRaceActor, public LegoRaceMap {
public:
@@ -114,6 +119,7 @@ public:
MxLong Notify(MxParam& p_param) override; // vtable+0x04
// FUNCTION: LEGO1 0x10013e90
// FUNCTION: BETA10 0x100cd1f0
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f053c

View File

@@ -5,12 +5,14 @@
#include "islepathactor.h"
// VTABLE: LEGO1 0x100d7090
// VTABLE: BETA10 0x101bf3d8
// SIZE 0x16c
class Motocycle : public IslePathActor {
public:
Motocycle();
// FUNCTION: LEGO1 0x10035840
// FUNCTION: BETA10 0x100e83c0
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f38e8

View File

@@ -9,6 +9,7 @@
class MxAudioPresenter;
// VTABLE: LEGO1 0x100d9fe8
// VTABLE: BETA10 0x101bf508
// SIZE 0x150
class MxBackgroundAudioManager : public MxCore {
public:
@@ -19,6 +20,7 @@ public:
MxResult Tickle() override; // vtable+0x08
// FUNCTION: LEGO1 0x1007eb70
// FUNCTION: BETA10 0x100e9af0
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f7ac4

View File

@@ -4,6 +4,7 @@
#include "mxcompositepresenter.h"
// VTABLE: LEGO1 0x100d96b0
// VTABLE: BETA10 0x101bf540
// SIZE 0x50
class MxCompositeMediaPresenter : public MxCompositePresenter {
public:
@@ -13,6 +14,7 @@ public:
MxResult Tickle() override; // vtable+0x08
// FUNCTION: LEGO1 0x10073f10
// FUNCTION: BETA10 0x100ea920
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f02d4

View File

@@ -8,6 +8,7 @@ class LegoControlManagerNotificationParam;
class MxVideoPresenter;
// VTABLE: LEGO1 0x100d7b88
// VTABLE: BETA10 0x101bf5d0
// SIZE 0x5c
class MxControlPresenter : public MxCompositePresenter {
public:
@@ -15,6 +16,7 @@ public:
~MxControlPresenter() override;
// FUNCTION: LEGO1 0x10044000
// FUNCTION: BETA10 0x100ebf80
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f0514

View File

@@ -9,6 +9,7 @@
class MxVideoPresenter;
// VTABLE: LEGO1 0x100d7ea0
// VTABLE: BETA10 0x101bf670
// SIZE 0x900
class MxTransitionManager : public MxCore {
public:
@@ -20,6 +21,7 @@ public:
MxResult Tickle() override; // vtable+0x08
// FUNCTION: LEGO1 0x1004b950
// FUNCTION: BETA10 0x100ed8e0
const char* ClassName() const override // vtable+0x0c
{
return "MxTransitionManager";

View File

@@ -11,6 +11,7 @@ class PizzeriaState;
class SkateBoard;
// VTABLE: LEGO1 0x100d7408
// VTABLE: BETA10 0x101bf750
// SIZE 0xb4
class PizzaMissionState : public LegoState {
public:
@@ -126,6 +127,7 @@ public:
PizzaMissionState();
// FUNCTION: LEGO1 0x10039290
// FUNCTION: BETA10 0x100efa20
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f00d4
@@ -173,6 +175,7 @@ public:
};
// VTABLE: LEGO1 0x100d7380
// VTABLE: BETA10 0x101bf6b0
// SIZE 0x9c
class Pizza : public IsleActor {
public:
@@ -182,6 +185,7 @@ public:
MxResult Tickle() override; // vtable+0x08
// FUNCTION: LEGO1 0x10037f90
// FUNCTION: BETA10 0x100ef300
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f038c

View File

@@ -9,12 +9,14 @@
class PizzaMissionState;
// VTABLE: LEGO1 0x100d5ee8
// VTABLE: BETA10 0x101bf788
// SIZE 0x58
class PizzeriaState : public LegoState {
public:
PizzeriaState();
// FUNCTION: LEGO1 0x10017c20
// FUNCTION: BETA10 0x100f0020
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f0370
@@ -46,12 +48,14 @@ public:
};
// VTABLE: LEGO1 0x100d5520
// VTABLE: BETA10 0x101bd0b0
// SIZE 0x84
class Pizzeria : public IsleActor {
public:
Pizzeria() : m_pizzeriaState(NULL) {}
// FUNCTION: LEGO1 0x1000e780
// FUNCTION: BETA10 0x100a81f0
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f0380

View File

@@ -12,6 +12,7 @@ class LegoEventNotificationParam;
class MxDSAction;
// VTABLE: LEGO1 0x100d8af0
// VTABLE: BETA10 0x101bf838
// SIZE 0x10
class PoliceState : public LegoState {
public:
@@ -19,6 +20,7 @@ public:
~PoliceState() override {}
// FUNCTION: LEGO1 0x1005e860
// FUNCTION: BETA10 0x100f0d40
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f0444
@@ -48,6 +50,7 @@ public:
};
// VTABLE: LEGO1 0x100d8a80
// VTABLE: BETA10 0x101bf7c0
// SIZE 0x110
class Police : public LegoWorld {
public:
@@ -57,6 +60,7 @@ public:
MxLong Notify(MxParam& p_param) override; // vtable+0x04
// FUNCTION: LEGO1 0x1005e1e0
// FUNCTION: BETA10 0x100f0c50
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f0450

View File

@@ -5,6 +5,7 @@
#include "islepathactor.h"
// VTABLE: LEGO1 0x100d6918
// VTABLE: BETA10 0x101bf878
// SIZE 0x164
class RaceCar : public IslePathActor {
public:
@@ -12,6 +13,7 @@ public:
~RaceCar() override; // vtable+0x00
// FUNCTION: LEGO1 0x10028270
// FUNCTION: BETA10 0x100f1150
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f03e0

View File

@@ -9,12 +9,14 @@ class MxAtomId;
class MxEndActionNotificationParam;
// VTABLE: LEGO1 0x100d6d28
// VTABLE: BETA10 0x101bfb08
// SIZE 0x30
class RadioState : public LegoState {
public:
RadioState();
// FUNCTION: LEGO1 0x1002cf60
// FUNCTION: BETA10 0x100f2850
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f04f8
@@ -47,6 +49,7 @@ public:
};
// VTABLE: LEGO1 0x100d6d10
// VTABLE: BETA10 0x101bfaf0
// SIZE 0x10
class Radio : public MxCore {
public:
@@ -56,6 +59,7 @@ public:
MxLong Notify(MxParam& p_param) override; // vtable+0x04
// FUNCTION: LEGO1 0x1002c8e0
// FUNCTION: BETA10 0x100f2670
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f328c

View File

@@ -11,6 +11,7 @@ class LegoControlManagerNotificationParam;
class LegoPathStructNotificationParam;
// VTABLE: LEGO1 0x100d9928
// VTABLE: BETA10 0x101bfb48
// SIZE 0x2d0
class RegistrationBook : public LegoWorld {
public:
@@ -21,6 +22,7 @@ public:
MxResult Tickle() override; // vtable+0x08
// FUNCTION: LEGO1 0x10076e10
// FUNCTION: BETA10 0x100f4000
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f04c8

View File

@@ -9,12 +9,14 @@ class LegoControlManagerNotificationParam;
class MxEndActionNotificationParam;
// VTABLE: LEGO1 0x100d53f8
// VTABLE: BETA10 0x101bcf78
// SIZE 0x0c
class ScoreState : public LegoState {
public:
ScoreState() : m_playCubeTutorial(TRUE) {}
// FUNCTION: LEGO1 0x1000de40
// FUNCTION: BETA10 0x100a7a70
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f0084
@@ -49,6 +51,7 @@ public:
};
// VTABLE: LEGO1 0x100d4018
// VTABLE: BETA10 0x101bfbd8
// SIZE 0x104
class Score : public LegoWorld {
public:
@@ -57,6 +60,7 @@ public:
MxLong Notify(MxParam& p_param) override; // vtable+0x04
// FUNCTION: LEGO1 0x100010c0
// FUNCTION: BETA10 0x100f4f20
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f0050

View File

@@ -7,6 +7,7 @@
class Act1State;
// VTABLE: LEGO1 0x100d55f0
// VTABLE: BETA10 0x101bfc70
// SIZE 0x168
class SkateBoard : public IslePathActor {
public:
@@ -14,6 +15,7 @@ public:
~SkateBoard() override;
// FUNCTION: LEGO1 0x1000fdd0
// FUNCTION: BETA10 0x100f55d0
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f041c

View File

@@ -8,12 +8,14 @@
class MxEndActionNotificationParam;
// VTABLE: LEGO1 0x100d7fd8
// VTABLE: BETA10 0x101bfee0
// SIZE 0x28
class TowTrackMissionState : public LegoState {
public:
TowTrackMissionState();
// FUNCTION: LEGO1 0x1004dfa0
// FUNCTION: BETA10 0x100f8920
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f00bc
@@ -102,6 +104,7 @@ public:
};
// VTABLE: LEGO1 0x100d7ee0
// VTABLE: BETA10 0x101bfdc0
// SIZE 0x180
class TowTrack : public IslePathActor {
public:
@@ -109,6 +112,7 @@ public:
~TowTrack() override;
// FUNCTION: LEGO1 0x1004c7c0
// FUNCTION: BETA10 0x100f8440
const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f03b8