From 2005083f2790c81617f1d62ca9c806ac2a5021ed Mon Sep 17 00:00:00 2001 From: Christian Semmler Date: Fri, 3 Jan 2025 11:20:11 -0700 Subject: [PATCH] Refactor --- LEGO1/realtime/matrix4d.h | 3 +++ LEGO1/realtime/vector.h | 56 +++++++++++++++++---------------------- LEGO1/realtime/vector2d.h | 3 +++ 3 files changed, 31 insertions(+), 31 deletions(-) diff --git a/LEGO1/realtime/matrix4d.h b/LEGO1/realtime/matrix4d.h index 506f4e74..2bf22a85 100644 --- a/LEGO1/realtime/matrix4d.h +++ b/LEGO1/realtime/matrix4d.h @@ -3,6 +3,9 @@ #include "matrix.h" +#include +#include + // FUNCTION: LEGO1 0x10002320 // FUNCTION: BETA10 0x1000fcb0 void Matrix4::Equals(float (*p_data)[4]) diff --git a/LEGO1/realtime/vector.h b/LEGO1/realtime/vector.h index 58569d7f..adc880fc 100644 --- a/LEGO1/realtime/vector.h +++ b/LEGO1/realtime/vector.h @@ -3,9 +3,6 @@ #include "compat.h" -#include -#include - // Note: virtual function overloads appear in the virtual table // in reverse order of appearance. @@ -13,11 +10,6 @@ // VTABLE: BETA10 0x101b8440 // SIZE 0x08 class Vector2 { -public: - // FUNCTION: LEGO1 0x1000c0f0 - // FUNCTION: BETA10 0x100116a0 - Vector2(float* p_data) { SetData(p_data); } - protected: inline virtual void AddImpl(const float* p_value); // vtable+0x04 inline virtual void AddImpl(float p_value); // vtable+0x00 @@ -30,6 +22,10 @@ class Vector2 { inline virtual void EqualsImpl(const float* p_data); // vtable+0x20 public: + // FUNCTION: LEGO1 0x1000c0f0 + // FUNCTION: BETA10 0x100116a0 + Vector2(float* p_data) { SetData(p_data); } + inline virtual float* GetData(); // vtable+0x28 inline virtual const float* GetData() const; // vtable+0x24 inline virtual void Clear(); // vtable+0x2c @@ -94,6 +90,17 @@ class Vector2 { // VTABLE: BETA10 0x101b8398 // SIZE 0x08 class Vector3 : public Vector2 { +protected: + inline void AddImpl(const float* p_value) override; // vtable+0x04 + inline void AddImpl(float p_value) override; // vtable+0x00 + inline void SubImpl(const float* p_value) override; // vtable+0x08 + inline void MulImpl(const float* p_value) override; // vtable+0x10 + inline void MulImpl(const float& p_value) override; // vtable+0x0c + inline void DivImpl(const float& p_value) override; // vtable+0x14 + inline float DotImpl(const float* p_a, const float* p_b) const override; // vtable+0x18 + inline void EqualsImpl(const float* p_data) override; // vtable+0x20 + inline virtual void EqualsCrossImpl(const float* p_a, const float* p_b); // vtable+0x74 + public: // FUNCTION: LEGO1 0x1001d150 // FUNCTION: BETA10 0x10011660 @@ -107,18 +114,6 @@ class Vector3 : public Vector2 { // FUNCTION: BETA10 0x100109a0 Vector3(const float* p_data) : Vector2((float*) p_data) {} -protected: - inline void AddImpl(const float* p_value) override; // vtable+0x04 - inline void AddImpl(float p_value) override; // vtable+0x00 - inline void SubImpl(const float* p_value) override; // vtable+0x08 - inline void MulImpl(const float* p_value) override; // vtable+0x10 - inline void MulImpl(const float& p_value) override; // vtable+0x0c - inline void DivImpl(const float& p_value) override; // vtable+0x14 - inline float DotImpl(const float* p_a, const float* p_b) const override; // vtable+0x18 - inline void EqualsImpl(const float* p_data) override; // vtable+0x20 - inline virtual void EqualsCrossImpl(const float* p_a, const float* p_b); // vtable+0x74 - -public: inline void Clear() override; // vtable+0x2c inline float LenSquared() const override; // vtable+0x40 inline virtual void EqualsCross(const Vector3& p_a, const Vector3& p_b); // vtable+0x80 @@ -133,6 +128,16 @@ class Vector3 : public Vector2 { // VTABLE: BETA10 0x101bac38 // SIZE 0x08 class Vector4 : public Vector3 { +protected: + inline void AddImpl(const float* p_value) override; // vtable+0x04 + inline void AddImpl(float p_value) override; // vtable+0x00 + inline void SubImpl(const float* p_value) override; // vtable+0x08 + inline void MulImpl(const float* p_value) override; // vtable+0x10 + inline void MulImpl(const float& p_value) override; // vtable+0x0c + inline void DivImpl(const float& p_value) override; // vtable+0x14 + inline float DotImpl(const float* p_a, const float* p_b) const override; // vtable+0x18 + inline void EqualsImpl(const float* p_data) override; // vtable+0x20 + public: // FUNCTION: BETA10 0x10048780 inline Vector4(float* p_data) : Vector3(p_data) {} @@ -147,17 +152,6 @@ class Vector4 : public Vector3 { // FUNCTION: BETA10 0x100701b0 inline Vector4(const float* p_data) : Vector3((float*) p_data) {} -protected: - inline void AddImpl(const float* p_value) override; // vtable+0x04 - inline void AddImpl(float p_value) override; // vtable+0x00 - inline void SubImpl(const float* p_value) override; // vtable+0x08 - inline void MulImpl(const float* p_value) override; // vtable+0x10 - inline void MulImpl(const float& p_value) override; // vtable+0x0c - inline void DivImpl(const float& p_value) override; // vtable+0x14 - inline float DotImpl(const float* p_a, const float* p_b) const override; // vtable+0x18 - inline void EqualsImpl(const float* p_data) override; // vtable+0x20 - -public: inline void Clear() override; // vtable+0x2c inline float LenSquared() const override; // vtable+0x40 inline void Fill(const float& p_value) override; // vtable+0x84 diff --git a/LEGO1/realtime/vector2d.h b/LEGO1/realtime/vector2d.h index c998f356..d80e767c 100644 --- a/LEGO1/realtime/vector2d.h +++ b/LEGO1/realtime/vector2d.h @@ -4,6 +4,9 @@ #include "vector.h" +#include +#include + // FUNCTION: LEGO1 0x10001f80 void Vector2::AddImpl(const float* p_value) {