diff options
author | tron <tron@openttd.org> | 2006-03-08 08:51:26 +0000 |
---|---|---|
committer | tron <tron@openttd.org> | 2006-03-08 08:51:26 +0000 |
commit | e68120034c6e3643b82beb6067a557dfd4fbf936 (patch) | |
tree | 373ad01229ea76ada9a18a5e9ccc6dab76345804 /direction.h | |
parent | af69dba514a8c59866c3c5974dc41be3af2cab68 (diff) | |
download | openttd-e68120034c6e3643b82beb6067a557dfd4fbf936.tar.xz |
(svn r3789) Add an enum and function to handle DiagDirection changes
Diffstat (limited to 'direction.h')
-rw-r--r-- | direction.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/direction.h b/direction.h index 49a2b6340..8f29bdd6c 100644 --- a/direction.h +++ b/direction.h @@ -65,6 +65,19 @@ static inline DiagDirection ReverseDiagDir(DiagDirection d) } +typedef enum DiagDirDiff { + DIAGDIRDIFF_SAME = 0, + DIAGDIRDIFF_90RIGHT = 1, + DIAGDIRDIFF_REVERSE = 2, + DIAGDIRDIFF_90LEFT = 3 +} DiagDirDiff; + +static inline DiagDirection ChangeDiagDir(DiagDirection d, DiagDirDiff delta) +{ + return (DiagDirection)((d + delta) % 4); +} + + static inline DiagDirection DirToDiagDir(Direction dir) { return (DiagDirection)(dir >> 1); |