src/rail.h
branchcpp_gui
changeset 6253 23983700e3d7
parent 5887 063ca43b682c
child 6268 4b5241e5dd10
--- a/src/rail.h	Wed Feb 14 00:57:15 2007 +0000
+++ b/src/rail.h	Wed Feb 14 10:46:38 2007 +0000
@@ -79,7 +79,7 @@
 	TRACK_BIT_ALL     = TRACK_BIT_CROSS | TRACK_BIT_HORZ  | TRACK_BIT_VERT,
 	TRACK_BIT_MASK    = 0x3FU,
 	TRACK_BIT_WORMHOLE = 0x40U,
-	TRACK_BIT_SPECIAL = 0x80U,
+	TRACK_BIT_DEPOT   = 0x80U,
 	INVALID_TRACK_BIT = 0xFF
 } TrackBits;
 
@@ -106,7 +106,11 @@
 
 
 /** These are a combination of tracks and directions. Values are 0-5 in one
- * direction (corresponding to the Track enum) and 8-13 in the other direction. */
+ * direction (corresponding to the Track enum) and 8-13 in the other direction.
+ * 6, 7, 14 and 15 are used to encode the reversing of road vehicles. Those
+ * reversing track dirs are not considered to be 'valid' except in a small
+ * corner in the road vehicle controller.
+ */
 typedef enum Trackdirs {
 	TRACKDIR_BEGIN    =  0,
 	TRACKDIR_X_NE     =  0,
@@ -115,14 +119,16 @@
 	TRACKDIR_LOWER_E  =  3,
 	TRACKDIR_LEFT_S   =  4,
 	TRACKDIR_RIGHT_S  =  5,
-	/* Note the two missing values here. This enables trackdir -> track
-	 * conversion by doing (trackdir & 7) */
+	TRACKDIR_RVREV_NE =  6,
+	TRACKDIR_RVREV_SE =  7,
 	TRACKDIR_X_SW     =  8,
 	TRACKDIR_Y_NW     =  9,
 	TRACKDIR_UPPER_W  = 10,
 	TRACKDIR_LOWER_W  = 11,
 	TRACKDIR_LEFT_N   = 12,
 	TRACKDIR_RIGHT_N  = 13,
+	TRACKDIR_RVREV_SW = 14,
+	TRACKDIR_RVREV_NW = 15,
 	TRACKDIR_END,
 	INVALID_TRACKDIR  = 0xFF,
 } Trackdir;