Implement/match Ambulance::Notify (#998)

This commit is contained in:
Christian Semmler
2024-06-06 12:19:43 -04:00
committed by GitHub
parent 9a9bccda0e
commit ca17928fc6
20 changed files with 131 additions and 86 deletions

View File

@@ -4,6 +4,8 @@
#include "islepathactor.h"
#include "legostate.h"
class MxEndActionNotificationParam;
// VTABLE: LEGO1 0x100d72a0
// SIZE 0x24
class AmbulanceMissionState : public LegoState {
@@ -83,13 +85,15 @@ public:
return !strcmp(p_name, Ambulance::ClassName()) || IslePathActor::IsA(p_name);
}
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
void Destroy(MxBool p_fromDestructor) override; // vtable+0x1c
void VTable0x70(float p_float) override; // vtable+0x70
MxU32 HandleClick() override; // vtable+0xcc
MxU32 HandleControl(LegoControlManagerEvent& p_param) override; // vtable+0xd4
MxU32 VTable0xdc(MxType19NotificationParam&) override; // vtable+0xdc
void Exit() override; // vtable+0xe4
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
void Destroy(MxBool p_fromDestructor) override; // vtable+0x1c
void VTable0x70(float p_float) override; // vtable+0x70
MxLong HandleClick() override; // vtable+0xcc
MxLong HandleControl(LegoControlManagerEvent& p_param) override; // vtable+0xd4
MxLong HandleNotification19(MxType19NotificationParam& p_param) override; // vtable+0xdc
void Exit() override; // vtable+0xe4
virtual MxLong HandleButtonDown(LegoControlManagerEvent& p_param); // vtable+0xf0
virtual MxLong HandleEndAction(MxEndActionNotificationParam& p_param); // vtable+0xf4
void CreateState();
void FUN_10036e60();

View File

@@ -23,10 +23,10 @@ public:
return !strcmp(p_name, Bike::ClassName()) || IslePathActor::IsA(p_name);
}
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
MxU32 HandleClick() override; // vtable+0xcc
MxU32 HandleControl(LegoControlManagerEvent& p_param) override; // vtable+0xd4
void Exit() override; // vtable+0xe4
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
MxLong HandleClick() override; // vtable+0xcc
MxLong HandleControl(LegoControlManagerEvent& p_param) override; // vtable+0xd4
void Exit() override; // vtable+0xe4
void FUN_10076b60();

View File

@@ -23,12 +23,12 @@ public:
return !strcmp(p_name, DuneBuggy::ClassName()) || IslePathActor::IsA(p_name);
}
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
void VTable0x70(float p_float) override; // vtable+0x70
MxU32 HandleClick() override; // vtable+0xcc
MxU32 HandleControl(LegoControlManagerEvent& p_param) override; // vtable+0xd4
MxU32 VTable0xdc(MxType19NotificationParam& p_param) override; // vtable+0xdc
void Exit() override; // vtable+0xe4
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
void VTable0x70(float p_float) override; // vtable+0x70
MxLong HandleClick() override; // vtable+0xcc
MxLong HandleControl(LegoControlManagerEvent& p_param) override; // vtable+0xd4
MxLong HandleNotification19(MxType19NotificationParam& p_param) override; // vtable+0xdc
void Exit() override; // vtable+0xe4
void FUN_10068350();

View File

@@ -63,13 +63,13 @@ public:
return !strcmp(p_name, Helicopter::ClassName()) || IslePathActor::IsA(p_name);
}
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
void VTable0x70(float p_float) override; // vtable+0x70
void VTable0x74(Matrix4& p_transform) override; // vtable+0x74
MxU32 HandleClick() override; // vtable+0xcc
MxU32 HandleControl(LegoControlManagerEvent& p_param) override; // vtable+0xd4
MxU32 VTable0xd8(LegoEndAnimNotificationParam& p_param) override; // vtable+0xd8
void Exit() override; // vtable+0xe4
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
void VTable0x70(float p_float) override; // vtable+0x70
void VTable0x74(Matrix4& p_transform) override; // vtable+0x74
MxLong HandleClick() override; // vtable+0xcc
MxLong HandleControl(LegoControlManagerEvent& p_param) override; // vtable+0xd4
MxLong HandleEndAnim(LegoEndAnimNotificationParam& p_param) override; // vtable+0xd8
void Exit() override; // vtable+0xe4
// SYNTHETIC: LEGO1 0x10003210
// Helicopter::`scalar deleting destructor'

View File

