mirror of
https://github.com/isledecomp/isle.git
synced 2025-10-26 18:04:06 +00:00
Implement LegoWorld::Enable (#516)
* WIP VTable0x68 * Improve match * Match * Fix * Fix * Move vars * Match * Add call to Isle * Rename functions * Fix style
This commit is contained in:
committed by
GitHub
parent
a7acf8c607
commit
558bda4dd2
@@ -33,7 +33,7 @@ public:
|
||||
MxBool VTable0x5c() override; // vtable+0x5c
|
||||
void VTable0x60() override; // vtable+0x60
|
||||
MxBool VTable0x64() override; // vtable+0x64
|
||||
void VTable0x68(MxBool p_add) override; // vtable+0x68
|
||||
void Enable(MxBool p_enable) override; // vtable+0x68
|
||||
|
||||
inline void SetUnkown420c(MxEntity* p_entity) { m_unk0x420c = p_entity; }
|
||||
inline void SetUnkown4270(MxU32 p_unk0x4270) { m_unk0x4270 = p_unk0x4270; }
|
||||
|
||||
@@ -34,8 +34,8 @@ public:
|
||||
// FUNCTION: LEGO1 0x10017f10
|
||||
MxBool VTable0x5c() override { return TRUE; } // vtable+0x5c
|
||||
|
||||
MxBool VTable0x64() override; // vtable+0x64
|
||||
void VTable0x68(MxBool p_add) override; // vtable+0x68
|
||||
MxBool VTable0x64() override; // vtable+0x64
|
||||
void Enable(MxBool p_enable) override; // vtable+0x68
|
||||
|
||||
// SYNTHETIC: LEGO1 0x10018040
|
||||
// ElevatorBottom::`scalar deleting destructor'
|
||||
|
||||
@@ -33,7 +33,7 @@ public:
|
||||
void ReadyWorld() override; // vtable+0x50
|
||||
MxBool VTable0x5c() override; // vtable+0x5c
|
||||
MxBool VTable0x64() override; // vtable+0x64
|
||||
void VTable0x68(MxBool p_add) override; // vtable+0x68
|
||||
void Enable(MxBool p_enable) override; // vtable+0x68
|
||||
|
||||
// SYNTHETIC: LEGO1 0x100048a0
|
||||
// GasStation::`scalar deleting destructor'
|
||||
|
||||
@@ -31,7 +31,7 @@ public:
|
||||
void ReadyWorld() override; // vtable+0x50
|
||||
MxBool VTable0x5c() override; // vtable+0x5c
|
||||
MxBool VTable0x64() override; // vtable+0x64
|
||||
void VTable0x68(MxBool p_add) override; // vtable+0x68
|
||||
void Enable(MxBool p_enable) override; // vtable+0x68
|
||||
|
||||
// SYNTHETIC: LEGO1 0x100747d0
|
||||
// Hospital::`scalar deleting destructor'
|
||||
|
||||
@@ -188,7 +188,7 @@ public:
|
||||
void ReadyWorld() override; // vtable+0x50
|
||||
MxBool VTable0x5c() override; // vtable+0x5c
|
||||
MxBool VTable0x64() override; // vtable+0x64
|
||||
void VTable0x68(MxBool p_add) override; // vtable+0x68
|
||||
void Enable(MxBool p_enable) override; // vtable+0x68
|
||||
|
||||
// SYNTHETIC: LEGO1 0x1006ec60
|
||||
// Infocenter::`scalar deleting destructor'
|
||||
|
||||
@@ -33,8 +33,8 @@ public:
|
||||
// FUNCTION: LEGO1 0x100377a0
|
||||
MxBool VTable0x5c() override { return TRUE; } // vtable+0x5c
|
||||
|
||||
MxBool VTable0x64() override; // vtable+0x64
|
||||
void VTable0x68(MxBool p_add) override; // vtable+0x68
|
||||
MxBool VTable0x64() override; // vtable+0x64
|
||||
void Enable(MxBool p_enable) override; // vtable+0x68
|
||||
|
||||
// SYNTHETIC: LEGO1 0x100378d0
|
||||
// InfocenterDoor::`scalar deleting destructor'
|
||||
|
||||
@@ -47,7 +47,7 @@ public:
|
||||
// FUNCTION: LEGO1 0x10033170
|
||||
void VTable0x60() override {} // vtable+60
|
||||
MxBool VTable0x64() override; // vtable+64
|
||||
void VTable0x68(MxBool p_add) override; // vtable+68
|
||||
void Enable(MxBool p_enable) override; // vtable+68
|
||||
virtual void VTable0x6c(IslePathActor* p_actor); // vtable+6c
|
||||
|
||||
inline void SetUnknown13c(MxU32 p_unk0x13c) { m_unk0x13c = p_unk0x13c; }
|
||||
|
||||
@@ -30,7 +30,7 @@ public:
|
||||
void ReadyWorld() override; // vtable+0x50
|
||||
MxBool VTable0x5c() override; // vtable+0x5c
|
||||
MxBool VTable0x64() override; // vtable+0x64
|
||||
void VTable0x68(MxBool p_add) override; // vtable+0x68
|
||||
void Enable(MxBool p_enable) override; // vtable+0x68
|
||||
|
||||
// SYNTHETIC: LEGO1 0x1005d810
|
||||
// JukeBox::`scalar deleting destructor'
|
||||
|
||||
@@ -16,7 +16,7 @@ class LegoAct2 : public LegoWorld {
|
||||
MxBool VTable0x5c() override; // vtable+0x5c
|
||||
void VTable0x60() override; // vtable+0x60
|
||||
MxBool VTable0x64() override; // vtable+0x64
|
||||
void VTable0x68(MxBool p_add) override; // vtable+0x68
|
||||
void Enable(MxBool p_enable) override; // vtable+0x68
|
||||
|
||||
// SYNTHETIC: LEGO1 0x1004fe20
|
||||
// LegoAct2::`scalar deleting destructor'
|
||||
|
||||
@@ -27,9 +27,12 @@ public:
|
||||
return !strcmp(p_name, ClassName()) || MxCore::IsA(p_name);
|
||||
}
|
||||
|
||||
void FUN_1005ee80(MxBool);
|
||||
void FUN_1005ef10();
|
||||
void FUN_1005f0b0();
|
||||
void FUN_1005f6d0(MxBool);
|
||||
void FUN_1005f720(undefined4);
|
||||
void FUN_10061010(undefined4);
|
||||
void FUN_10064670(MxBool);
|
||||
|
||||
static void configureLegoAnimationManager(MxS32 p_legoAnimationManagerConfig);
|
||||
|
||||
@@ -30,7 +30,7 @@ public:
|
||||
void ReadyWorld() override; // vtable+0x50
|
||||
MxBool VTable0x5c() override; // vtable+0x5c
|
||||
MxBool VTable0x64() override; // vtable+0x64
|
||||
void VTable0x68(MxBool p_add) override; // vtable+0x68
|
||||
void Enable(MxBool p_enable) override; // vtable+0x68
|
||||
|
||||
// SYNTHETIC: LEGO1 0x10022a60
|
||||
// LegoCarBuild::`scalar deleting destructor'
|
||||
|
||||
@@ -74,7 +74,7 @@ public:
|
||||
// SYNTHETIC: LEGO1 0x1001f110
|
||||
// LegoEntityListCursor::`scalar deleting destructor'
|
||||
|
||||
// FUNCTION: LEGO1 0x1001f180
|
||||
// TEMPLATE: LEGO1 0x1001f180
|
||||
// MxPtrListCursor<LegoEntity>::~MxPtrListCursor<LegoEntity>
|
||||
|
||||
// SYNTHETIC: LEGO1 0x1001f1d0
|
||||
@@ -83,7 +83,7 @@ public:
|
||||
// SYNTHETIC: LEGO1 0x1001f240
|
||||
// MxPtrListCursor<LegoEntity>::`scalar deleting destructor'
|
||||
|
||||
// FUNCTION: LEGO1 0x1001f2b0
|
||||
// TEMPLATE: LEGO1 0x1001f2b0
|
||||
// MxListCursor<LegoEntity *>::~MxListCursor<LegoEntity *>
|
||||
|
||||
// FUNCTION: LEGO1 0x1001f300
|
||||
|
||||
@@ -47,6 +47,7 @@ public:
|
||||
void SetSomeEnumState(undefined4 p_state);
|
||||
void FUN_1003ceb0();
|
||||
void FUN_10039780(MxU8);
|
||||
void FUN_10039940();
|
||||
|
||||
struct ScoreStruct {
|
||||
void WriteScoreHistory();
|
||||
|
||||
@@ -28,6 +28,7 @@ class MxBackgroundAudioManager;
|
||||
class MxDSFile;
|
||||
class MxTransitionManager;
|
||||
class ViewLODListManager;
|
||||
class ViewManager;
|
||||
|
||||
extern MxAtomId* g_copterScript;
|
||||
extern MxAtomId* g_dunecarScript;
|
||||
@@ -125,7 +126,7 @@ public:
|
||||
LegoUnkSaveDataWriter* GetUnkSaveDataWriter() { return m_saveDataWriter; }
|
||||
|
||||
inline void SetNavController(LegoNavController* p_navController) { m_navController = p_navController; }
|
||||
inline void SetWorld(LegoWorld* p_currentWorld) { m_currentWorld = p_currentWorld; }
|
||||
inline void SetCurrentWorld(LegoWorld* p_currentWorld) { m_currentWorld = p_currentWorld; }
|
||||
inline void SetExit(MxBool p_exit) { m_exit = p_exit; }
|
||||
|
||||
inline void CloseMainWindow() { PostMessageA(m_windowHandle, WM_CLOSE, 0, 0); }
|
||||
@@ -164,14 +165,15 @@ LegoROI* PickROI(MxLong, MxLong);
|
||||
LegoSoundManager* SoundManager();
|
||||
MxTransitionManager* TransitionManager();
|
||||
LegoVideoManager* VideoManager();
|
||||
|
||||
LegoAnimationManager* AnimationManager();
|
||||
LegoNavController* NavController();
|
||||
LegoBuildingManager* BuildingManager();
|
||||
LegoControlManager* ControlManager();
|
||||
IslePathActor* GetCurrentVehicle();
|
||||
IslePathActor* CurrentVehicle();
|
||||
ViewManager* GetViewManager();
|
||||
LegoPlantManager* PlantManager();
|
||||
LegoWorld* GetCurrentWorld();
|
||||
LegoUnkSaveDataWriter* GetUnkSaveDataWriter();
|
||||
LegoWorld* CurrentWorld();
|
||||
LegoUnkSaveDataWriter* UnkSaveDataWriter();
|
||||
GifManager* GetGifManager();
|
||||
void FUN_10015820(MxBool p_disable, MxU16 p_flags);
|
||||
void FUN_10015860(const char*, MxU8);
|
||||
|
||||
@@ -30,6 +30,8 @@ public:
|
||||
|
||||
virtual void VTable0x14(); // vtable+0x14
|
||||
virtual void Destroy(); // vtable+0x18
|
||||
|
||||
void Enable(MxBool p_enable);
|
||||
};
|
||||
|
||||
#endif // LEGOPATHCONTROLLER_H
|
||||
|
||||
@@ -5,6 +5,12 @@
|
||||
#include "mxlist.h"
|
||||
#include "mxtypes.h"
|
||||
|
||||
// VTABLE: LEGO1 0x100d6380
|
||||
// class MxCollection<LegoPathController *>
|
||||
|
||||
// VTABLE: LEGO1 0x100d6398
|
||||
// class MxList<LegoPathController *>
|
||||
|
||||
// VTABLE: LEGO1 0x100d6320
|
||||
// class MxPtrList<LegoPathController>
|
||||
|
||||
@@ -19,16 +25,20 @@ public:
|
||||
{
|
||||
return p_a == p_b ? 0 : p_a < p_b ? -1 : 1;
|
||||
} // vtable+0x14
|
||||
|
||||
// SYNTHETIC: LEGO1 0x1001d3d0
|
||||
// LegoPathControllerList::`scalar deleting destructor'
|
||||
};
|
||||
|
||||
// VTABLE: LEGO1 0x100d6380
|
||||
// class MxCollection<LegoPathController *>
|
||||
// VTABLE: LEGO1 0x100d6578
|
||||
// class MxListCursor<LegoPathController *>
|
||||
|
||||
// VTABLE: LEGO1 0x100d6398
|
||||
// class MxList<LegoPathController *>
|
||||
// VTABLE: LEGO1 0x100d6548
|
||||
// class MxPtrListCursor<LegoPathController>
|
||||
|
||||
// VTABLE: LEGO1 0x100d6560
|
||||
// SIZE 0x10
|
||||
class LegoPathControllerListCursor : public MxPtrListCursor<LegoPathController> {
|
||||
public:
|
||||
LegoPathControllerListCursor(LegoPathControllerList* p_list) : MxPtrListCursor<LegoPathController>(p_list){};
|
||||
};
|
||||
|
||||
// TEMPLATE: LEGO1 0x1001d230
|
||||
// MxCollection<LegoPathController *>::Compare
|
||||
@@ -48,6 +58,9 @@ public:
|
||||
// TEMPLATE: LEGO1 0x1001d3c0
|
||||
// MxPtrList<LegoPathController>::Destroy
|
||||
|
||||
// SYNTHETIC: LEGO1 0x1001d3d0
|
||||
// LegoPathControllerList::`scalar deleting destructor'
|
||||
|
||||
// TEMPLATE: LEGO1 0x1001d440
|
||||
// MxPtrList<LegoPathController>::~MxPtrList<LegoPathController>
|
||||
|
||||
@@ -63,4 +76,22 @@ public:
|
||||
// SYNTHETIC: LEGO1 0x1001d620
|
||||
// LegoPathControllerList::~LegoPathControllerList
|
||||
|
||||
// SYNTHETIC: LEGO1 0x1001f830
|
||||
// LegoPathControllerListCursor::`scalar deleting destructor'
|
||||
|
||||
// TEMPLATE: LEGO1 0x1001f8a0
|
||||
// MxPtrListCursor<LegoPathController>::~MxPtrListCursor<LegoPathController>
|
||||
|
||||
// SYNTHETIC: LEGO1 0x1001f8f0
|
||||
// MxListCursor<LegoPathController *>::`scalar deleting destructor'
|
||||
|
||||
// SYNTHETIC: LEGO1 0x1001f960
|
||||
// MxPtrListCursor<LegoPathController>::`scalar deleting destructor'
|
||||
|
||||
// TEMPLATE: LEGO1 0x1001f9d0
|
||||
// MxListCursor<LegoPathController *>::~MxListCursor<LegoPathController *>
|
||||
|
||||
// FUNCTION: LEGO1 0x1001fa20
|
||||
// LegoPathControllerListCursor::~LegoPathControllerListCursor
|
||||
|
||||
#endif // LEGOPATHCONTROLLERLIST_H
|
||||
|
||||
@@ -86,6 +86,7 @@ public:
|
||||
void OnViewSize(int p_width, int p_height);
|
||||
|
||||
inline LegoEntity* GetEntity() { return m_entity; }
|
||||
inline LegoNavController* GetNavController() { return m_nav; }
|
||||
|
||||
protected:
|
||||
void AffectPointOfView();
|
||||
|
||||
@@ -31,7 +31,7 @@ public:
|
||||
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
|
||||
MxBool VTable0x5c() override; // vtable+0x5c
|
||||
MxBool VTable0x64() override; // vtable+0x64
|
||||
void VTable0x68(MxBool p_add) override; // vtable+0x68
|
||||
void Enable(MxBool p_enable) override; // vtable+0x68
|
||||
virtual undefined4 VTable0x6c(undefined4) = 0; // vtable+0x6c
|
||||
virtual undefined4 VTable0x70(undefined4); // vtable+0x70
|
||||
virtual undefined4 VTable0x74(undefined4); // vtable+0x74
|
||||
|
||||
@@ -61,8 +61,8 @@ public:
|
||||
// FUNCTION: LEGO1 0x100010a0
|
||||
virtual void VTable0x60() {} // vtable+0x60
|
||||
|
||||
virtual MxBool VTable0x64(); // vtable+0x64
|
||||
virtual void VTable0x68(MxBool p_add); // vtable+0x68
|
||||
virtual MxBool VTable0x64(); // vtable+0x64
|
||||
virtual void Enable(MxBool p_enable); // vtable+0x68
|
||||
|
||||
inline LegoCameraController* GetCamera() { return m_cameraController; }
|
||||
inline undefined4 GetUnknown0xec() { return m_unk0xec; }
|
||||
|
||||
@@ -34,7 +34,7 @@ public:
|
||||
void ReadyWorld() override; // vtable+0x50
|
||||
MxBool VTable0x5c() override; // vtable+0x5c
|
||||
MxBool VTable0x64() override; // vtable+0x64
|
||||
void VTable0x68(MxBool p_add) override; // vtable+0x68
|
||||
void Enable(MxBool p_enable) override; // vtable+0x68
|
||||
|
||||
// SYNTHETIC: LEGO1 0x1005e300
|
||||
// Police::`scalar deleting destructor'
|
||||
|
||||
@@ -29,7 +29,7 @@ public:
|
||||
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
|
||||
void ReadyWorld() override; // vtable+0x50
|
||||
MxBool VTable0x64() override; // vtable+0x64
|
||||
void VTable0x68(MxBool p_add) override; // vtable+0x68
|
||||
void Enable(MxBool p_enable) override; // vtable+0x68
|
||||
|
||||
// SYNTHETIC: LEGO1 0x10076f30
|
||||
// RegistrationBook::`scalar deleting destructor'
|
||||
|
||||
@@ -35,7 +35,7 @@ public:
|
||||
void ReadyWorld() override; // vtable+50
|
||||
MxBool VTable0x5c() override; // vtable+5c
|
||||
MxBool VTable0x64() override; // vtable+64
|
||||
void VTable0x68(MxBool p_add) override; // vtable+68
|
||||
void Enable(MxBool p_enable) override; // vtable+68
|
||||
|
||||
void Paint();
|
||||
MxLong FUN_10001510(MxEndActionNotificationParam& p_param);
|
||||
|
||||
Reference in New Issue
Block a user