mirror of https://github.com/OpenTTD/OpenTTD
(svn r19873) -Fix [FS#3817]: if the (guessed initial) destination tile of a road stop wasn't a road stop but was a T-junction or turn, the road vehicles would jump around in circles
parent
a1b607a055
commit
d8d37466af
|
@ -326,8 +326,11 @@ public:
|
||||||
|
|
||||||
FORCEINLINE Trackdir ChooseRoadTrack(const RoadVehicle *v, TileIndex tile, DiagDirection enterdir)
|
FORCEINLINE Trackdir ChooseRoadTrack(const RoadVehicle *v, TileIndex tile, DiagDirection enterdir)
|
||||||
{
|
{
|
||||||
/* handle special case - when next tile is destination tile */
|
/* Handle special case - when next tile is destination tile.
|
||||||
if (tile == v->dest_tile) {
|
* However, when going to a station the (initial) destination
|
||||||
|
* tile might not be a station, but a junction, in which case
|
||||||
|
* this method forces the vehicle to jump in circles. */
|
||||||
|
if (tile == v->dest_tile && !v->current_order.IsType(OT_GOTO_STATION)) {
|
||||||
/* choose diagonal trackdir reachable from enterdir */
|
/* choose diagonal trackdir reachable from enterdir */
|
||||||
return DiagDirToDiagTrackdir(enterdir);
|
return DiagDirToDiagTrackdir(enterdir);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue