diff --git a/src/gfx.cpp b/src/gfx.cpp index c21b83070d..f2be3deccc 100644 --- a/src/gfx.cpp +++ b/src/gfx.cpp @@ -2260,6 +2260,6 @@ void ChangeGameSpeed(bool enable_fast_forward) void SetupTickRate() { - _milliseconds_per_tick = (_settings_game.economy.tick_rate == TRM_MODERN) ? 27 : 30; + _milliseconds_per_tick = (_settings_game.economy.tick_rate == TRM_MODERN || _settings_game.economy.timekeeping_units == TKU_WALLCLOCK) ? 27 : 30; _ticks_per_second = 1000.0f / _milliseconds_per_tick; } diff --git a/src/saveload/afterload.cpp b/src/saveload/afterload.cpp index 343c5a80d4..ddfad4ad19 100644 --- a/src/saveload/afterload.cpp +++ b/src/saveload/afterload.cpp @@ -670,6 +670,7 @@ bool AfterLoadGame() TileIndex map_size = MapSize(); UpdateEffectiveDayLengthFactor(); + SetupTickRate(); extern TileIndex _cur_tileloop_tile; // From landscape.cpp. /* The LFSR used in RunTileLoop iteration cannot have a zeroed state, make it non-zeroed. */ diff --git a/src/settings.cpp b/src/settings.cpp index 91144199be..f053fb5479 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -1275,6 +1275,7 @@ static void ChangeTimekeepingUnits(int32_t) } UpdateEffectiveDayLengthFactor(); + SetupTickRate(); } /**