Changeset - r8011:3a8a30ed6b53
[Not reviewed]
master
0 1 0
rubidium - 17 years ago 2007-12-04 21:53:09
rubidium@openttd.org
(svn r11571) -Fix [FS#1493]: road vehicle getting to the wrong side of a station when trying to overtake in there.
1 file changed with 5 insertions and 1 deletions:
0 comments (0 inline, 0 general)
src/roadveh_cmd.cpp
Show inline comments
 
@@ -1491,13 +1491,17 @@ static bool IndividualRoadVehicleControl
 
	uint32 r;
 

	
 
	if (v->u.road.overtaking != 0)  {
 
		if (++v->u.road.overtaking_ctr >= 35)
 
		if (IsTileType(v->tile, MP_STATION)) {
 
			/* Force us to be not overtaking! */
 
			v->u.road.overtaking = 0;
 
		} else if (++v->u.road.overtaking_ctr >= 35) {
 
			/* If overtaking just aborts at a random moment, we can have a out-of-bound problem,
 
			 *  if the vehicle started a corner. To protect that, only allow an abort of
 
			 *  overtake if we are on straight roads */
 
			if (v->u.road.state < RVSB_IN_ROAD_STOP && IsStraightRoadTrackdir((Trackdir)v->u.road.state)) {
 
				v->u.road.overtaking = 0;
 
			}
 
		}
 
	}
 

	
 
	/* If this vehicle is in a depot and we've reached this point it must be
0 comments (0 inline, 0 general)