--- 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;