From ff784fc905bbc8d7d9afaf6059edc9070316a243 Mon Sep 17 00:00:00 2001 From: "alexey.lysiuk" Date: Sun, 13 Jun 2021 10:27:41 +0300 Subject: [PATCH] - fixed parsing of 2D vectors in OBJ model loader There is no `TVector2<>` constructor that accepts a pointer to float. However, there is such constructor in `TVector3<>`, so `TVector2<>` can be constructed from `float*` implicitly via temporary `TVector3<>` object. --- src/common/models/models_obj.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/common/models/models_obj.cpp b/src/common/models/models_obj.cpp index 1fa6d3181f..1af4fab7e8 100644 --- a/src/common/models/models_obj.cpp +++ b/src/common/models/models_obj.cpp @@ -240,13 +240,12 @@ bool FOBJModel::Load(const char* fn, int lumpnum, const char* buffer, int length */ template void FOBJModel::ParseVector(TArray &array) { - float coord[L]; - for (size_t axis = 0; axis < L; axis++) + T vec; + for (unsigned axis = 0; axis < L; axis++) { sc.MustGetFloat(); - coord[axis] = (float)sc.Float; + vec[axis] = (float)sc.Float; } - T vec(coord); array.Push(vec); }