diff options
Diffstat (limited to 'src/openttd.cpp')
-rw-r--r-- | src/openttd.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/openttd.cpp b/src/openttd.cpp index 2ec5db868..2dfd6e050 100644 --- a/src/openttd.cpp +++ b/src/openttd.cpp @@ -974,8 +974,6 @@ void SwitchMode(int new_mode) * That check is enforced in DoCommand. */ void StateGameLoop() { - ClearStorageChanges(false); - /* dont execute the state loop during pause */ if (_pause_game) { CallWindowTickEvent(); @@ -983,10 +981,14 @@ void StateGameLoop() } if (IsGeneratingWorld()) return; + ClearStorageChanges(false); + if (_game_mode == GM_EDITOR) { RunTileLoop(); CallVehicleTicks(); CallLandscapeTick(); + ClearStorageChanges(true); + CallWindowTickEvent(); NewsLoop(); } else { @@ -1000,6 +1002,7 @@ void StateGameLoop() RunTileLoop(); CallVehicleTicks(); CallLandscapeTick(); + ClearStorageChanges(true); AI_RunGameLoop(); |