Implement/match LegoRaceCar::VTable0x94 (#1068)

* Implement LegoRaceCar::VTable0x94

* Remove redundant inline modifiers

* Fix offsets

* Fix minor inconsistency

* Address review comments

* Address review comments, round 2

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
This commit is contained in:
jonschz
2024-07-26 19:53:09 +02:00
committed by GitHub
parent bc9abdc823
commit 0d385e27d0
8 changed files with 148 additions and 7 deletions

View File

@@ -83,7 +83,10 @@ public:
MxBool GetFlagsIsSet(MxU8 p_flag) { return m_flags & p_flag; }
MxU8 GetFlags() { return m_flags; }
MxFloat GetWorldSpeed() { return m_worldSpeed; }
// FUNCTION: BETA10 0x1000f2f0
LegoROI* GetROI() { return m_roi; }
MxU8 GetType() { return m_type; }
MxBool GetCameraFlag() { return m_cameraFlag; }

View File

@@ -13,6 +13,8 @@ struct LegoPathEdgeContainer;
struct LegoUnknown100db7f4;
class LegoWEEdge;
extern MxLong g_unk0x100f3308;
// VTABLE: LEGO1 0x100d6e28
// SIZE 0x154
class LegoPathActor : public LegoActor {
@@ -124,12 +126,18 @@ public:
virtual void VTable0xc8(MxU8 p_unk0x148) { m_unk0x148 = p_unk0x148; } // vtable+0xc8
LegoPathBoundary* GetBoundary() { return m_boundary; }
// FUNCTION: BETA10 0x1001c860
MxU32 GetState() { return m_state; }
LegoPathController* GetController() { return m_controller; }
MxBool GetCollideBox() { return m_collideBox; }
void SetBoundary(LegoPathBoundary* p_boundary) { m_boundary = p_boundary; }
// FUNCTION: BETA10 0x10013430
void SetState(MxU32 p_state) { m_state = p_state; }
void SetController(LegoPathController* p_controller) { m_controller = p_controller; }
// SYNTHETIC: LEGO1 0x1002d800

View File

@@ -88,11 +88,21 @@ private:
static EdgeReference g_edgeReferences[];
static const SkeletonKickPhase g_skeletonKickPhases[];
static const char* g_strSpeedCopy;
static const char* g_strSpeed;
static const char* g_srtsl18to29[];
static const char* g_srtsl6to10[];
static const char* g_emptySoundKeyList[];
static const char* g_srtrh[];
static const char* g_srt001ra;
static const char* g_soundSkel3;
static MxU32 g_srtsl18to29Index;
static MxU32 g_srtsl6to10Index;
static MxU32 g_emptySoundKeyListIndex;
static MxU32 g_srtrhIndex;
static MxLong g_timeLastSoundPlayed;
static MxS32 g_unk0x100f0b88;
static MxBool g_unk0x100f0b8c;
static Mx3DPointFloat g_unk0x10102af0;
};
#endif // LEGORACERS_H