mirror of
https://github.com/isledecomp/isle.git
synced 2026-01-28 18:51:16 +00:00
Refactor
This commit is contained in:
parent
3f3bc0e343
commit
7b4bd7cbf6
115
CMakeLists.txt
115
CMakeLists.txt
@ -8,12 +8,26 @@ option(ISLE_USE_DX5 "Build with internal DirectX 5 SDK" ON)
|
||||
|
||||
add_library(lego1 SHARED
|
||||
LEGO1/define.cpp
|
||||
LEGO1/lego/legoomni/src/act1/act1state.cpp
|
||||
LEGO1/lego/legoomni/src/act2/act2brick.cpp
|
||||
LEGO1/lego/legoomni/src/act2/act2policestation.cpp
|
||||
LEGO1/lego/legoomni/src/act2/legoact2state.cpp
|
||||
LEGO1/lego/legoomni/src/act3/act3.cpp
|
||||
LEGO1/lego/legoomni/src/act3/act3shark.cpp
|
||||
LEGO1/lego/legoomni/src/act3/act3state.cpp
|
||||
LEGO1/lego/legoomni/src/audio/legocachesound.cpp
|
||||
LEGO1/lego/legoomni/src/audio/legoloadcachesoundpresenter.cpp
|
||||
LEGO1/lego/legoomni/src/audio/legosoundmanager.cpp
|
||||
LEGO1/lego/legoomni/src/build/buildingentity.cpp
|
||||
LEGO1/lego/legoomni/src/build/dunebuggy.cpp
|
||||
LEGO1/lego/legoomni/src/build/helicopter.cpp
|
||||
LEGO1/lego/legoomni/src/build/helicopterstate.cpp
|
||||
LEGO1/lego/legoomni/src/build/jetski.cpp
|
||||
LEGO1/lego/legoomni/src/build/legobuildingmanager.cpp
|
||||
LEGO1/lego/legoomni/src/build/legocarbuild.cpp
|
||||
LEGO1/lego/legoomni/src/build/legovehiclebuildstate.cpp
|
||||
LEGO1/lego/legoomni/src/build/racecar.cpp
|
||||
LEGO1/lego/legoomni/src/common/animstate.cpp
|
||||
LEGO1/lego/legoomni/src/common/gifmanager.cpp
|
||||
LEGO1/lego/legoomni/src/common/legoactioncontrolpresenter.cpp
|
||||
LEGO1/lego/legoomni/src/common/legobackgroundcolor.cpp
|
||||
@ -37,11 +51,54 @@ add_library(lego1 SHARED
|
||||
LEGO1/lego/legoomni/src/entity/legorace.cpp
|
||||
LEGO1/lego/legoomni/src/entity/legoworld.cpp
|
||||
LEGO1/lego/legoomni/src/entity/legoworldpresenter.cpp
|
||||
LEGO1/lego/legoomni/src/gasstation/gasstation.cpp
|
||||
LEGO1/lego/legoomni/src/gasstation/gasstationentity.cpp
|
||||
LEGO1/lego/legoomni/src/gasstation/gasstationstate.cpp
|
||||
LEGO1/lego/legoomni/src/hospital/ambulance.cpp
|
||||
LEGO1/lego/legoomni/src/hospital/ambulancemissionstate.cpp
|
||||
LEGO1/lego/legoomni/src/hospital/hospital.cpp
|
||||
LEGO1/lego/legoomni/src/hospital/hospitalentity.cpp
|
||||
LEGO1/lego/legoomni/src/hospital/hospitalstate.cpp
|
||||
LEGO1/lego/legoomni/src/infocenter/elevatorbottom.cpp
|
||||
LEGO1/lego/legoomni/src/infocenter/infocenter.cpp
|
||||
LEGO1/lego/legoomni/src/infocenter/infocenterdoor.cpp
|
||||
LEGO1/lego/legoomni/src/infocenter/infocenterentity.cpp
|
||||
LEGO1/lego/legoomni/src/infocenter/infocenterstate.cpp
|
||||
LEGO1/lego/legoomni/src/infocenter/registrationbook.cpp
|
||||
LEGO1/lego/legoomni/src/infocenter/score.cpp
|
||||
LEGO1/lego/legoomni/src/infocenter/scorestate.cpp
|
||||
LEGO1/lego/legoomni/src/input/legoinputmanager.cpp
|
||||
LEGO1/lego/legoomni/src/isle/beachhouseentity.cpp
|
||||
LEGO1/lego/legoomni/src/isle/bike.cpp
|
||||
LEGO1/lego/legoomni/src/isle/bumpbouy.cpp
|
||||
LEGO1/lego/legoomni/src/isle/historybook.cpp
|
||||
LEGO1/lego/legoomni/src/isle/isleactor.cpp
|
||||
LEGO1/lego/legoomni/src/isle/isle.cpp
|
||||
LEGO1/lego/legoomni/src/isle/islepathactor.cpp
|
||||
LEGO1/lego/legoomni/src/isle/jukebox.cpp
|
||||
LEGO1/lego/legoomni/src/isle/jukeboxentity.cpp
|
||||
LEGO1/lego/legoomni/src/isle/jukeboxstate.cpp
|
||||
LEGO1/lego/legoomni/src/isle/motorcycle.cpp
|
||||
LEGO1/lego/legoomni/src/isle/radio.cpp
|
||||
LEGO1/lego/legoomni/src/isle/radiostate.cpp
|
||||
LEGO1/lego/legoomni/src/isle/skateboard.cpp
|
||||
LEGO1/lego/legoomni/src/main/legoomni.cpp
|
||||
LEGO1/lego/legoomni/src/notify/legoeventnotificationparam.cpp
|
||||
LEGO1/lego/legoomni/src/paths/legopathcontroller.cpp
|
||||
LEGO1/lego/legoomni/src/paths/legopathpresenter.cpp
|
||||
LEGO1/lego/legoomni/src/pizzeria/pizza.cpp
|
||||
LEGO1/lego/legoomni/src/pizzeria/pizzamissionstate.cpp
|
||||
LEGO1/lego/legoomni/src/pizzeria/pizzeria.cpp
|
||||
LEGO1/lego/legoomni/src/pizzeria/pizzeriastate.cpp
|
||||
LEGO1/lego/legoomni/src/police/police.cpp
|
||||
LEGO1/lego/legoomni/src/police/policeentity.cpp
|
||||
LEGO1/lego/legoomni/src/police/policestate.cpp
|
||||
LEGO1/lego/legoomni/src/race/carrace.cpp
|
||||
LEGO1/lego/legoomni/src/race/jetskirace.cpp
|
||||
LEGO1/lego/legoomni/src/race/racestandsentity.cpp
|
||||
LEGO1/lego/legoomni/src/race/racestate.cpp
|
||||
LEGO1/lego/legoomni/src/towtrack/towtrack.cpp
|
||||
LEGO1/lego/legoomni/src/towtrack/towtrackmissionstate.cpp
|
||||
LEGO1/lego/legoomni/src/unknown/legounknown100d7c88.cpp
|
||||
LEGO1/lego/legoomni/src/video/legoanimationmanager.cpp
|
||||
LEGO1/lego/legoomni/src/video/legoanimmmpresenter.cpp
|
||||
@ -57,63 +114,6 @@ add_library(lego1 SHARED
|
||||
LEGO1/lego/legoomni/src/video/legophonemepresenter.cpp
|
||||
LEGO1/lego/legoomni/src/video/legotexturepresenter.cpp
|
||||
LEGO1/lego/legoomni/src/video/legovideomanager.cpp
|
||||
LEGO1/lego/scripts/act1/act1state.cpp
|
||||
LEGO1/lego/scripts/act2/act2brick.cpp
|
||||
LEGO1/lego/scripts/act2/act2policestation.cpp
|
||||
LEGO1/lego/scripts/act2/legoact2state.cpp
|
||||
LEGO1/lego/scripts/act3/act3.cpp
|
||||
LEGO1/lego/scripts/act3/act3shark.cpp
|
||||
LEGO1/lego/scripts/act3/act3state.cpp
|
||||
LEGO1/lego/scripts/build/buildingentity.cpp
|
||||
LEGO1/lego/scripts/build/dunebuggy.cpp
|
||||
LEGO1/lego/scripts/build/helicopter.cpp
|
||||
LEGO1/lego/scripts/build/helicopterstate.cpp
|
||||
LEGO1/lego/scripts/build/jetski.cpp
|
||||
LEGO1/lego/scripts/build/racecar.cpp
|
||||
LEGO1/lego/scripts/gasstation/gasstation.cpp
|
||||
LEGO1/lego/scripts/gasstation/gasstationentity.cpp
|
||||
LEGO1/lego/scripts/gasstation/gasstationstate.cpp
|
||||
LEGO1/lego/scripts/hospital/ambulance.cpp
|
||||
LEGO1/lego/scripts/hospital/ambulancemissionstate.cpp
|
||||
LEGO1/lego/scripts/hospital/hospital.cpp
|
||||
LEGO1/lego/scripts/hospital/hospitalentity.cpp
|
||||
LEGO1/lego/scripts/hospital/hospitalstate.cpp
|
||||
LEGO1/lego/scripts/infocenter/elevatorbottom.cpp
|
||||
LEGO1/lego/scripts/infocenter/infocenter.cpp
|
||||
LEGO1/lego/scripts/infocenter/infocenterdoor.cpp
|
||||
LEGO1/lego/scripts/infocenter/infocenterentity.cpp
|
||||
LEGO1/lego/scripts/infocenter/infocenterstate.cpp
|
||||
LEGO1/lego/scripts/infocenter/registrationbook.cpp
|
||||
LEGO1/lego/scripts/infocenter/score.cpp
|
||||
LEGO1/lego/scripts/infocenter/scorestate.cpp
|
||||
LEGO1/lego/scripts/isle/animstate.cpp
|
||||
LEGO1/lego/scripts/isle/beachhouseentity.cpp
|
||||
LEGO1/lego/scripts/isle/bike.cpp
|
||||
LEGO1/lego/scripts/isle/bumpbouy.cpp
|
||||
LEGO1/lego/scripts/isle/historybook.cpp
|
||||
LEGO1/lego/scripts/isle/isleactor.cpp
|
||||
LEGO1/lego/scripts/isle/isle.cpp
|
||||
LEGO1/lego/scripts/isle/islepathactor.cpp
|
||||
LEGO1/lego/scripts/isle/jukebox.cpp
|
||||
LEGO1/lego/scripts/isle/jukeboxentity.cpp
|
||||
LEGO1/lego/scripts/isle/jukeboxstate.cpp
|
||||
LEGO1/lego/scripts/isle/motorcycle.cpp
|
||||
LEGO1/lego/scripts/isle/radio.cpp
|
||||
LEGO1/lego/scripts/isle/radiostate.cpp
|
||||
LEGO1/lego/scripts/isle/skateboard.cpp
|
||||
LEGO1/lego/scripts/pizzeria/pizza.cpp
|
||||
LEGO1/lego/scripts/pizzeria/pizzamissionstate.cpp
|
||||
LEGO1/lego/scripts/pizzeria/pizzeria.cpp
|
||||
LEGO1/lego/scripts/pizzeria/pizzeriastate.cpp
|
||||
LEGO1/lego/scripts/police/police.cpp
|
||||
LEGO1/lego/scripts/police/policeentity.cpp
|
||||
LEGO1/lego/scripts/police/policestate.cpp
|
||||
LEGO1/lego/scripts/race/carrace.cpp
|
||||
LEGO1/lego/scripts/race/jetskirace.cpp
|
||||
LEGO1/lego/scripts/race/racestandsentity.cpp
|
||||
LEGO1/lego/scripts/race/racestate.cpp
|
||||
LEGO1/lego/scripts/towtrack/towtrack.cpp
|
||||
LEGO1/lego/scripts/towtrack/towtrackmissionstate.cpp
|
||||
LEGO1/lego/sources/3dmanager/lego3dmanager.cpp
|
||||
LEGO1/lego/sources/3dmanager/lego3dview.cpp
|
||||
LEGO1/lego/sources/3dmanager/legoview1.cpp
|
||||
@ -224,6 +224,7 @@ add_library(lego1 SHARED
|
||||
LEGO1/viewmanager/viewmanager.cpp
|
||||
LEGO1/viewmanager/viewroi.cpp
|
||||
)
|
||||
|
||||
if (MINGW)
|
||||
target_compile_definitions(lego1 PRIVATE DIRECTINPUT_VERSION=0x0500)
|
||||
endif()
|
||||
|
||||
@ -8,7 +8,6 @@
|
||||
#include "legomodelpresenter.h"
|
||||
#include "legoomni.h"
|
||||
#include "legopartpresenter.h"
|
||||
#include "legoroi.h"
|
||||
#include "legovideomanager.h"
|
||||
#include "legoworldpresenter.h"
|
||||
#include "mxbackgroundaudiomanager.h"
|
||||
|
||||
27
LEGO1/lego/legoomni/include/buildingentity.h
Normal file
27
LEGO1/lego/legoomni/include/buildingentity.h
Normal file
@ -0,0 +1,27 @@
|
||||
#ifndef BUILDINGENTITY_H
|
||||
#define BUILDINGENTITY_H
|
||||
|
||||
#include "legoentity.h"
|
||||
|
||||
// VTABLE: LEGO1 0x100d5c88
|
||||
// SIZE <= 0x68, hard to tell because it's always constructed as a derivative
|
||||
class BuildingEntity : public LegoEntity {
|
||||
public:
|
||||
BuildingEntity();
|
||||
virtual ~BuildingEntity() override; // vtable+0x0
|
||||
|
||||
// FUNCTION: LEGO1 0x10014f20
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// STRING: LEGO1 0x100f07e8
|
||||
return "BuildingEntity";
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x10014f30
|
||||
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(p_name, BuildingEntity::ClassName()) || LegoEntity::IsA(p_name);
|
||||
}
|
||||
};
|
||||
|
||||
#endif // BUILDINGENTITY_H
|
||||
33
LEGO1/lego/legoomni/include/dunebuggy.h
Normal file
33
LEGO1/lego/legoomni/include/dunebuggy.h
Normal file
@ -0,0 +1,33 @@
|
||||
#ifndef DUNEBUGGY_H
|
||||
#define DUNEBUGGY_H
|
||||
|
||||
#include "decomp.h"
|
||||
#include "islepathactor.h"
|
||||
|
||||
// VTABLE: LEGO1 0x100d8f98
|
||||
// SIZE 0x16c
|
||||
class DuneBuggy : public IslePathActor {
|
||||
public:
|
||||
DuneBuggy();
|
||||
|
||||
// FUNCTION: LEGO1 0x10067c30
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// STRING: LEGO1 0x100f0410
|
||||
return "DuneBuggy";
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x10067c40
|
||||
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(p_name, DuneBuggy::ClassName()) || IslePathActor::IsA(p_name);
|
||||
}
|
||||
|
||||
private:
|
||||
// TODO: Double check DuneBuggy field types
|
||||
undefined4 m_unk0x160;
|
||||
MxFloat m_unk0x164;
|
||||
undefined4 m_unk0x168;
|
||||
};
|
||||
|
||||
#endif // DUNEBUGGY_H
|
||||
63
LEGO1/lego/legoomni/include/helicopter.h
Normal file
63
LEGO1/lego/legoomni/include/helicopter.h
Normal file
@ -0,0 +1,63 @@
|
||||
#ifndef HELICOPTER_H
|
||||
#define HELICOPTER_H
|
||||
|
||||
#include "helicopterstate.h"
|
||||
#include "islepathactor.h"
|
||||
#include "realtime/matrix.h"
|
||||
|
||||
// SIZE 0x34
|
||||
class HelicopterSubclass {
|
||||
public:
|
||||
inline HelicopterSubclass() : m_unk0x30(0) {}
|
||||
MxResult FUN_100040a0(Vector4Impl& p_v, float p_f);
|
||||
|
||||
private:
|
||||
Vector4Data m_unk0x0; // 0x0
|
||||
Vector4Data m_unk0x18; // 0x18
|
||||
undefined4 m_unk0x30; // 0x30
|
||||
};
|
||||
|
||||
// VTABLE: LEGO1 0x100d40f8
|
||||
// SIZE 0x230
|
||||
class Helicopter : public IslePathActor {
|
||||
public:
|
||||
Helicopter();
|
||||
virtual ~Helicopter() override; // vtable+0x0
|
||||
|
||||
// FUNCTION: LEGO1 0x10003070
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// STRING: LEGO1 0x100f0130
|
||||
return "Helicopter";
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x10003080
|
||||
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(p_name, Helicopter::ClassName()) || IslePathActor::IsA(p_name);
|
||||
}
|
||||
|
||||
virtual MxResult Create(MxDSObject& p_dsObject) override; // vtable+0x18
|
||||
void VTable0x70(float p_float) override; // vtable+0x70
|
||||
void VTable0x74(Matrix4Impl& p_transform) override; // vtable+0x74
|
||||
virtual MxU32 VTable0xcc() override; // vtable+0xcc
|
||||
virtual MxU32 VTable0xd4(MxType17NotificationParam& p_param) override; // vtable+0xd4
|
||||
virtual MxU32 VTable0xd8(MxType18NotificationParam& p_param) override; // vtable+0xd8
|
||||
virtual void VTable0xe4() override; // vtable+0xe4
|
||||
|
||||
// SYNTHETIC: LEGO1 0x10003210
|
||||
// Helicopter::`scalar deleting destructor'
|
||||
|
||||
protected:
|
||||
Matrix4Data m_unk0x160; // 0x160
|
||||
Matrix4Data m_unk0x1a8; // 0x1a8
|
||||
float m_unk0x1f0; // 0x1f0
|
||||
HelicopterSubclass m_unk0x1f4; // 0x1f4
|
||||
HelicopterState* m_state; // 0x228
|
||||
MxAtomId m_script; // 0x22c
|
||||
|
||||
private:
|
||||
void GetState();
|
||||
};
|
||||
|
||||
#endif // HELICOPTER_H
|
||||
31
LEGO1/lego/legoomni/include/helicopterstate.h
Normal file
31
LEGO1/lego/legoomni/include/helicopterstate.h
Normal file
@ -0,0 +1,31 @@
|
||||
#ifndef HELICOPTERSTATE_H
|
||||
#define HELICOPTERSTATE_H
|
||||
|
||||
#include "decomp.h"
|
||||
#include "legostate.h"
|
||||
|
||||
// VTABLE: LEGO1 0x100d5418
|
||||
// SIZE 0xc
|
||||
class HelicopterState : public LegoState {
|
||||
public:
|
||||
// FUNCTION: LEGO1 0x1000e0d0
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// STRING: LEGO1 0x100f0144
|
||||
return "HelicopterState";
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x1000e0e0
|
||||
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(p_name, HelicopterState::ClassName()) || LegoState::IsA(p_name);
|
||||
}
|
||||
|
||||
inline void SetUnknown8(MxU32 p_unk0x8) { m_unk0x8 = p_unk0x8; }
|
||||
inline MxU32 GetUnkown8() { return m_unk0x8; }
|
||||
|
||||
protected:
|
||||
MxU32 m_unk0x8; // 0x8
|
||||
};
|
||||
|
||||
#endif // HELICOPTERSTATE_H
|
||||
31
LEGO1/lego/legoomni/include/jetski.h
Normal file
31
LEGO1/lego/legoomni/include/jetski.h
Normal file
@ -0,0 +1,31 @@
|
||||
#ifndef JETSKI_H
|
||||
#define JETSKI_H
|
||||
|
||||
#include "decomp.h"
|
||||
#include "islepathactor.h"
|
||||
|
||||
// VTABLE: LEGO1 0x100d9ec8
|
||||
// SIZE 0x164
|
||||
class Jetski : public IslePathActor {
|
||||
public:
|
||||
Jetski();
|
||||
|
||||
// FUNCTION: LEGO1 0x1007e430
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// STRING: LEGO1 0x100f03d8
|
||||
return "Jetski";
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x1007e440
|
||||
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(p_name, Jetski::ClassName()) || IslePathActor::IsA(p_name);
|
||||
}
|
||||
|
||||
private:
|
||||
// TODO: Jetski fields
|
||||
undefined m_unk0x160[4];
|
||||
};
|
||||
|
||||
#endif // JETSKI_H
|
||||
32
LEGO1/lego/legoomni/include/racecar.h
Normal file
32
LEGO1/lego/legoomni/include/racecar.h
Normal file
@ -0,0 +1,32 @@
|
||||
#ifndef RACECAR_H
|
||||
#define RACECAR_H
|
||||
|
||||
#include "decomp.h"
|
||||
#include "islepathactor.h"
|
||||
|
||||
// VTABLE: LEGO1 0x100d6918
|
||||
// SIZE 0x164
|
||||
class RaceCar : public IslePathActor {
|
||||
public:
|
||||
RaceCar();
|
||||
virtual ~RaceCar() override; // vtable+0x0
|
||||
|
||||
// FUNCTION: LEGO1 0x10028270
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// STRING: LEGO1 0x100f03e0
|
||||
return "RaceCar";
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x10028280
|
||||
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(p_name, RaceCar::ClassName()) || IslePathActor::IsA(p_name);
|
||||
}
|
||||
|
||||
private:
|
||||
// TODO: RaceCar fields
|
||||
undefined m_unk0x160[4];
|
||||
};
|
||||
|
||||
#endif // RACECAR_H
|
||||
@ -2,12 +2,12 @@
|
||||
|
||||
#include "infocenterstate.h"
|
||||
#include "legoomni.h"
|
||||
#include "legoroi.h"
|
||||
#include "legostate.h"
|
||||
#include "legostream.h"
|
||||
#include "mxobjectfactory.h"
|
||||
#include "mxstring.h"
|
||||
#include "mxvariabletable.h"
|
||||
#include "roi/legoroi.h"
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user