From d1df87ce04f6d79fed94ab154fa098ccc83ebab8 Mon Sep 17 00:00:00 2001 From: Kelly Rauchenberger Date: Sat, 30 Jan 2021 16:15:55 -0500 Subject: Added crouching/running --- src/direction.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/direction.h') diff --git a/src/direction.h b/src/direction.h index 0679a00..ebc0e46 100644 --- a/src/direction.h +++ b/src/direction.h @@ -3,6 +3,7 @@ #include #include +#include "vector.h" enum class Direction { up, @@ -27,4 +28,17 @@ inline Direction directionFromString(std::string_view str) { throw std::invalid_argument("Invalid direction: " + std::string(str)); } +inline vec2i unitVecInDirection(Direction dir) { + switch (dir) { + case Direction::up: return { 0, -1 }; + case Direction::up_right: return { 1, -1 }; + case Direction::right: return { 1, 0 }; + case Direction::down_right: return { 1, 1 }; + case Direction::down: return { 0, 1 }; + case Direction::down_left: return { -1, 1 }; + case Direction::left: return { -1, 0 }; + case Direction::up_left: return { -1, -1 }; + } +} + #endif /* end of include guard: DIRECTION_H_AB66A90E */ -- cgit 1.4.1