Fix FollowTrainReservation following outwards from end depot

This commit is contained in:
Jonathan G Rennison
2021-01-28 23:25:07 +00:00
parent 87c87649b8
commit b711f94d1c

View File

@@ -662,6 +662,7 @@ PBSTileInfo FollowTrainReservation(const Train *v, Vehicle **train_on_res, Follo
if (!(flags & FTRF_IGNORE_LOOKAHEAD) && _settings_game.vehicle.train_braking_model == TBM_REALISTIC && v->lookahead != nullptr) { if (!(flags & FTRF_IGNORE_LOOKAHEAD) && _settings_game.vehicle.train_braking_model == TBM_REALISTIC && v->lookahead != nullptr) {
tile = v->lookahead->reservation_end_tile; tile = v->lookahead->reservation_end_tile;
trackdir = v->lookahead->reservation_end_trackdir; trackdir = v->lookahead->reservation_end_trackdir;
if (HasBit(v->lookahead->flags, TRLF_DEPOT_END)) return PBSTileInfo(tile, trackdir, false);
if (HasBit(v->lookahead->flags, TRLF_TB_EXIT_FREE)) { if (HasBit(v->lookahead->flags, TRLF_TB_EXIT_FREE)) {
TileIndex exit_tile = GetOtherTunnelBridgeEnd(tile); TileIndex exit_tile = GetOtherTunnelBridgeEnd(tile);
if (GetTunnelBridgeExitSignalState(exit_tile) == SIGNAL_STATE_GREEN && HasAcrossTunnelBridgeReservation(exit_tile)) { if (GetTunnelBridgeExitSignalState(exit_tile) == SIGNAL_STATE_GREEN && HasAcrossTunnelBridgeReservation(exit_tile)) {