summaryrefslogtreecommitdiff
path: root/src/table
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2010-11-20 09:09:57 +0000
committerrubidium <rubidium@openttd.org>2010-11-20 09:09:57 +0000
commit097880c5e221fc3d6f59383e30753ac728c9439f (patch)
treef6b551c4503df8c3407b1c4a0c6e3055d47b204e /src/table
parentf80af8f8c8c2cbb3ce97d801f45959b855d2abdc (diff)
downloadopenttd-097880c5e221fc3d6f59383e30753ac728c9439f.tar.xz
(svn r21263) -Fix [FS#3935]: under some circumstances two vehicles could leave a non-drive through road stop at once
Diffstat (limited to 'src/table')
-rw-r--r--src/table/roadveh_movement.h41
1 files changed, 25 insertions, 16 deletions
diff --git a/src/table/roadveh_movement.h b/src/table/roadveh_movement.h
index e47970f24..5b202b2b5 100644
--- a/src/table/roadveh_movement.h
+++ b/src/table/roadveh_movement.h
@@ -1055,34 +1055,43 @@ static const RoadDriveEntry * const _road_road_drive_data[] = {
_rv_station_left_nw_far,
_rv_station_left_sw_near,
_rv_station_left_nw_near,
- NULL,
- NULL,
- NULL,
- NULL,
+ _rv_station_left_sw_far,
+ _rv_station_left_nw_far,
+ _rv_station_left_sw_near,
+ _rv_station_left_nw_near,
+ _rv_station_left_ne_far,
+ _rv_station_left_se_far,
+ _rv_station_left_ne_near,
+ _rv_station_left_se_near,
_rv_station_left_ne_far,
_rv_station_left_se_far,
_rv_station_left_ne_near,
_rv_station_left_se_near,
- NULL,
- NULL,
- NULL,
- NULL,
_rv_station_right_sw_far,
_rv_station_right_nw_far,
_rv_station_right_sw_near,
_rv_station_right_nw_near,
- NULL,
- NULL,
- NULL,
- NULL,
+ _rv_station_right_sw_far,
+ _rv_station_right_nw_far,
+ _rv_station_right_sw_near,
+ _rv_station_right_nw_near,
_rv_station_right_ne_far,
_rv_station_right_se_far,
_rv_station_right_ne_near,
_rv_station_right_se_near,
- NULL,
- NULL,
- NULL,
- NULL,
+ _rv_station_right_ne_far,
+ _rv_station_right_se_far,
+ _rv_station_right_ne_near,
+ _rv_station_right_se_near,
+};
+
+/** Table of road stop stop frames, when to stop at a road stop. */
+extern const byte _road_stop_stop_frame[] = {
+ /* Duplicated left and right because of "entered stop" bit */
+ 20, 20, 16, 16, 20, 20, 16, 16,
+ 19, 19, 15, 15, 19, 19, 15, 15,
+ 16, 16, 12, 12, 16, 16, 12, 12,
+ 15, 15, 11, 11, 15, 15, 11, 11
};
static const RoadDriveEntry _roadveh_tram_turn_ne_0[] = {