changeset 3482:901206dd8f9c draft

(svn r4331) Replace some direction calculation magic with DiagDirection to make a bit more clear what's going on
author tron <tron@openttd.org>
date Sun, 09 Apr 2006 08:25:43 +0000
parents 04f480486974
children 67144af97951
files station_cmd.c
diffstat 1 files changed, 3 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/station_cmd.c
+++ b/station_cmd.c
@@ -2143,15 +2143,14 @@
 				if (!(_patches.new_nonstop && v->current_order.flags & OF_NON_STOP) &&
 						v->current_order.type != OT_LEAVESTATION &&
 						v->last_station_visited != station_id) {
-					byte dir;
+					DiagDirection dir = DirToDiagDir(v->direction);
 
 					x &= 0xF;
 					y &= 0xF;
 
-					dir = v->direction & 6;
-					if (dir & 2) intswap(x,y);
+					if (DiagDirToAxis(dir) != AXIS_X) intswap(x, y);
 					if (y == 8) {
-						if (dir != 2 && dir != 4) x = ~x & 0xF;
+						if (dir != DIAGDIR_SE && dir != DIAGDIR_SW) x = ~x & 0xF;
 						if (x == 12) return 2 | (station_id << 8); /* enter station */
 						if (x < 12) {
 							uint16 spd;