mirror of
https://github.com/isledecomp/isle.git
synced 2025-12-10 08:03:13 +00:00
Add remaining classes, implement/match LegoObjectFactory (#1026)
* Add missing classes * Match LegoObjectFactory * Remove semicolon * Add symbol * Fix
This commit is contained in:
committed by
GitHub
parent
abb4483e18
commit
cf576ca78f
15
LEGO1/lego/legoomni/include/act2genactor.h
Normal file
15
LEGO1/lego/legoomni/include/act2genactor.h
Normal file
@@ -0,0 +1,15 @@
|
||||
#ifndef ACT2GENACTOR_H
|
||||
#define ACT2GENACTOR_H
|
||||
|
||||
#include "legopathactor.h"
|
||||
|
||||
// VTABLE: LEGO1 0x100d4ed8
|
||||
// SIZE 0x154
|
||||
class Act2GenActor : public LegoPathActor {
|
||||
MxResult VTable0x94(LegoPathActor*, MxBool) override; // vtable+0x94
|
||||
|
||||
// SYNTHETIC: LEGO1 0x1000f5a0
|
||||
// Act2GenActor::`scalar deleting destructor'
|
||||
};
|
||||
|
||||
#endif // ACT2GENACTOR_H
|
||||
@@ -23,6 +23,9 @@ public:
|
||||
// SYNTHETIC: LEGO1 0x10043330
|
||||
// Act3Actor::`scalar deleting destructor'
|
||||
|
||||
// SYNTHETIC: LEGO1 0x10040fa0
|
||||
// Act3Actor::~Act3Actor
|
||||
|
||||
private:
|
||||
undefined4 m_unk0x1c; // 0x1c
|
||||
};
|
||||
|
||||
31
LEGO1/lego/legoomni/include/act3brickster.h
Normal file
31
LEGO1/lego/legoomni/include/act3brickster.h
Normal file
@@ -0,0 +1,31 @@
|
||||
#ifndef ACT3BRICKSTER_H
|
||||
#define ACT3BRICKSTER_H
|
||||
|
||||
#include "act3actor.h"
|
||||
|
||||
// VTABLE: LEGO1 0x100d7838 LegoPathActor
|
||||
// VTABLE: LEGO1 0x100d7908 LegoAnimActor
|
||||
// SIZE 0x1b4
|
||||
class Act3Brickster : public Act3Actor {
|
||||
public:
|
||||
Act3Brickster();
|
||||
~Act3Brickster() override;
|
||||
|
||||
void ParseAction(char* p_extra) override; // vtable+0x20
|
||||
void VTable0x70(float p_und) override; // vtable+0x70
|
||||
MxResult VTable0x94(LegoPathActor*, MxBool) override; // vtable+0x94
|
||||
void SwitchBoundary(
|
||||
LegoPathBoundary*& p_boundary,
|
||||
LegoUnknown100db7f4*& p_edge,
|
||||
float& p_unk0xe4
|
||||
) override; // vtable+0x98
|
||||
MxResult VTable0x9c() override; // vtable+0x9c
|
||||
|
||||
// SYNTHETIC: LEGO1 0x10043250
|
||||
// Act3Brickster::`scalar deleting destructor'
|
||||
|
||||
private:
|
||||
undefined4 m_unk0x20[15]; // 0x20
|
||||
};
|
||||
|
||||
#endif // ACT3BRICKSTER_H
|
||||
25
LEGO1/lego/legoomni/include/act3cop.h
Normal file
25
LEGO1/lego/legoomni/include/act3cop.h
Normal file
@@ -0,0 +1,25 @@
|
||||
#ifndef ACT3COP_H
|
||||
#define ACT3COP_H
|
||||
|
||||
#include "act3actor.h"
|
||||
|
||||
// VTABLE: LEGO1 0x100d7750 LegoPathActor
|
||||
// VTABLE: LEGO1 0x100d7820 LegoAnimActor
|
||||
// SIZE 0x188
|
||||
class Act3Cop : public Act3Actor {
|
||||
public:
|
||||
Act3Cop();
|
||||
|
||||
void ParseAction(char* p_extra) override; // vtable+0x20
|
||||
void VTable0x70(float p_und) override; // vtable+0x70
|
||||
MxResult VTable0x94(LegoPathActor*, MxBool) override; // vtable+0x94
|
||||
MxResult VTable0x9c() override; // vtable+0x9c
|
||||
|
||||
// SYNTHETIC: LEGO1 0x10043120
|
||||
// Act3Cop::`scalar deleting destructor'
|
||||
|
||||
private:
|
||||
undefined4 m_unk0x20[4]; // 0x20
|
||||
};
|
||||
|
||||
#endif // ACT3COP_H
|
||||
@@ -7,6 +7,8 @@
|
||||
// SIZE 0x1f8
|
||||
class Doors : public LegoPathActor {
|
||||
public:
|
||||
Doors() : m_unk0x154(0), m_unk0x15c(0), m_unk0x160(0), m_unk0x1f4(0) {}
|
||||
|
||||
// FUNCTION: LEGO1 0x1000e430
|
||||
inline const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
|
||||
@@ -9,6 +9,8 @@
|
||||
// SIZE 0x0c
|
||||
class HelicopterState : public LegoState {
|
||||
public:
|
||||
HelicopterState() : m_unk0x08(0) {}
|
||||
|
||||
// FUNCTION: LEGO1 0x1000e0d0
|
||||
inline const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
|
||||
@@ -21,6 +21,8 @@ public:
|
||||
e_torpedos
|
||||
};
|
||||
|
||||
JukeBoxState() : m_music(e_pasquell), m_active(FALSE) {}
|
||||
|
||||
// FUNCTION: LEGO1 0x1000f310
|
||||
inline const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
|
||||
@@ -5,10 +5,17 @@
|
||||
#include "legostate.h"
|
||||
#include "legoworld.h"
|
||||
|
||||
class Act2Actor;
|
||||
|
||||
// VTABLE: LEGO1 0x100d4a70
|
||||
// SIZE 0x10
|
||||
class LegoAct2State : public LegoState {
|
||||
public:
|
||||
LegoAct2State()
|
||||
{
|
||||
m_unk0x08 = 0;
|
||||
m_unk0x0c = 0;
|
||||
}
|
||||
~LegoAct2State() override {}
|
||||
|
||||
// FUNCTION: LEGO1 0x1000df80
|
||||
@@ -43,6 +50,7 @@ public:
|
||||
// SIZE 0x1154
|
||||
class LegoAct2 : public LegoWorld {
|
||||
public:
|
||||
LegoAct2();
|
||||
~LegoAct2() override;
|
||||
|
||||
MxLong Notify(MxParam& p_param) override; // vtable+0x04
|
||||
@@ -54,6 +62,7 @@ public:
|
||||
MxBool Escape() override; // vtable+0x64
|
||||
void Enable(MxBool p_enable) override; // vtable+0x68
|
||||
|
||||
inline void SetUnknown0x1138(Act2Actor* p_unk0x1138) { m_unk0x1138 = p_unk0x1138; }
|
||||
inline void SetUnknown0x1150(undefined4 p_unk0x1150) { m_unk0x1150 = p_unk0x1150; }
|
||||
|
||||
// SYNTHETIC: LEGO1 0x1004fe20
|
||||
@@ -78,7 +87,7 @@ private:
|
||||
undefined4 m_unk0x112c; // 0x112c
|
||||
undefined4 m_unk0x1130; // 0x1130
|
||||
undefined4 m_unk0x1134; // 0x1134
|
||||
undefined4 m_unk0x1138; // 0x1138
|
||||
Act2Actor* m_unk0x1138; // 0x1138
|
||||
undefined m_unk0x113c; // 0x113c
|
||||
undefined4 m_unk0x1140; // 0x1140
|
||||
undefined4 m_unk0x1144; // 0x1144
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
// SIZE 0x68
|
||||
class LegoActionControlPresenter : public MxMediaPresenter {
|
||||
public:
|
||||
LegoActionControlPresenter() { m_unk0x50 = Extra::ActionType::e_none; }
|
||||
LegoActionControlPresenter() : m_unk0x50(Extra::ActionType::e_none) {}
|
||||
~LegoActionControlPresenter() override { Destroy(TRUE); } // vtable+0x00
|
||||
|
||||
// FUNCTION: BETA10 0x100a7840
|
||||
|
||||
@@ -62,6 +62,9 @@ protected:
|
||||
};
|
||||
|
||||
// clang-format off
|
||||
// GLOBAL: LEGO1 0x100d5438
|
||||
// LegoAnimActor::`vbtable'
|
||||
|
||||
// TEMPLATE: LEGO1 0x1000da20
|
||||
// vector<LegoAnimActorStruct *,allocator<LegoAnimActorStruct *> >::~vector<LegoAnimActorStruct *,allocator<LegoAnimActorStruct *> >
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
// SIZE 0x50
|
||||
class LegoVehicleBuildState : public LegoState {
|
||||
public:
|
||||
LegoVehicleBuildState(char* p_classType);
|
||||
LegoVehicleBuildState(const char* p_classType);
|
||||
|
||||
// FUNCTION: LEGO1 0x10025ff0
|
||||
inline const char* ClassName() const override // vtable+0x0c
|
||||
@@ -49,6 +49,11 @@ public:
|
||||
MxU8 m_placedPartCount; // 0x4f
|
||||
};
|
||||
|
||||
typedef LegoVehicleBuildState LegoRaceCarBuildState;
|
||||
typedef LegoVehicleBuildState LegoCopterBuildState;
|
||||
typedef LegoVehicleBuildState LegoDuneCarBuildState;
|
||||
typedef LegoVehicleBuildState LegoJetskiBuildState;
|
||||
|
||||
// VTABLE: LEGO1 0x100d6658
|
||||
// SIZE 0x34c
|
||||
class LegoCarBuild : public LegoWorld {
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
X(LegoActorPresenter) \
|
||||
X(LegoWorldPresenter) \
|
||||
X(LegoWorld) \
|
||||
X(LegoAnimPresenter) \
|
||||
X(LegoModelPresenter) \
|
||||
X(LegoTexturePresenter) \
|
||||
X(LegoPhonemePresenter) \
|
||||
X(LegoFlcTexturePresenter) \
|
||||
X(LegoPalettePresenter) \
|
||||
X(LegoPathPresenter) \
|
||||
X(LegoAnimPresenter) \
|
||||
X(LegoLoopingAnimPresenter) \
|
||||
X(LegoLocomotionAnimPresenter) \
|
||||
X(LegoHideAnimPresenter) \
|
||||
@@ -49,6 +49,10 @@
|
||||
X(LegoAct2) \
|
||||
X(LegoAct2State) \
|
||||
X(CarRace) \
|
||||
X(LegoRaceCarBuildState) \
|
||||
X(LegoCopterBuildState) \
|
||||
X(LegoDuneCarBuildState) \
|
||||
X(LegoJetskiBuildState) \
|
||||
X(HospitalState) \
|
||||
X(InfocenterState) \
|
||||
X(PoliceState) \
|
||||
@@ -61,7 +65,7 @@
|
||||
X(PizzaMissionState) \
|
||||
X(Act2Actor) \
|
||||
X(Act2Brick) \
|
||||
/*X(Act2GenActor)*/ \
|
||||
X(Act2GenActor) \
|
||||
X(Act2PoliceStation) \
|
||||
X(Act3) \
|
||||
X(Act3State) \
|
||||
@@ -75,8 +79,8 @@
|
||||
X(AmbulanceMissionState) \
|
||||
X(TowTrack) \
|
||||
X(TowTrackMissionState) \
|
||||
/*X(Act3Cop)*/ \
|
||||
/*X(Act3Brickster)*/ \
|
||||
X(Act3Cop) \
|
||||
X(Act3Brickster) \
|
||||
X(Act3Shark) \
|
||||
X(BumpBouy) \
|
||||
X(Act3Actor) \
|
||||
|
||||
@@ -9,7 +9,7 @@ class Act1State;
|
||||
class SkateBoard;
|
||||
|
||||
// VTABLE: LEGO1 0x100d7408
|
||||
// SIZE 0xb0
|
||||
// SIZE 0xb4
|
||||
class PizzaMissionState : public LegoState {
|
||||
public:
|
||||
// SIZE 0x20
|
||||
@@ -22,6 +22,8 @@ public:
|
||||
undefined m_unk0x18[6]; // 0x1a
|
||||
};
|
||||
|
||||
PizzaMissionState();
|
||||
|
||||
// FUNCTION: LEGO1 0x10039290
|
||||
inline const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
@@ -47,6 +49,7 @@ public:
|
||||
undefined4 m_unk0x08; // 0x08
|
||||
undefined4 m_unk0x0c; // 0x0c
|
||||
Entry m_state[5]; // 0x10
|
||||
undefined4 m_unk0xb0; // 0xb0
|
||||
};
|
||||
|
||||
// VTABLE: LEGO1 0x100d7380
|
||||
|
||||
@@ -12,6 +12,8 @@ class MxEndActionNotificationParam;
|
||||
// SIZE 0x0c
|
||||
class ScoreState : public LegoState {
|
||||
public:
|
||||
ScoreState() : m_playCubeTutorial(TRUE) {}
|
||||
|
||||
// FUNCTION: LEGO1 0x1000de40
|
||||
inline const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user