Fix limit train lookahead to signal aspect when starting

From depot and within signal sighting distance (e.g. reverse)
pull/403/head
Jonathan G Rennison 2 years ago
parent 10b415bf10
commit 24e965061c

@ -996,8 +996,13 @@ void SetTrainReservationLookaheadEnd(Train *v)
return;
}
if (v->lookahead->lookahead_end_position > v->lookahead->reservation_end_position) return;
int32 threshold = v->lookahead->current_position + 24;
uint8 known_signals_ahead = 1;
if (v->IsInDepot()) {
known_signals_ahead = _extra_aspects + 1;
}
for (const TrainReservationLookAheadItem &item : v->lookahead->items) {
if (item.end >= v->lookahead->reservation_end_position) break;
if (item.type == TRLIT_SIGNAL) {

@ -4007,7 +4007,10 @@ static bool IsReservationLookAheadLongEnough(const Train *v, const ChooseTrainTr
if (v->lookahead->reservation_end_position >= v->lookahead->current_position + v->reverse_distance - 1) return true;
}
if (v->lookahead->lookahead_end_position <= v->lookahead->reservation_end_position && _settings_game.vehicle.realistic_braking_aspect_limited == TRBALM_ON) return true;
if (v->lookahead->lookahead_end_position <= v->lookahead->reservation_end_position && _settings_game.vehicle.realistic_braking_aspect_limited == TRBALM_ON &&
v->lookahead->reservation_end_position > v->lookahead->current_position + 24) {
return true;
}
TrainDecelerationStats stats(v, v->lookahead->cached_zpos);

Loading…
Cancel
Save