From 585ae47d7847d74fb45ca811132a2a0f009399f5 Mon Sep 17 00:00:00 2001 From: Misa Date: Sat, 7 Nov 2020 16:49:32 -0800 Subject: [PATCH] Remove script.dontrunnextframe kludge Now that the game loop order is fixed, this kludge (on top of kludge) is no longer needed, and can be safely removed. --- desktop_version/src/Map.cpp | 2 -- desktop_version/src/Script.cpp | 5 ----- desktop_version/src/Script.h | 2 +- desktop_version/src/main.cpp | 13 +------------ 4 files changed, 2 insertions(+), 20 deletions(-) diff --git a/desktop_version/src/Map.cpp b/desktop_version/src/Map.cpp index cd70c4ee..32c5b9bb 100644 --- a/desktop_version/src/Map.cpp +++ b/desktop_version/src/Map.cpp @@ -2075,6 +2075,4 @@ void mapclass::twoframedelayfix(void) game.state = 0; game.statedelay = 0; script.load(game.newscript); - script.run(); - script.dontrunnextframe = true; } diff --git a/desktop_version/src/Script.cpp b/desktop_version/src/Script.cpp index 6340e2a2..085708b9 100644 --- a/desktop_version/src/Script.cpp +++ b/desktop_version/src/Script.cpp @@ -18,7 +18,6 @@ scriptclass::scriptclass(void) position = 0; scriptdelay = 0; running = false; - dontrunnextframe = false; b = 0; g = 0; @@ -3492,10 +3491,6 @@ void scriptclass::teleport(void) game.state = 0; load(game.teleportscript); game.teleportscript = ""; - - // FIXME: Remove this once game loop order is fixed in 2.4! - run(); - dontrunnextframe = true; } else { diff --git a/desktop_version/src/Script.h b/desktop_version/src/Script.h index 893b2adb..89fc6993 100644 --- a/desktop_version/src/Script.h +++ b/desktop_version/src/Script.h @@ -54,7 +54,7 @@ public: int looppoint, loopcount; int scriptdelay; - bool running, dontrunnextframe; + bool running; //Textbox stuff int textx; diff --git a/desktop_version/src/main.cpp b/desktop_version/src/main.cpp index 2d951e67..feb87073 100644 --- a/desktop_version/src/main.cpp +++ b/desktop_version/src/main.cpp @@ -93,18 +93,6 @@ static void runscript(void) static void gamemodefunc1(void) { - // WARNING: If updating this code, don't forget to update Map.cpp mapclass::twoframedelayfix() - - // Ugh, I hate this kludge variable but it's the only way to do it - if (script.dontrunnextframe) - { - script.dontrunnextframe = false; - } - else - { - runscript(); - } - //Update old lerp positions of entities - has to be done BEFORE gameinput! for (size_t i = 0; i < obj.entities.size(); i++) { @@ -158,6 +146,7 @@ static const inline struct ImplFunc* get_gamestate_funcs( } FUNC_LIST_BEGIN(GAMEMODE) + {Func_fixed, runscript}, {Func_fixed, gamemodefunc1}, {Func_fixed, gameinput}, {Func_fixed, gamerenderfixed},