From ca487f998b9e133f983984a9936662bf0f34920f Mon Sep 17 00:00:00 2001 From: rubidium Date: Wed, 2 Feb 2011 21:56:56 +0000 Subject: [PATCH] (svn r21943) -Codechange: document and unmagicify some bits of road vehicle overtaking --- src/roadveh.h | 6 ++++-- src/roadveh_cmd.cpp | 5 ++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/roadveh.h b/src/roadveh.h index f1ac009010..bc9453adcd 100644 --- a/src/roadveh.h +++ b/src/roadveh.h @@ -52,6 +52,8 @@ enum RoadVehicleStates { 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 @@ struct RoadVehicle : public GroundVehicle { 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; diff --git a/src/roadveh_cmd.cpp b/src/roadveh_cmd.cpp index 2390a8fbaa..cf33c9c9db 100644 --- a/src/roadveh_cmd.cpp +++ b/src/roadveh_cmd.cpp @@ -775,11 +775,10 @@ static void RoadVehCheckOvertake(RoadVehicle *v, RoadVehicle *u) 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; } }