mirror of
https://github.com/isledecomp/isle.git
synced 2025-12-10 08:03:13 +00:00
Pathactor (#800)
* Implement LegoPathActor::VTable0x8c * Fix paramater name * WIP fixes * more fixes * style * fix * fix * fix --------- Co-authored-by: Christian Semmler <mail@csemmler.com>
This commit is contained in:
@@ -33,9 +33,8 @@ public:
|
||||
return !strcmp(p_name, LegoExtraActor::ClassName()) || LegoAnimActor::IsA(p_name);
|
||||
}
|
||||
|
||||
void SetWorldSpeed(MxFloat p_worldSpeed) override; // vtable+0x30
|
||||
void VTable0x68(Mx3DPointFloat& p_point1, Mx3DPointFloat& p_point2, Mx3DPointFloat& p_point3)
|
||||
override; // vtable+0x68
|
||||
void SetWorldSpeed(MxFloat p_worldSpeed) override; // vtable+0x30
|
||||
MxS32 VTable0x68(Vector3&, Vector3&, Vector3&) override; // vtable+0x68
|
||||
void VTable0x6c() override; // vtable+0x6c
|
||||
void VTable0x70(float) override; // vtable+0x70
|
||||
void VTable0x74(Matrix4& p_transform) override; // vtable+0x74
|
||||
|
||||
@@ -72,6 +72,8 @@ public:
|
||||
);
|
||||
static MxResult UpdateCameraLocation(MxU32 p_location);
|
||||
static MxResult UpdateCameraLocation(const char* p_location);
|
||||
inline void SetLinearVel(MxFloat p_linearVel) { m_linearVel = p_linearVel; }
|
||||
inline MxFloat GetLinearVel() { return m_linearVel; }
|
||||
inline MxFloat GetMaxLinearVel() { return m_maxLinearVel; }
|
||||
inline void ResetLinearVel(MxFloat p_maxLinearVel)
|
||||
{
|
||||
|
||||
@@ -30,11 +30,11 @@ public:
|
||||
return !strcmp(p_name, LegoPathActor::ClassName()) || LegoActor::IsA(p_name);
|
||||
}
|
||||
|
||||
void ParseAction(char* p_extra) override; // vtable+0x20
|
||||
virtual void VTable0x68(Mx3DPointFloat&, Mx3DPointFloat&, Mx3DPointFloat&); // vtable+0x68
|
||||
virtual void VTable0x6c(); // vtable+0x6c
|
||||
virtual void VTable0x70(float p_float); // vtable+0x70
|
||||
virtual void VTable0x74(Matrix4& p_transform); // vtable+0x74
|
||||
void ParseAction(char* p_extra) override; // vtable+0x20
|
||||
virtual MxS32 VTable0x68(Vector3&, Vector3&, Vector3&); // vtable+0x68
|
||||
virtual void VTable0x6c(); // vtable+0x6c
|
||||
virtual void VTable0x70(float p_float); // vtable+0x70
|
||||
virtual void VTable0x74(Matrix4& p_transform); // vtable+0x74
|
||||
|
||||
// FUNCTION: LEGO1 0x10002d20
|
||||
virtual void SetUserNavFlag(MxBool p_userNavFlag) { m_userNavFlag = p_userNavFlag; } // vtable+0x78
|
||||
@@ -63,8 +63,8 @@ public:
|
||||
float p_srcScale,
|
||||
LegoUnknown100db7f4& p_destEdge,
|
||||
float p_destScale
|
||||
); // vtable+0x88
|
||||
virtual void VTable0x8c(); // vtable+0x8c
|
||||
); // vtable+0x88
|
||||
virtual MxS32 VTable0x8c(float p_time, Matrix4& p_transform); // vtable+0x8c
|
||||
|
||||
// FUNCTION: LEGO1 0x10002d40
|
||||
virtual MxU32 VTable0x90(float, Matrix4&) { return FALSE; } // vtable+0x90
|
||||
@@ -118,7 +118,7 @@ public:
|
||||
|
||||
protected:
|
||||
MxFloat m_BADuration; // 0x78
|
||||
undefined4 m_unk0x7c; // 0x7c
|
||||
MxFloat m_unk0x7c; // 0x7c
|
||||
MxFloat m_actorTime; // 0x80
|
||||
MxFloat m_lastTime; // 0x84
|
||||
LegoPathBoundary* m_boundary; // 0x88
|
||||
|
||||
@@ -29,10 +29,12 @@ public:
|
||||
LegoPathBoundary();
|
||||
|
||||
MxResult AddActor(LegoPathActor* p_actor);
|
||||
void FUN_100575b0(Vector3& p_point1, Vector3& p_point2, LegoPathActor* p_actor);
|
||||
MxU32 Intersect(float p_scale, Vector3& p_point1, Vector3& p_point2, Vector3& p_point3, LegoEdge*& p_edge);
|
||||
|
||||
inline LegoAnimPresenterSet* GetUnknown0x64() { return &m_unk0x64; }
|
||||
|
||||
// STUB: LEGO1 0x10047a80
|
||||
// SYNTHETIC: LEGO1 0x10047a80
|
||||
// LegoPathBoundary::`scalar deleting destructor'
|
||||
|
||||
private:
|
||||
|
||||
@@ -27,12 +27,12 @@ public:
|
||||
return !strcmp(p_name, LegoRaceActor::ClassName()) || LegoAnimActor::IsA(p_name);
|
||||
}
|
||||
|
||||
void SetWorldSpeed(MxFloat p_worldSpeed) override; // vtable+0x30
|
||||
void VTable0x68(Mx3DPointFloat&, Mx3DPointFloat&, Mx3DPointFloat&) override; // vtable+0x68
|
||||
void VTable0x70(float p_float) override; // vtable+0x70
|
||||
void VTable0x74(Matrix4& p_transform) override; // vtable+0x74
|
||||
MxU32 VTable0x90(float, Matrix4&) override; // vtable+0x90
|
||||
MxResult VTable0x94(LegoPathActor* p_actor, MxBool p_bool) override; // vtable+0x94
|
||||
void SetWorldSpeed(MxFloat p_worldSpeed) override; // vtable+0x30
|
||||
MxS32 VTable0x68(Vector3&, Vector3&, Vector3&) override; // vtable+0x68
|
||||
void VTable0x70(float p_float) override; // vtable+0x70
|
||||
void VTable0x74(Matrix4& p_transform) override; // vtable+0x74
|
||||
MxU32 VTable0x90(float, Matrix4&) override; // vtable+0x90
|
||||
MxResult VTable0x94(LegoPathActor* p_actor, MxBool p_bool) override; // vtable+0x94
|
||||
|
||||
// FUNCTION: LEGO1 0x10014aa0
|
||||
virtual MxResult FUN_10014aa0() { return SUCCESS; }
|
||||
|
||||
Reference in New Issue
Block a user