diff options
author | Sergeanur <s.anureev@yandex.ua> | 2020-09-14 19:48:49 +0200 |
---|---|---|
committer | Sergeanur <s.anureev@yandex.ua> | 2020-09-14 20:07:31 +0200 |
commit | 38ec1bd50de234faf476daa15ea41778a860ca0b (patch) | |
tree | fedfb6fcbdd34f2dd576e6e6b1e6b2a76871b5a1 /src/math/Vector2D.h | |
parent | Fixes from miami (diff) | |
download | re3-38ec1bd50de234faf476daa15ea41778a860ca0b.tar re3-38ec1bd50de234faf476daa15ea41778a860ca0b.tar.gz re3-38ec1bd50de234faf476daa15ea41778a860ca0b.tar.bz2 re3-38ec1bd50de234faf476daa15ea41778a860ca0b.tar.lz re3-38ec1bd50de234faf476daa15ea41778a860ca0b.tar.xz re3-38ec1bd50de234faf476daa15ea41778a860ca0b.tar.zst re3-38ec1bd50de234faf476daa15ea41778a860ca0b.zip |
Diffstat (limited to 'src/math/Vector2D.h')
-rw-r--r-- | src/math/Vector2D.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/math/Vector2D.h b/src/math/Vector2D.h index 0885a5d2..0235dbe5 100644 --- a/src/math/Vector2D.h +++ b/src/math/Vector2D.h @@ -11,7 +11,13 @@ public: float Magnitude(void) const { return Sqrt(x*x + y*y); } float MagnitudeSqr(void) const { return x*x + y*y; } - void Normalise(void); + void Normalise(void) { + float sq = MagnitudeSqr(); + // assert(sq != 0.0f); // just be safe here + float invsqrt = RecipSqrt(sq); + x *= invsqrt; + y *= invsqrt; + } void NormaliseSafe(void) { float sq = MagnitudeSqr(); @@ -20,7 +26,7 @@ public: x *= invsqrt; y *= invsqrt; }else - y = 1.0f; + x = 1.0f; } const CVector2D &operator+=(CVector2D const &right) { |