Implement PathActor VTable0x80 and PathActorStruct FUN_1009a140 (#781)

* Implement PathActor VTable0x80 and PathActorStruct FUN_1009a140

* Match functions, fixes

* fixes

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
This commit is contained in:
Nathan M Gilbert
2024-04-07 08:03:21 -04:00
committed by GitHub
parent 17680522c2
commit b394770864
8 changed files with 57 additions and 24 deletions

View File

@@ -144,8 +144,8 @@ public:
inline virtual void ToQuaternion(Vector4& p_resultQuat); // vtable+0x40
inline virtual int FromQuaternion(const Vector4& p_vec); // vtable+0x44
float* operator[](size_t idx) { return m_data[idx]; }
const float* operator[](size_t idx) const { return m_data[idx]; }
float* operator[](int idx) { return m_data[idx]; }
const float* operator[](int idx) const { return m_data[idx]; }
protected:
float (*m_data)[4];

View File

@@ -152,8 +152,8 @@ public:
Vector2::SetVector(&p_other);
return *this;
}
inline float& operator[](size_t idx) { return m_data[idx]; }
inline const float& operator[](size_t idx) const { return m_data[idx]; }
inline float& operator[](int idx) { return m_data[idx]; }
inline const float& operator[](int idx) const { return m_data[idx]; }
protected:
float* m_data; // 0x04
@@ -265,7 +265,7 @@ public:
// FUNCTION: LEGO1 0x10003bd0
float LenSquared() const override
{
return m_data[1] * m_data[1] + m_data[0] * m_data[0] + m_data[2] * m_data[2];
return m_data[0] * m_data[0] + m_data[1] * m_data[1] + m_data[2] * m_data[2];
} // vtable+0x40
inline void Fill(float p_value) { EqualsScalar(&p_value); }