Fix: Don't increase motion counter while train is waiting at non-path signals (Author: frosch123) #5877 (#7018)

This commit is contained in:
Andy 2019-01-09 17:37:58 +00:00 committed by Ingo von Borstel
parent 5e51d9ee82
commit e934f09f02
1 changed files with 2 additions and 2 deletions

View File

@ -3187,12 +3187,12 @@ bool TrainController(Train *v, Vehicle *nomove, bool reverse)
if (!HasSignalOnTrackdir(gp.new_tile, ReverseTrackdir(i))) {
v->cur_speed = 0;
v->subspeed = 0;
v->progress = 255 - 100;
v->progress = 255; // make sure that every bit of acceleration will hit the signal again, so speed stays 0.
if (!_settings_game.pf.reverse_at_signals || ++v->wait_counter < _settings_game.pf.wait_oneway_signal * 20) return false;
} else if (HasSignalOnTrackdir(gp.new_tile, i)) {
v->cur_speed = 0;
v->subspeed = 0;
v->progress = 255 - 10;
v->progress = 255; // make sure that every bit of acceleration will hit the signal again, so speed stays 0.
if (!_settings_game.pf.reverse_at_signals || ++v->wait_counter < _settings_game.pf.wait_twoway_signal * 73) {
DiagDirection exitdir = TrackdirToExitdir(i);
TileIndex o_tile = TileAddByDiagDir(gp.new_tile, exitdir);