diff src/rail.h @ 5999:943dea0ea975 draft

(svn r8712) -Codechange/cleanup: replace 'magic' constants with enums, use proper types instead of byte, uint etc., give variables more descriptive names and add some comments.
author rubidium <rubidium@openttd.org>
date Tue, 13 Feb 2007 20:57:02 +0000 (2007-02-13)
parents 2498be7c7e94
children a8303346cd9c
line wrap: on
line diff
--- a/src/rail.h
+++ b/src/rail.h
@@ -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;