Do not reset lateness on auto-timetable congestion detection, when using scheduled dispatch

tmp-jgrpp
Jonathan G Rennison 4 weeks ago
parent b39bd33c1c
commit 991b7a958e

@ -1010,10 +1010,12 @@ void UpdateVehicleTimetable(Vehicle *v, bool travelling)
/* Possible jam, clear time and restart timetable for all vehicles. /* Possible jam, clear time and restart timetable for all vehicles.
* Otherwise we risk trains blocking 1-lane stations for long times. */ * Otherwise we risk trains blocking 1-lane stations for long times. */
ChangeTimetable(v, v->cur_timetable_order_index, 0, travel_field ? MTF_TRAVEL_TIME : MTF_WAIT_TIME, false); ChangeTimetable(v, v->cur_timetable_order_index, 0, travel_field ? MTF_TRAVEL_TIME : MTF_WAIT_TIME, false);
for (Vehicle *v2 = v->FirstShared(); v2 != nullptr; v2 = v2->NextShared()) { if (!HasBit(v->vehicle_flags, VF_SCHEDULED_DISPATCH)) {
/* Clear VF_TIMETABLE_STARTED but do not call ClearSeparation */ for (Vehicle *v2 = v->FirstShared(); v2 != nullptr; v2 = v2->NextShared()) {
ClrBit(v2->vehicle_flags, VF_TIMETABLE_STARTED); /* Clear VF_TIMETABLE_STARTED but do not call ClearSeparation */
v2->lateness_counter = 0; ClrBit(v2->vehicle_flags, VF_TIMETABLE_STARTED);
v2->lateness_counter = 0;
}
} }
SetTimetableWindowsDirty(v); SetTimetableWindowsDirty(v);
return; return;

Loading…
Cancel
Save