summaryrefslogtreecommitdiff
path: root/src/openttd.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/openttd.cpp')
-rw-r--r--src/openttd.cpp7
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();