Departures: Scale dates in departures window by day length factor.

This commit is contained in:
Jonathan G Rennison
2015-08-22 00:36:28 +01:00
parent 803e8970c3
commit 010c290511

View File

@@ -138,7 +138,7 @@ DepartureList* MakeDepartureList(StationID station, bool show_vehicle_types[5],
} }
const Order *order = (*v)->GetOrder((*v)->cur_implicit_order_index % (*v)->GetNumOrders()); const Order *order = (*v)->GetOrder((*v)->cur_implicit_order_index % (*v)->GetNumOrders());
DateTicks start_date = (DateTicks)_date_fract - (*v)->current_order_time; DateTicks start_date = (DateTicks)_date_fract - ((*v)->current_order_time / _settings_game.economy.day_length_factor);
DepartureStatus status = D_TRAVELLING; DepartureStatus status = D_TRAVELLING;
/* If the vehicle is stopped in a depot, ignore it. */ /* If the vehicle is stopped in a depot, ignore it. */
@@ -645,6 +645,16 @@ DepartureList* MakeDepartureList(StationID station, bool show_vehicle_types[5],
delete od; delete od;
} }
uint8 day_len = _settings_game.economy.day_length_factor;
if (day_len > 1) {
DateTicks now = ((DateTicks)_date * DAY_TICKS) + _date_fract;
for (size_t i = 0; i < result->Length(); i++) {
Departure *dep = (*result)[i];
dep->scheduled_date = now + (dep->scheduled_date - now) / day_len;
dep->lateness /= day_len;
}
}
/* Done. Phew! */ /* Done. Phew! */
return result; return result;
} }