Implement/match the rest of LegoRaceCar, BETA10 improvements (#1069)

* Implement/match the rest of `LegoRaceCar`

* Add BETA10 annotations and improvements

* Undo incorrect change

* Add synthetic vbase destructors

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
This commit is contained in:
jonschz
2024-07-27 18:24:36 +02:00
committed by GitHub
parent 0d385e27d0
commit f436b9365b
7 changed files with 126 additions and 50 deletions

View File

@@ -60,6 +60,9 @@ public:
virtual void VTable0x1c(); // vtable+0x1c
// SYNTHETIC: LEGO1 0x10012c30
// LegoCarRaceActor::`vbase destructor'
// SYNTHETIC: LEGO1 0x10081620
// LegoCarRaceActor::`scalar deleting destructor'

View File

@@ -62,6 +62,7 @@ public:
virtual void ResetWorldTransform(MxBool p_cameraFlag); // vtable+0x2c
// FUNCTION: LEGO1 0x10001090
// FUNCTION: BETA10 0x10013260
virtual void SetWorldSpeed(MxFloat p_worldSpeed) { m_worldSpeed = p_worldSpeed; } // vtable+0x30
virtual void ClickSound(MxBool p_und); // vtable+0x34

View File

@@ -33,6 +33,9 @@ public:
// FUNCTION: LEGO1 0x10014aa0
virtual MxResult FUN_10014aa0() { return SUCCESS; }
// SYNTHETIC: LEGO1 0x10012c10
// LegoRaceActor::`vbase destructor'
// SYNTHETIC: LEGO1 0x10014ac0
// LegoRaceActor::`scalar deleting destructor'

View File

@@ -21,6 +21,9 @@ public:
// LegoRaceMap vtable
virtual void FUN_1005d4b0(); // vtable+0x00
// SYNTHETIC: LEGO1 0x10012c50
// LegoRaceMap::`vbase destructor'
// SYNTHETIC: LEGO1 0x1005d5d0
// LegoRaceMap::`scalar deleting destructor'

View File

@@ -11,8 +11,9 @@
// SIZE 0x08
struct EdgeReference {
const char* m_name; // 0x00
LegoPathBoundary* m_data; // 0x04
const char* m_name; // 0x00
// name verified by BETA10 0x100cbee6
LegoPathBoundary* m_b; // 0x04
};
// SIZE 0x10
@@ -78,15 +79,23 @@ public:
// LegoRaceCar::`scalar deleting destructor'
private:
undefined m_userState; // 0x54
float m_unk0x58; // 0x58
Mx3DPointFloat m_unk0x5c; // 0x5c
LegoAnimActorStruct* m_unk0x70; // 0x70
LegoAnimActorStruct* m_unk0x74; // 0x74
LegoPathBoundary* m_unk0x78; // 0x78
LegoPathBoundary* m_unk0x7c; // 0x7c
undefined m_userState; // 0x54
float m_unk0x58; // 0x58
Mx3DPointFloat m_unk0x5c; // 0x5c
// Names verified by BETA10 0x100cb4a9
LegoAnimActorStruct* m_skelKick1Anim; // 0x70
LegoAnimActorStruct* m_skelKick2Anim; // 0x74
// Name verified by BETA10 0x100cb4f0
LegoPathBoundary* m_kick1B; // 0x78
// Name verified by BETA10 0x100cb537
LegoPathBoundary* m_kick2B; // 0x7c
// name verified by BETA10 0x100cbee6
static EdgeReference g_skBMap[];
static EdgeReference g_edgeReferences[];
static const SkeletonKickPhase g_skeletonKickPhases[];
static const char* g_strSpeed;
static const char* g_srtsl18to29[];