Fix day length changes with scheduled dispatch and timetable start times

When time is in minutes

See: #472
This commit is contained in:
Jonathan G Rennison
2023-01-12 23:44:09 +00:00
parent 23dbd6b166
commit 3e33be7b10
3 changed files with 44 additions and 0 deletions

View File

@@ -1709,11 +1709,26 @@ static void ImprovedBreakdownsSettingChanged(int32 new_value)
}
}
static uint8 _pre_change_day_length_factor;
static bool DayLengthPreChange(int32 &new_value)
{
_pre_change_day_length_factor = _settings_game.economy.day_length_factor;
return true;
}
static void DayLengthChanged(int32 new_value)
{
DateTicksScaled old_scaled_date_ticks = _scaled_date_ticks;
DateTicksScaled old_scaled_date_ticks_offset = _scaled_date_ticks_offset;
extern void RebaseScaledDateTicksBase();
RebaseScaledDateTicksBase();
extern void VehicleDayLengthChanged(DateTicksScaled old_scaled_date_ticks, DateTicksScaled old_scaled_date_ticks_offset, uint8 old_day_length_factor);
VehicleDayLengthChanged(old_scaled_date_ticks, old_scaled_date_ticks_offset, _pre_change_day_length_factor);
MarkWholeScreenDirty();
}