diff options
author | Kelly Rauchenberger <fefferburbia@gmail.com> | 2021-03-01 22:21:20 -0500 |
---|---|---|
committer | Kelly Rauchenberger <fefferburbia@gmail.com> | 2021-03-01 22:21:20 -0500 |
commit | 0eba4430608fce20ed8530ebf7790a2fcffae26c (patch) | |
tree | c2a9d9b78af9da9af9b9cc3a518c1c63c73c3308 | |
parent | 7fa69be4e88f1fcf057871fec7e4503f50578465 (diff) | |
download | tanetane-0eba4430608fce20ed8530ebf7790a2fcffae26c.tar.gz tanetane-0eba4430608fce20ed8530ebf7790a2fcffae26c.tar.bz2 tanetane-0eba4430608fce20ed8530ebf7790a2fcffae26c.zip |
Fixed inverted Y coordinate of directionFacingPoint functions
It's because the game's coordinate system has Y increasing downward, whereas the coordinate system used by the trig functions has Y increasing upward.
-rw-r--r-- | src/direction.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/direction.h b/src/direction.h index 595693f..432f7a9 100644 --- a/src/direction.h +++ b/src/direction.h | |||
@@ -66,7 +66,7 @@ inline Direction oppositeDirection(Direction value) { | |||
66 | } | 66 | } |
67 | 67 | ||
68 | inline Direction directionFacingPoint(vec2i point) { | 68 | inline Direction directionFacingPoint(vec2i point) { |
69 | double theta = atan2(point.y(), point.x()); | 69 | double theta = atan2(-point.y(), point.x()); |
70 | theta /= M_PI; | 70 | theta /= M_PI; |
71 | 71 | ||
72 | if (theta < -7.0/8.0) { | 72 | if (theta < -7.0/8.0) { |
@@ -91,7 +91,7 @@ inline Direction directionFacingPoint(vec2i point) { | |||
91 | } | 91 | } |
92 | 92 | ||
93 | inline Direction cardinalDirectionFacingPoint(vec2i point) { | 93 | inline Direction cardinalDirectionFacingPoint(vec2i point) { |
94 | double theta = atan2(point.y(), point.x()); | 94 | double theta = atan2(-point.y(), point.x()); |
95 | theta /= M_PI; | 95 | theta /= M_PI; |
96 | 96 | ||
97 | if (theta < -3.0/4.0) { | 97 | if (theta < -3.0/4.0) { |