Mercurial > hg > openttd
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; } }