mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r21014) -Fix [FS#4179](r20098): Reversing of trains in stations while last wagon was in a depot or on a bridge-/tunnelhead caused trouble.
This commit is contained in:
parent
af6c12d586
commit
cb43ece091
|
@ -3712,7 +3712,10 @@ static bool TrainLocoHandler(Train *v, bool mode)
|
||||||
/* Try to reserve a path when leaving the station as we
|
/* Try to reserve a path when leaving the station as we
|
||||||
* might not be marked as wanting a reservation, e.g.
|
* might not be marked as wanting a reservation, e.g.
|
||||||
* when an overlength train gets turned around in a station. */
|
* when an overlength train gets turned around in a station. */
|
||||||
if (UpdateSignalsOnSegment(v->tile, TrackdirToExitdir(v->GetVehicleTrackdir()), v->owner) == SIGSEG_PBS || _settings_game.pf.reserve_paths) {
|
DiagDirection dir = TrainExitDir(v->direction, v->track);
|
||||||
|
if (IsRailDepotTile(v->tile) || IsTileType(v->tile, MP_TUNNELBRIDGE)) dir = INVALID_DIAGDIR;
|
||||||
|
|
||||||
|
if (UpdateSignalsOnSegment(v->tile, dir, v->owner) == SIGSEG_PBS || _settings_game.pf.reserve_paths) {
|
||||||
TryPathReserve(v, true, true);
|
TryPathReserve(v, true, true);
|
||||||
}
|
}
|
||||||
ClrBit(v->flags, VRF_LEAVING_STATION);
|
ClrBit(v->flags, VRF_LEAVING_STATION);
|
||||||
|
|
Loading…
Reference in New Issue