@@ -107,19 +107,19 @@ public:
void Destroy(MxBool p_fromDestructor) override; // vtable+0x1c
// FUNCTION: LEGO1 0x10002e70
virtual MxU32 HandleClick() { return 0; } // vtable+0xcc
virtual MxLong HandleClick() { return 0; } // vtable+0xcc
// FUNCTION: LEGO1 0x10002df0
virtual MxU32 VTable0xd0() { return 0; } // vtable+0xd0
virtual MxLong HandleNotification0() { return 0; } // vtable+0xd0
// FUNCTION: LEGO1 0x10002e80
virtual MxU32 HandleControl(LegoControlManagerEvent&) { return 0; } // vtable+0xd4
virtual MxLong HandleControl(LegoControlManagerEvent&) { return 0; } // vtable+0xd4
// FUNCTION: LEGO1 0x10002e90
virtual MxU32 VTable0xd8(LegoEndAnimNotificationParam&) { return 0; } // vtable+0xd8
virtual MxLong HandleEndAnim(LegoEndAnimNotificationParam&) { return 0; } // vtable+0xd8
// FUNCTION: LEGO1 0x10002e00
virtual MxU32 VTable0xdc(MxType19NotificationParam&) { return 0; } // vtable+0xdc
virtual MxLong HandleNotification19(MxType19NotificationParam&) { return 0; } // vtable+0xdc
virtual void Enter(); // vtable+0xe0
virtual void Exit(); // vtable+0xe4

View File

@@ -25,11 +25,11 @@ public:
return !strcmp(p_name, Jetski::ClassName()) || IslePathActor::IsA(p_name);
}
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
void VTable0x70(float p_float) override; // vtable+0x70
MxU32 HandleClick() override; // vtable+0xcc
MxU32 HandleControl(LegoControlManagerEvent&) override; // vtable+0xd4
void Exit() override; // vtable+0xe4
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
void VTable0x70(float p_float) override; // vtable+0x70
MxLong HandleClick() override; // vtable+0xcc
MxLong HandleControl(LegoControlManagerEvent&) override; // vtable+0xd4
void Exit() override; // vtable+0xe4
void FUN_1007e990();

View File

@@ -23,12 +23,12 @@ public:
return !strcmp(p_name, Motocycle::ClassName()) || IslePathActor::IsA(p_name);
}
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
void VTable0x70(float p_float) override; // vtable+0x70
MxU32 HandleClick() override; // vtable+0xcc
MxU32 HandleControl(LegoControlManagerEvent& p_param) override; // vtable+0xd4
MxU32 VTable0xdc(MxType19NotificationParam&) override; // vtable+0xdc
void Exit() override; // vtable+0xe4
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
void VTable0x70(float p_float) override; // vtable+0x70
MxLong HandleClick() override; // vtable+0xcc
MxLong HandleControl(LegoControlManagerEvent& p_param) override; // vtable+0xd4
MxLong HandleNotification19(MxType19NotificationParam&) override; // vtable+0xdc
void Exit() override; // vtable+0xe4
void FUN_10035e10();

View File

@@ -25,7 +25,7 @@ public:
}
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
MxU32 HandleClick() override; // vtable+0xcc
MxLong HandleClick() override; // vtable+0xcc
// SYNTHETIC: LEGO1 0x10028400
// RaceCar::`scalar deleting destructor'

View File

@@ -26,11 +26,11 @@ public:
return !strcmp(p_name, SkateBoard::ClassName()) || IslePathActor::IsA(p_name);
}
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
MxU32 HandleClick() override; // vtable+0xcc
MxU32 VTable0xd0() override; // vtable+0xd0
MxU32 HandleControl(LegoControlManagerEvent& p_param) override; // vtable+0xd4
void Exit() override; // vtable+0xe4
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
MxLong HandleClick() override; // vtable+0xcc
MxLong HandleNotification0() override; // vtable+0xd0
MxLong HandleControl(LegoControlManagerEvent& p_param) override; // vtable+0xd4
void Exit() override; // vtable+0xe4
inline void SetUnknown0x160(MxBool p_unk0x160) { m_unk0x160 = p_unk0x160; }

View File

@@ -81,14 +81,14 @@ public:
return !strcmp(p_name, TowTrack::ClassName()) || IslePathActor::IsA(p_name);
}
MxLong Notify(MxParam& p_param) override; // vtable+0x04
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
void VTable0x70(float p_float) override; // vtable+0x70
MxU32 HandleClick() override; // vtable+0xcc
MxU32 HandleControl(LegoControlManagerEvent& p_param) override; // vtable+0xd4
MxU32 VTable0xd8(LegoEndAnimNotificationParam& p_param) override; // vtable+0xd8
MxU32 VTable0xdc(MxType19NotificationParam& p_param) override; // vtable+0xdc
void Exit() override; // vtable+0xe4
MxLong Notify(MxParam& p_param) override; // vtable+0x04
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
void VTable0x70(float p_float) override; // vtable+0x70
MxLong HandleClick() override; // vtable+0xcc
MxLong HandleControl(LegoControlManagerEvent& p_param) override; // vtable+0xd4
MxLong HandleEndAnim(LegoEndAnimNotificationParam& p_param) override; // vtable+0xd8
MxLong HandleNotification19(MxType19NotificationParam& p_param) override; // vtable+0xdc
void Exit() override; // vtable+0xe4
void CreateState();
void FUN_1004dab0();