Changeset - r9611:de505ccf73e0
[Not reviewed]
master
0 1 0
rubidium - 16 years ago 2008-06-30 15:13:40
rubidium@openttd.org
(svn r13664) -Fix [FS#2117]: bus/truck forgetting go-to-depot order when entering a non-drivethrough road stop.
1 file changed with 5 insertions and 11 deletions:
0 comments (0 inline, 0 general)
src/roadveh_cmd.cpp
Show inline comments
 
@@ -1719,7 +1719,7 @@ again:
 
			v->u.road.frame == RVC_DRIVE_THROUGH_STOP_FRAME))) {
 

	
 
		RoadStop *rs = GetRoadStopByTile(v->tile, GetRoadStopType(v->tile));
 
		Station* st = GetStationByTile(v->tile);
 
		Station *st = GetStationByTile(v->tile);
 

	
 
		/* Vehicle is at the stop position (at a bay) in a road stop.
 
		 * Note, if vehicle is loading/unloading it has already been handled,
 
@@ -1754,19 +1754,13 @@ again:
 

	
 
			v->last_station_visited = st->index;
 

	
 
			if (IsDriveThroughStopTile(v->tile) || v->current_order.GetDestination() == st->index) {
 
			if (IsDriveThroughStopTile(v->tile) || (v->current_order.IsType(OT_GOTO_STATION) && v->current_order.GetDestination() == st->index)) {
 
				RoadVehArrivesAt(v, st);
 
				v->BeginLoading();
 
			} else {
 
				v->current_order.MakeLeaveStation();
 
				InvalidateVehicleOrder(v);
 
				return false;
 
			}
 

	
 
			return false;
 
		}
 

	
 
		/* Vehicle is ready to leave a bay in a road stop */
 
		if (!v->current_order.IsType(OT_GOTO_DEPOT)) {
 
		} else {
 
			/* Vehicle is ready to leave a bay in a road stop */
 
			if (rs->IsEntranceBusy()) {
 
				/* Road stop entrance is busy, so wait as there is nowhere else to go */
 
				v->cur_speed = 0;
0 comments (0 inline, 0 general)