summaryrefslogtreecommitdiffstats
path: root/src/math/Vector2D.h
diff options
context:
space:
mode:
authorSergeanur <s.anureev@yandex.ua>2020-09-14 19:48:49 +0200
committerSergeanur <s.anureev@yandex.ua>2020-09-14 20:07:31 +0200
commit38ec1bd50de234faf476daa15ea41778a860ca0b (patch)
treefedfb6fcbdd34f2dd576e6e6b1e6b2a76871b5a1 /src/math/Vector2D.h
parentFixes from miami (diff)
downloadre3-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.h10
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) {