diff options
author | rubidium <rubidium@openttd.org> | 2011-02-02 21:56:56 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2011-02-02 21:56:56 +0000 |
commit | 8118f745752b893c5c6088103bb3de53260d12f5 (patch) | |
tree | d77709391559b12b4c1282a60286c1c5cf777c98 | |
parent | 54161949d1f02a39dfe68812acda81b12d6940e8 (diff) | |
download | openttd-8118f745752b893c5c6088103bb3de53260d12f5.tar.xz |
(svn r21943) -Codechange: document and unmagicify some bits of road vehicle overtaking
-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; } } |