From 010c2905113fe112b6d4d0400f1d62b297f6bff4 Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Sat, 22 Aug 2015 00:36:28 +0100 Subject: [PATCH] Departures: Scale dates in departures window by day length factor. --- src/departures.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/departures.cpp b/src/departures.cpp index 775f1fb364..8f7d7d20ff 100644 --- a/src/departures.cpp +++ b/src/departures.cpp @@ -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()); - 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; /* 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; } + 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! */ return result; }