mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-10 08:00:05 +00:00
Fix #12145: Incorrect date handling in date cheat in wallclock time-keeping mode
This commit is contained in:
parent
409c073eca
commit
ca146c8ddd
@ -107,6 +107,11 @@ static int32_t ClickChangeDateCheat(int32_t new_value, int32_t)
|
||||
|
||||
TimerGameCalendar::YearMonthDay ymd = TimerGameCalendar::ConvertDateToYMD(TimerGameCalendar::date);
|
||||
TimerGameCalendar::Date new_calendar_date = TimerGameCalendar::ConvertYMDToDate(new_year, ymd.month, ymd.day);
|
||||
|
||||
TimerGameCalendar::SetDate(new_calendar_date, TimerGameCalendar::date_fract);
|
||||
|
||||
/* If not using wallclock units, we keep economy date in sync with calendar date and must change it also. */
|
||||
if (!TimerGameEconomy::UsingWallclockUnits()) {
|
||||
/* Keep economy and calendar dates synced. */
|
||||
TimerGameEconomy::Date new_economy_date = new_calendar_date.base();
|
||||
|
||||
@ -115,10 +120,8 @@ static int32_t ClickChangeDateCheat(int32_t new_value, int32_t)
|
||||
LinkGraphSchedule::instance.ShiftDates(new_economy_date - TimerGameEconomy::date);
|
||||
|
||||
/* Now it's safe to actually change the date. */
|
||||
TimerGameCalendar::SetDate(new_calendar_date, TimerGameCalendar::date_fract);
|
||||
|
||||
/* If not using wallclock units, we keep economy date in sync with calendar date and must change it also. */
|
||||
if (!TimerGameEconomy::UsingWallclockUnits()) TimerGameEconomy::SetDate(new_economy_date, TimerGameEconomy::date_fract);
|
||||
TimerGameEconomy::SetDate(new_economy_date, TimerGameEconomy::date_fract);
|
||||
}
|
||||
|
||||
CalendarEnginesMonthlyLoop();
|
||||
SetWindowDirty(WC_STATUS_BAR, 0);
|
||||
|
Loading…
Reference in New Issue
Block a user