From 9320c9c453d7dbe8868a85ebd4cfe8e4f48b126b Mon Sep 17 00:00:00 2001 From: Aaron Dean <8dino2@gmail.com> Date: Thu, 7 Sep 2023 13:13:47 -0400 Subject: [PATCH] Converted VectorNormalize to float --- actionlite/q_std.cpp | 21 +++++++++++++++++++++ actionlite/q_std.h | 3 ++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/actionlite/q_std.cpp b/actionlite/q_std.cpp index 87c959f..f7ff083 100644 --- a/actionlite/q_std.cpp +++ b/actionlite/q_std.cpp @@ -117,6 +117,27 @@ skipwhite: return buffer; } +// Action Add +float VectorNormalize (vec3_t v) +{ + float length, ilength; + + length = v[0]*v[0] + v[1]*v[1] + v[2]*v[2]; + + if (length) + { + length = sqrtf(length); // FIXME + ilength = 1/length; + v[0] *= ilength; + v[1] *= ilength; + v[2] *= ilength; + } + + return length; + +} +// Action Add end + /* ============================================================================ diff --git a/actionlite/q_std.h b/actionlite/q_std.h index 02e94cb..48fcb05 100644 --- a/actionlite/q_std.h +++ b/actionlite/q_std.h @@ -220,7 +220,8 @@ size_t Q_strlcat(char* dst, const char* src, size_t siz); //====================================================================== //void AddPointToBounds (const vec3_t v, vec3_t mins, vec3_t maxs); -vec3_t VectorNormalize (vec3_t v); // returns vector length + +float VectorNormalize (vec3_t v); // returns vector length vec3_t VectorNormalize2 (const vec3_t v, vec3_t out); int Q_log2 (int val);