From 15561ab8e8a57a8b879ed8e1097d97a9bd1c9a63 Mon Sep 17 00:00:00 2001 From: NyakoFox Date: Thu, 11 Apr 2024 18:29:40 -0300 Subject: [PATCH] Secret lab buttons, fix preloader buttons --- desktop_version/src/Touch.cpp | 38 +++++++++++++++++++++++++++++++++-- desktop_version/src/Touch.h | 4 ++++ 2 files changed, 40 insertions(+), 2 deletions(-) diff --git a/desktop_version/src/Touch.cpp b/desktop_version/src/Touch.cpp index 5b09921e..bf6b5672 100644 --- a/desktop_version/src/Touch.cpp +++ b/desktop_version/src/Touch.cpp @@ -230,6 +230,14 @@ namespace touch game.menupage = 11; mapmenuactionpress(version2_2); break; + case 9: + game.menupage = 20; + mapmenuactionpress(version2_2); + break; + case 10: + game.menupage = 21; + mapmenuactionpress(version2_2); + break; } break; case TOUCH_BUTTON_TYPE_NONE: @@ -320,6 +328,24 @@ namespace touch buttons[TOUCH_BUTTON_MAP_QUIT_EXIT].type = TOUCH_BUTTON_TYPE_MAP; buttons[TOUCH_BUTTON_MAP_QUIT_EXIT].ui = false; + buttons[TOUCH_BUTTON_SUPERGRAVITRON_NO].x = 80; + buttons[TOUCH_BUTTON_SUPERGRAVITRON_NO].y = 128 - 16; + buttons[TOUCH_BUTTON_SUPERGRAVITRON_NO].width = 160; + buttons[TOUCH_BUTTON_SUPERGRAVITRON_NO].height = 26; + buttons[TOUCH_BUTTON_SUPERGRAVITRON_NO].text = loc::gettext("no, keep playing"); + buttons[TOUCH_BUTTON_SUPERGRAVITRON_NO].id = 9; + buttons[TOUCH_BUTTON_SUPERGRAVITRON_NO].type = TOUCH_BUTTON_TYPE_MAP; + buttons[TOUCH_BUTTON_SUPERGRAVITRON_NO].ui = false; + + buttons[TOUCH_BUTTON_SUPERGRAVITRON_YES].x = 80; + buttons[TOUCH_BUTTON_SUPERGRAVITRON_YES].y = 128 + 16; + buttons[TOUCH_BUTTON_SUPERGRAVITRON_YES].width = 160; + buttons[TOUCH_BUTTON_SUPERGRAVITRON_YES].height = 26; + buttons[TOUCH_BUTTON_SUPERGRAVITRON_YES].text = loc::gettext("yes, return"); + buttons[TOUCH_BUTTON_SUPERGRAVITRON_YES].id = 10; + buttons[TOUCH_BUTTON_SUPERGRAVITRON_YES].type = TOUCH_BUTTON_TYPE_MAP; + buttons[TOUCH_BUTTON_SUPERGRAVITRON_YES].ui = false; + buttons[TOUCH_BUTTON_QUIT_NO].x = 80; buttons[TOUCH_BUTTON_QUIT_NO].y = 96 + 16; buttons[TOUCH_BUTTON_QUIT_NO].width = 160; @@ -443,11 +469,17 @@ namespace touch case 2: break; case 1: - if (obj.flags[67] && !map.custommode) + if (!game.insecretlab && obj.flags[67] && !map.custommode) { buttons[TOUCH_BUTTON_MAP_SHIP_WARP].active = true; } break; + case 20: + case 21: + buttons[TOUCH_BUTTON_SUPERGRAVITRON_YES].active = true; + buttons[TOUCH_BUTTON_SUPERGRAVITRON_NO].active = true; + buttons[TOUCH_BUTTON_MAP_BACK].active = false; + break; case 3: if (!game.gamesaved && !game.gamesavefailed && !game.inspecial()) { @@ -471,10 +503,12 @@ namespace touch break; } break; + case PRELOADER: + use_buttons = false; + break; case GAMECOMPLETE: case GAMECOMPLETE2: case EDITORMODE: - case PRELOADER: default: break; } diff --git a/desktop_version/src/Touch.h b/desktop_version/src/Touch.h index 4601fcf6..a510e41c 100644 --- a/desktop_version/src/Touch.h +++ b/desktop_version/src/Touch.h @@ -41,6 +41,10 @@ enum TouchButtonID TOUCH_BUTTON_MAP_QUIT_SAVE, TOUCH_BUTTON_MAP_QUIT_EXIT, + /* Map - Return to Secret Lab from Super Gravitron */ + TOUCH_BUTTON_SUPERGRAVITRON_NO, + TOUCH_BUTTON_SUPERGRAVITRON_YES, + /* Map - Back */ TOUCH_BUTTON_MAP_BACK,