From b6738a8a49c40fc638394408e8cd4a37b36c5648 Mon Sep 17 00:00:00 2001 From: Jan Date: Tue, 25 Jul 2023 16:31:02 +0200 Subject: Remove Vector3 Constructor (#494) - Packing was enabled because the compiler may add padding which we don't want. - Constructors were removed because they were either rather primitive or broken (the `pRawFloats` one). - Use of constructor was replaced with a simple cast, which works just as well. (cherry picked from commit ddb4670354a5f29e6ebd08f625edb2576de700e6) --- NorthstarDLL/core/math/vector.h | 7 ------- NorthstarDLL/scripts/scriptdatatables.cpp | 4 ++-- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/NorthstarDLL/core/math/vector.h b/NorthstarDLL/core/math/vector.h index 112fabdf..8684908f 100644 --- a/NorthstarDLL/core/math/vector.h +++ b/NorthstarDLL/core/math/vector.h @@ -13,13 +13,6 @@ union Vector3 float raw[3]; - Vector3() : x(0), y(0), z(0) {} - Vector3(float x, float y, float z) : x(x), y(y), z(z) {} - Vector3(float* pRawFloats) // assumes float[3] => vector - { - memcpy(raw, pRawFloats, sizeof(this)); - } - void MakeValid() { for (auto& fl : raw) diff --git a/NorthstarDLL/scripts/scriptdatatables.cpp b/NorthstarDLL/scripts/scriptdatatables.cpp index 8aa52fdb..532624f3 100644 --- a/NorthstarDLL/scripts/scriptdatatables.cpp +++ b/NorthstarDLL/scripts/scriptdatatables.cpp @@ -765,8 +765,8 @@ std::string DataTableToString(Datatable* datatable) case DatatableType::VECTOR: { - Vector3 pVector((float*)pUntypedVal); - sCSVString += fmt::format("<{},{},{}>", pVector.x, pVector.y, pVector.z); + Vector3* pVector = (Vector3*)(pUntypedVal); + sCSVString += fmt::format("<{},{},{}>", pVector->x, pVector->y, pVector->z); break; } -- cgit v1.2.3