From 30719b87dba93e212a3c5c59d5dfc38b7bdf7285 Mon Sep 17 00:00:00 2001 From: Misa Date: Fri, 19 Mar 2021 19:40:16 -0700 Subject: [PATCH] De-duplicate "Game Saved" telesave textbox The "Game Saved" text box, along with its associated telesave() call, exists in both Game.cpp and Script.cpp, so one of them is the copy-paste of the other. Unfortunately this copy-paste resulted in an inconsistency where both of them don't check for the same things when deciding whether or not the telesave should actually happen (this is why you don't copy-paste, kids... it's scary!). Either way, de-duplicating this now is less work for me later. --- desktop_version/src/Game.cpp | 39 ++++++++++++++++++---------------- desktop_version/src/Game.h | 1 + desktop_version/src/Script.cpp | 14 +----------- 3 files changed, 23 insertions(+), 31 deletions(-) diff --git a/desktop_version/src/Game.cpp b/desktop_version/src/Game.cpp index fe714bc6..ef8f99f4 100644 --- a/desktop_version/src/Game.cpp +++ b/desktop_version/src/Game.cpp @@ -714,6 +714,25 @@ void Game::actionprompt_textbox(void) graphics.textboxcenterx(); } +void Game::savetele_textbox(void) +{ + if (inspecial() || map.custommode) + { + return; + } + + if (savetele()) + { + graphics.createtextboxflipme(" Game Saved ", -1, 12, 174, 174, 174); + graphics.textboxtimer(25); + } + else + { + graphics.createtextboxflipme(" ERROR: Could not save game! ", -1, 12, 255, 60, 60); + graphics.textboxtimer(50); + } +} + void Game::updatestate(void) { statedelay--; @@ -2000,24 +2019,8 @@ void Game::updatestate(void) case 2000: //Game Saved! - if (inspecial() || map.custommode) - { - state = 0; - } - else - { - if (savetele()) - { - graphics.createtextbox(" Game Saved ", -1, graphics.flipmode ? 202 : 12, 174, 174, 174); - graphics.textboxtimer(25); - } - else - { - graphics.createtextbox(" ERROR: Could not save game! ", -1, graphics.flipmode ? 202 : 12, 255, 60, 60); - graphics.textboxtimer(50); - } - state = 0; - } + savetele_textbox(); + state = 0; break; case 2500: diff --git a/desktop_version/src/Game.h b/desktop_version/src/Game.h index 04affd33..a8eceb98 100644 --- a/desktop_version/src/Game.h +++ b/desktop_version/src/Game.h @@ -133,6 +133,7 @@ public: void crewmate_textbox(const int r, const int g, const int b); void remaining_textbox(void); void actionprompt_textbox(void); + void savetele_textbox(void); void updatestate(void); diff --git a/desktop_version/src/Script.cpp b/desktop_version/src/Script.cpp index 772b85d1..5972dd07 100644 --- a/desktop_version/src/Script.cpp +++ b/desktop_version/src/Script.cpp @@ -3506,19 +3506,7 @@ void scriptclass::teleport(void) { music.changemusicarea(game.teleport_to_x, game.teleport_to_y); } - if (!game.intimetrial && !game.nodeathmode && !game.inintermission) - { - if (game.savetele()) - { - graphics.createtextbox(" Game Saved ", -1, graphics.flipmode ? 202 : 12, 174, 174, 174); - graphics.textboxtimer(25); - } - else - { - graphics.createtextbox(" ERROR: Could not save game! ", -1, graphics.flipmode ? 202 : 12, 255, 60, 60); - graphics.textboxtimer(50); - } - } + game.savetele_textbox(); } }