diff options
-rw-r--r-- | src/roadveh.h | 6 | ||||
-rw-r--r-- | src/roadveh_cmd.cpp | 5 |
2 files changed, 6 insertions, 5 deletions
diff --git a/src/roadveh.h b/src/roadveh.h index f1ac00901..bc9453adc 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<RoadVehicle, VEH_ROAD> { 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 2390a8fba..cf33c9c9d 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; } } |