Fix timetable durations when loading old saves
With version 1 of XSLFI_TT_WAIT_IN_DEPOT or without XSLFI_TIMETABLE_EXTRA
This commit is contained in:
@@ -3528,9 +3528,6 @@ bool AfterLoadGame()
|
|||||||
order->SetTravelTimetabled(order->GetTravelTime() > 0);
|
order->SetTravelTimetabled(order->GetTravelTime() > 0);
|
||||||
order->SetWaitTimetabled(order->GetWaitTime() > 0);
|
order->SetWaitTimetabled(order->GetWaitTime() > 0);
|
||||||
}
|
}
|
||||||
for (OrderList *orderlist : OrderList::Iterate()) {
|
|
||||||
orderlist->RecalculateTimetableDuration();
|
|
||||||
}
|
|
||||||
} else if (SlXvIsFeatureMissing(XSLFI_TIMETABLE_EXTRA)) {
|
} else if (SlXvIsFeatureMissing(XSLFI_TIMETABLE_EXTRA)) {
|
||||||
for (Order *order : Order::Iterate()) {
|
for (Order *order : Order::Iterate()) {
|
||||||
if (order->IsType(OT_CONDITIONAL)) {
|
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)) {
|
if (SlXvIsFeatureMissing(XSLFI_REVERSE_AT_WAYPOINT)) {
|
||||||
for (Train *t : Train::Iterate()) {
|
for (Train *t : Train::Iterate()) {
|
||||||
t->reverse_distance = 0;
|
t->reverse_distance = 0;
|
||||||
|
Reference in New Issue
Block a user