changeset 17204:f2692c13316e draft

(svn r21943) -Codechange: document and unmagicify some bits of road vehicle overtaking
author rubidium <rubidium@openttd.org>
date Wed, 02 Feb 2011 21:56:56 +0000
parents 87db8141d855
children 77972dc48409
files src/roadveh.h src/roadveh_cmd.cpp
diffstat 2 files changed, 6 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/roadveh.h
+++ b/src/roadveh.h
@@ -52,6 +52,8 @@
 	RVSB_IN_DT_ROAD_STOP         = 1 << RVS_IN_DT_ROAD_STOP,  ///< The vehicle is in a drive-through road stop
 	RVSB_IN_DT_ROAD_STOP_END     = RVSB_IN_DT_ROAD_STOP + TRACKDIR_END,
 
+	RVSB_DRIVE_SIDE              = 1 << RVS_DRIVE_SIDE,       ///< The vehicle is at the opposite side of the road
+
 	RVSB_TRACKDIR_MASK           = 0x0F,                      ///< The mask used to extract track dirs
 	RVSB_ROAD_STOP_TRACKDIR_MASK = 0x09                       ///< Only bits 0 and 3 are used to encode the trackdir for road stops
 };
@@ -83,8 +85,8 @@
 	byte state;             ///< @see RoadVehicleStates
 	byte frame;
 	uint16 blocked_ctr;
-	byte overtaking;
-	byte overtaking_ctr;
+	byte overtaking;        ///< Set to #RVSB_DRIVE_SIDE when overtaking, otherwise 0.
+	byte overtaking_ctr;    ///< The length of the current overtake attempt.
 	uint16 crashed_ctr;
 	byte reverse_ctr;
 
--- a/src/roadveh_cmd.cpp
+++ b/src/roadveh_cmd.cpp
@@ -775,11 +775,10 @@
 
 	if (od.u->cur_speed == 0 || (od.u->vehstatus & VS_STOPPED)) {
 		v->overtaking_ctr = 0x11;
-		v->overtaking = 0x10;
+		v->overtaking = RVSB_DRIVE_SIDE;
 	} else {
-//		if (CheckRoadBlockedForOvertaking(&od)) return;
 		v->overtaking_ctr = 0;
-		v->overtaking = 0x10;
+		v->overtaking = RVSB_DRIVE_SIDE;
 	}
 }