From 7c6bf977e07f09a3e5e128d64c5f306590758991 Mon Sep 17 00:00:00 2001 From: Tyler Trahan Date: Sun, 23 Apr 2023 15:20:56 -0400 Subject: [PATCH] Cleanup: Fix and add comments to date cheat callback (#10699) --- src/cheat_gui.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/cheat_gui.cpp b/src/cheat_gui.cpp index be931e6c1a..19914da905 100644 --- a/src/cheat_gui.cpp +++ b/src/cheat_gui.cpp @@ -98,22 +98,27 @@ extern void EnginesMonthlyLoop(); /** * Handle changing of the current year. - * @param new_value Unused. + * @param new_value The chosen year to change to. * @param change_direction +1 (increase) or -1 (decrease). * @return New year. */ static int32 ClickChangeDateCheat(int32 new_value, int32 change_direction) { - YearMonthDay ymd; - ConvertDateToYMD(_date, &ymd); - + /* Don't allow changing to an invalid year, or the current year. */ new_value = Clamp(new_value, MIN_YEAR, MAX_YEAR); if (new_value == _cur_year) return _cur_year; + YearMonthDay ymd; + ConvertDateToYMD(_date, &ymd); Date new_date = ConvertYMDToDate(new_value, ymd.month, ymd.day); + + /* Change the date. */ + SetDate(new_date, _date_fract); + + /* Shift cached dates. */ for (auto v : Vehicle::Iterate()) v->ShiftDates(new_date - _date); LinkGraphSchedule::instance.ShiftDates(new_date - _date); - SetDate(new_date, _date_fract); + EnginesMonthlyLoop(); SetWindowDirty(WC_STATUS_BAR, 0); InvalidateWindowClassesData(WC_BUILD_STATION, 0);