diff options
| author | Kelly Rauchenberger <fefferburbia@gmail.com> | 2021-03-01 22:19:46 -0500 |
|---|---|---|
| committer | Kelly Rauchenberger <fefferburbia@gmail.com> | 2021-03-01 22:19:46 -0500 |
| commit | 7fa69be4e88f1fcf057871fec7e4503f50578465 (patch) | |
| tree | 70a01aafe4092c29c112f72895494dbfa2033496 /src/direction.h | |
| parent | d8e7d815c197c5477678d835038dc3ff86c2a7e8 (diff) | |
| download | tanetane-7fa69be4e88f1fcf057871fec7e4503f50578465.tar.gz tanetane-7fa69be4e88f1fcf057871fec7e4503f50578465.tar.bz2 tanetane-7fa69be4e88f1fcf057871fec7e4503f50578465.zip | |
Started writing the Mixolydia scene!
Looking pretty good so far. TODO: direction facing functions have inverted Y coordinate. confusion expression doesn't exist yet. rest of scene.
Diffstat (limited to 'src/direction.h')
| -rw-r--r-- | src/direction.h | 17 |
1 files changed, 17 insertions, 0 deletions
| diff --git a/src/direction.h b/src/direction.h index 3dd95f9..595693f 100644 --- a/src/direction.h +++ b/src/direction.h | |||
| @@ -90,4 +90,21 @@ inline Direction directionFacingPoint(vec2i point) { | |||
| 90 | } | 90 | } |
| 91 | } | 91 | } |
| 92 | 92 | ||
| 93 | inline Direction cardinalDirectionFacingPoint(vec2i point) { | ||
| 94 | double theta = atan2(point.y(), point.x()); | ||
| 95 | theta /= M_PI; | ||
| 96 | |||
| 97 | if (theta < -3.0/4.0) { | ||
| 98 | return Direction::left; | ||
| 99 | } else if (theta < -1.0/4.0) { | ||
| 100 | return Direction::down; | ||
| 101 | } else if (theta < 1.0/4.0) { | ||
| 102 | return Direction::right; | ||
| 103 | } else if (theta < 3.0/4.0) { | ||
| 104 | return Direction::up; | ||
| 105 | } else { | ||
| 106 | return Direction::left; | ||
| 107 | } | ||
| 108 | } | ||
| 109 | |||
| 93 | #endif /* end of include guard: DIRECTION_H_AB66A90E */ | 110 | #endif /* end of include guard: DIRECTION_H_AB66A90E */ |
