Fix timetable durations when loading old saves

With version 1 of XSLFI_TT_WAIT_IN_DEPOT or without XSLFI_TIMETABLE_EXTRA
pull/661/head
Jonathan G Rennison 3 months ago
parent 0993622f09
commit 6e10f01f59

@ -3528,9 +3528,6 @@ bool AfterLoadGame()
order->SetTravelTimetabled(order->GetTravelTime() > 0);
order->SetWaitTimetabled(order->GetWaitTime() > 0);
}
for (OrderList *orderlist : OrderList::Iterate()) {
orderlist->RecalculateTimetableDuration();
}
} else if (SlXvIsFeatureMissing(XSLFI_TIMETABLE_EXTRA)) {
for (Order *order : Order::Iterate()) {
if (order->IsType(OT_CONDITIONAL)) {
@ -3539,6 +3536,12 @@ bool AfterLoadGame()
}
}
if (SlXvIsFeaturePresent(XSLFI_TT_WAIT_IN_DEPOT, 1, 1) || IsSavegameVersionBefore(SLV_190) || SlXvIsFeatureMissing(XSLFI_TIMETABLE_EXTRA)) {
for (OrderList *orderlist : OrderList::Iterate()) {
orderlist->RecalculateTimetableDuration();
}
}
if (SlXvIsFeatureMissing(XSLFI_REVERSE_AT_WAYPOINT)) {
for (Train *t : Train::Iterate()) {
t->reverse_distance = 0;

Loading…
Cancel
Save