mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r25955) -Fix [FS#5723]: Train's "force proceed" status gets reset when the track on the other side of the tile has a signal (adf88)
This commit is contained in:
parent
1ffcdbd515
commit
169bf3a403
|
@ -3149,8 +3149,9 @@ bool TrainController(Train *v, Vehicle *nomove, bool reverse)
|
||||||
* this to one, then if we reach the next signal it is
|
* this to one, then if we reach the next signal it is
|
||||||
* decreased to zero and we won't pass that new signal. */
|
* decreased to zero and we won't pass that new signal. */
|
||||||
Trackdir dir = FindFirstTrackdir(trackdirbits);
|
Trackdir dir = FindFirstTrackdir(trackdirbits);
|
||||||
if (GetSignalType(gp.new_tile, TrackdirToTrack(dir)) != SIGTYPE_PBS ||
|
if (HasSignalOnTrackdir(gp.new_tile, dir) ||
|
||||||
!HasSignalOnTrackdir(gp.new_tile, ReverseTrackdir(dir))) {
|
(HasSignalOnTrackdir(gp.new_tile, ReverseTrackdir(dir)) &&
|
||||||
|
GetSignalType(gp.new_tile, TrackdirToTrack(dir)) != SIGTYPE_PBS)) {
|
||||||
/* However, we do not want to be stopped by PBS signals
|
/* However, we do not want to be stopped by PBS signals
|
||||||
* entered via the back. */
|
* entered via the back. */
|
||||||
v->force_proceed = (v->force_proceed == TFP_SIGNAL) ? TFP_STUCK : TFP_NONE;
|
v->force_proceed = (v->force_proceed == TFP_SIGNAL) ? TFP_STUCK : TFP_NONE;
|
||||||
|
|
Loading…
Reference in New Issue