# HG changeset patch # User michi_cc # Date 1263168134 0 # Node ID d04c38c339fb40442cc0c03c899eba2bd0665384 # Parent b581c07042f6e8af35246a419723860fbeb2d1a5 (svn r18778) -Fix [FS#3483]: [YAPP] Remove a special check for two-sided signals when reserving a path as this causes trains to get stuck in front of them. diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp --- a/src/train_cmd.cpp +++ b/src/train_cmd.cpp @@ -2851,20 +2851,6 @@ } } - /* Special check if we are in front of a two-sided conventional signal. */ - DiagDirection dir = TrainExitDir(v->direction, v->track); - TileIndex next_tile = TileAddByDiagDir(v->tile, dir); - if (IsTileType(next_tile, MP_RAILWAY) && HasReservedTracks(next_tile, DiagdirReachesTracks(dir))) { - /* Can have only one reserved trackdir. */ - Trackdir td = FindFirstTrackdir(TrackBitsToTrackdirBits(GetReservedTrackbits(next_tile)) & DiagdirReachesTrackdirs(dir)); - if (HasSignalOnTrackdir(next_tile, td) && HasSignalOnTrackdir(next_tile, ReverseTrackdir(td)) && - !IsPbsSignal(GetSignalType(next_tile, TrackdirToTrack(td)))) { - /* Signal already reserved, is not ours. */ - if (mark_as_stuck) MarkTrainAsStuck(v); - return false; - } - } - Vehicle *other_train = NULL; PBSTileInfo origin = FollowTrainReservation(v, &other_train); /* The path we are driving on is alread blocked by some other train.