From 67d5d6a3df18acbc690862c8f602813f9fd30dbc Mon Sep 17 00:00:00 2001 From: jonschz Date: Sun, 6 Oct 2024 14:31:23 +0200 Subject: [PATCH] Add Matrix4 BETA10 annotations, fix typo --- LEGO1/library_msvc.h | 19 +++++++++++-------- LEGO1/realtime/matrix.h | 15 +++++++++++++++ 2 files changed, 26 insertions(+), 8 deletions(-) diff --git a/LEGO1/library_msvc.h b/LEGO1/library_msvc.h index c5408c4e..b1e8afa6 100644 --- a/LEGO1/library_msvc.h +++ b/LEGO1/library_msvc.h @@ -710,14 +710,17 @@ // LIBRARY: BETA10 0x100fa0e0 // atof -// // LIBRARY: BETA10 0x1005a9c0 -// // fabs -// -// // LIBRARY: BETA10 0x1005a9f0 -// // fabsf -// -// // LIBRARY: BETA10 0x100f9bb0 -// // _fabs +// LIBRARY: BETA10 0x1005a9c0 +// fabs + +// LIBRARY: BETA10 0x1005a9f0 +// fabsf + +// LIBRARY: BETA10 0x100f9bb0 +// _fabs + +// LIBRARY: BETA10 0x100f9570 +// memset // LIBRARY: BETA10 0x100ff82b // __ctrandisp1 diff --git a/LEGO1/realtime/matrix.h b/LEGO1/realtime/matrix.h index 8f9f63fe..729239e2 100644 --- a/LEGO1/realtime/matrix.h +++ b/LEGO1/realtime/matrix.h @@ -25,6 +25,7 @@ class Matrix4 { // in reverse order of appearance. // FUNCTION: LEGO1 0x10002320 + // FUNCTION: BETA10 0x1000fcb0 virtual void Equals(float (*p_data)[4]) { memcpy(m_data, p_data, sizeof(float) * 4 * 4); } // vtable+0x04 // FUNCTION: LEGO1 0x10002340 @@ -35,27 +36,35 @@ class Matrix4 { } // vtable+0x00 // FUNCTION: LEGO1 0x10002360 + // FUNCTION: BETA10 0x1000fd30 virtual void SetData(float (*p_data)[4]) { m_data = p_data; } // vtable+0x0c // FUNCTION: LEGO1 0x10002370 + // FUNCTION: BETA10 0x1000fd60 virtual void SetData(UnknownMatrixType& p_matrix) { m_data = p_matrix.m_data; } // vtable+0x08 // FUNCTION: LEGO1 0x10002380 + // FUNCTION: BETA10 0x1000fd90 virtual float (*GetData())[4] { return m_data; } // vtable+0x14 // FUNCTION: LEGO1 0x10002390 + // FUNCTION: BETA10 0x1000fdc0 virtual float (*GetData() const)[4] { return m_data; } // vtable+0x10 // FUNCTION: LEGO1 0x100023a0 + // FUNCTION: BETA10 0x1000fdf0 virtual float* Element(int p_row, int p_col) { return &m_data[p_row][p_col]; } // vtable+0x1c // FUNCTION: LEGO1 0x100023c0 + // FUNCTION: BETA10 0x1000fe30 virtual const float* Element(int p_row, int p_col) const { return &m_data[p_row][p_col]; } // vtable+0x18 // FUNCTION: LEGO1 0x100023e0 + // FUNCTION: BETA10 0x1000fe70 virtual void Clear() { memset(m_data, 0, 16 * sizeof(float)); } // vtable+0x20 // FUNCTION: LEGO1 0x100023f0 + // FUNCTION: BETA10 0x1000feb0 virtual void SetIdentity() { Clear(); @@ -66,9 +75,11 @@ class Matrix4 { } // vtable+0x24 // FUNCTION: LEGO1 0x10002420 + // FUNCTION: BETA10 0x1000ff20 virtual void operator=(const Matrix4& p_matrix) { Equals(p_matrix); } // vtable+0x28 // FUNCTION: LEGO1 0x10002430 + // FUNCTION: BETA10 0x1000ff50 virtual Matrix4& operator+=(float (*p_data)[4]) { for (int i = 0; i < 16; i++) { @@ -78,6 +89,7 @@ class Matrix4 { } // vtable+0x2c // FUNCTION: LEGO1 0x10002460 + // FUNCTION: BETA10 0x1000ffc0 virtual void TranslateBy(const float& p_x, const float& p_y, const float& p_z) { m_data[3][0] += p_x; @@ -86,6 +98,7 @@ class Matrix4 { } // vtable+0x30 // FUNCTION: LEGO1 0x100024a0 + // FUNCTION: BETA10 0x10010040 virtual void SetTranslation(const float& p_x, const float& p_y, const float& p_z) { m_data[3][0] = p_x; @@ -94,6 +107,7 @@ class Matrix4 { } // vtable+0x34 // FUNCTION: LEGO1 0x100024d0 + // FUNCTION: BETA10 0x100100a0 virtual void Product(float (*p_a)[4], float (*p_b)[4]) { float* cur = (float*) m_data; @@ -109,6 +123,7 @@ class Matrix4 { } // vtable+0x3c // FUNCTION: LEGO1 0x10002530 + // FUNCTION: BETA10 0x10010180 virtual void Product(const Matrix4& p_a, const Matrix4& p_b) { Product(p_a.m_data, p_b.m_data); } // vtable+0x38 inline virtual void ToQuaternion(Vector4& p_resultQuat); // vtable+0x40