diff --git a/desktop_version/src/Game.cpp b/desktop_version/src/Game.cpp index b007b6d3..45c162e6 100644 --- a/desktop_version/src/Game.cpp +++ b/desktop_version/src/Game.cpp @@ -7163,7 +7163,6 @@ void Game::createmenu( enum Menu::MenuName t, bool samemenu/*= false*/ ) option("toggle letterbox"); option("toggle filter"); option("toggle analogue"); - option("toggle mouse"); option("toggle fps"); option("toggle vsync"); option("resize to nearest", graphics.screenbuffer->isWindowed); @@ -7207,7 +7206,7 @@ void Game::createmenu( enum Menu::MenuName t, bool samemenu/*= false*/ ) break; case Menu::options: option("accessibility options"); - option("glitchrunner mode"); + option("advanced options"); #if !defined(MAKEANDPLAY) if (ingame_titlemode && unlock[18]) #endif @@ -7224,6 +7223,15 @@ void Game::createmenu( enum Menu::MenuName t, bool samemenu/*= false*/ ) option("soundtrack"); } + option("return"); + menuyoff = 0; + break; + case Menu::advancedoptions: + option("toggle mouse"); + option("unfocus pause"); + option("fake load screen"); + option("room name background"); + option("glitchrunner mode"); option("return"); menuyoff = 0; break; @@ -7233,11 +7241,8 @@ void Game::createmenu( enum Menu::MenuName t, bool samemenu/*= false*/ ) option("text outline"); option("invincibility", !ingame_titlemode || (!game.insecretlab && !game.intimetrial && !game.nodeathmode)); option("slowdown", !ingame_titlemode || (!game.insecretlab && !game.intimetrial && !game.nodeathmode)); - option("unfocus pause"); - option("load screen"); - option("room name bg"); option("return"); - menuyoff = -10; + menuyoff = 0; break; case Menu::controller: option("analog stick sensitivity"); diff --git a/desktop_version/src/Game.h b/desktop_version/src/Game.h index 802db984..76207c9e 100644 --- a/desktop_version/src/Game.h +++ b/desktop_version/src/Game.h @@ -31,6 +31,7 @@ namespace Menu ed_music, ed_quit, options, + advancedoptions, accessibility, controller, cleardatamenu, diff --git a/desktop_version/src/Input.cpp b/desktop_version/src/Input.cpp index bbd9a12a..cee54b49 100644 --- a/desktop_version/src/Input.cpp +++ b/desktop_version/src/Input.cpp @@ -351,31 +351,19 @@ void menuactionpress() game.currentmenuoption = 3; break; case 4: - //toggle mouse cursor - music.playef(11); - if (graphics.showmousecursor == true) { - SDL_ShowCursor(SDL_DISABLE); - graphics.showmousecursor = false; - } - else { - SDL_ShowCursor(SDL_ENABLE); - graphics.showmousecursor = true; - } - break; - case 5: //toggle 30+ fps music.playef(11); game.over30mode = !game.over30mode; game.savestats(); break; - case 6: + case 5: //toggle vsync music.playef(11); graphics.vsync = !graphics.vsync; graphics.processVsync(); game.savestats(); break; - case 7: + case 6: // resize to nearest multiple if (graphics.screenbuffer->isWindowed) { @@ -478,6 +466,49 @@ void menuactionpress() break; } break; + case Menu::advancedoptions: + switch (game.currentmenuoption) + { + case 0: + //toggle mouse cursor + music.playef(11); + if (graphics.showmousecursor == true) { + SDL_ShowCursor(SDL_DISABLE); + graphics.showmousecursor = false; + } + else { + SDL_ShowCursor(SDL_ENABLE); + graphics.showmousecursor = true; + } + break; + case 1: + // toggle unfocus pause + game.disablepause = !game.disablepause; + music.playef(11); + break; + case 2: + // toggle fake load screen + game.skipfakeload = !game.skipfakeload; + music.playef(11); + break; + case 3: + // toggle translucent roomname BG + graphics.translucentroomname = !graphics.translucentroomname; + music.playef(11); + break; + case 4: + // Glitchrunner mode + music.playef(11); + game.glitchrunnermode = !game.glitchrunnermode; + break; + case 5: + //back + music.playef(11); + game.returnmenu(); + map.nexttowercolour(); + break; + } + break; case Menu::accessibility: switch (game.currentmenuoption) { @@ -543,21 +574,6 @@ void menuactionpress() } break; case 5: - // toggle unfocus pause - game.disablepause = !game.disablepause; - music.playef(11); - break; - case 6: - // toggle fake load screen - game.skipfakeload = !game.skipfakeload; - music.playef(11); - break; - case 7: - // toggle translucent roomname BG - graphics.translucentroomname = !graphics.translucentroomname; - music.playef(11); - break; - case 8: //back music.playef(11); game.returnmenu(); @@ -596,9 +612,10 @@ void menuactionpress() map.nexttowercolour(); break; case 1: - // Glitchrunner mode + //advanced options music.playef(11); - game.glitchrunnermode = !game.glitchrunnermode; + game.createmenu(Menu::advancedoptions); + map.nexttowercolour(); break; case 2: #if !defined(MAKEANDPLAY) diff --git a/desktop_version/src/Render.cpp b/desktop_version/src/Render.cpp index b6b7eaf3..7f02bbd1 100644 --- a/desktop_version/src/Render.cpp +++ b/desktop_version/src/Render.cpp @@ -98,17 +98,10 @@ void menurender() graphics.Print( -1, 75, "slowdown modes or invincibility", tr, tg, tb, true); break; case 1: - graphics.bigprint( -1, 30, "Glitchrunner Mode", tr, tg, tb, true); - graphics.Print( -1, 65, "Re-enable glitches that existed", tr, tg, tb, true); - graphics.Print( -1, 75, "in previous versions of the game", tr, tg, tb, true); - if (game.glitchrunnermode) - { - graphics.Print( -1, 95, "Glitchrunner mode is ON", tr, tg, tb, true); - } - else - { - graphics.Print( -1, 95, "Glitchrunner mode is OFF", tr/2, tg/2, tb/2, true); - } + graphics.bigprint( -1, 30, "Advanced Options", tr, tg, tb, true); + graphics.Print( -1, 65, "Hide the mouse cursor, remove", tr, tg, tb, true); + graphics.Print( -1, 75, "the loading screen, turn on", tr, tg, tb, true); + graphics.Print( -1, 85, "glitchrunner mode and more", tr, tg, tb, true); break; case 2: #if !defined(MAKEANDPLAY) @@ -211,17 +204,6 @@ void menurender() graphics.Print( -1, 85, "adjust the picture.", tr, tg, tb, true); break; case 4: - graphics.bigprint(-1, 30, "Toggle Mouse Cursor", tr, tg, tb, true); - graphics.Print(-1, 65, "Show/hide the system mouse cursor.", tr, tg, tb, true); - - if (graphics.showmousecursor) { - graphics.Print(-1, 85, "Current mode: SHOW", tr, tg, tb, true); - } - else { - graphics.Print(-1, 85, "Current mode: HIDE", tr/2, tg/2, tb/2, true); - } - break; - case 5: graphics.bigprint(-1, 30, "Toggle 30+ FPS", tr, tg, tb, true); graphics.Print(-1, 65, "Change whether the game", tr, tg, tb, true); graphics.Print(-1, 75, "runs at 30 or over 30 FPS.", tr, tg, tb, true); @@ -235,7 +217,7 @@ void menurender() graphics.Print(-1, 95, "Current mode: Over 30 FPS", tr, tg, tb, true); } break; - case 6: + case 5: graphics.bigprint(-1, 30, "Toggle VSync", tr, tg, tb, true); graphics.Print(-1, 65, "Turn VSync on or off.", tr, tg, tb, true); @@ -248,7 +230,7 @@ void menurender() graphics.Print(-1, 95, "Current mode: VSYNC ON", tr, tg, tb, true); } break; - case 7: + case 6: graphics.bigprint(-1, 30, "Resize to Nearest", tr, tg, tb, true); graphics.Print(-1, 65, "Resize to the nearest window size", tr, tg, tb, true); graphics.Print(-1, 75, "that is of an integer multiple.", tr, tg, tb, true); @@ -436,6 +418,64 @@ void menurender() } + break; + case Menu::advancedoptions: + switch (game.currentmenuoption) + { + case 0: + graphics.bigprint(-1, 30, "Toggle Mouse Cursor", tr, tg, tb, true); + graphics.Print(-1, 65, "Show/hide the system mouse cursor.", tr, tg, tb, true); + + if (graphics.showmousecursor) { + graphics.Print(-1, 95, "Current mode: SHOW", tr, tg, tb, true); + } + else { + graphics.Print(-1, 95, "Current mode: HIDE", tr/2, tg/2, tb/2, true); + } + break; + case 1: + graphics.bigprint( -1, 30, "Unfocus Pause", tr, tg, tb, true); + graphics.Print( -1, 65, "Toggle if the game will pause", tr, tg, tb, true); + graphics.Print( -1, 75, "when the window is unfocused.", tr, tg, tb, true); + if (game.disablepause) + { + graphics.Print(-1, 95, "Unfocus pause is OFF", tr/2, tg/2, tb/2, true); + } + else + { + graphics.Print(-1, 95, "Unfocus pause is ON", tr, tg, tb, true); + } + break; + case 2: + graphics.bigprint(-1, 30, "Fake Load Screen", tr, tg, tb, true); + if (game.skipfakeload) + graphics.Print(-1, 65, "Fake loading screen is OFF", tr/2, tg/2, tb/2, true); + else + graphics.Print(-1, 65, "Fake loading screen is ON", tr, tg, tb, true); + break; + case 3: + graphics.bigprint(-1, 30, "Room Name BG", tr, tg, tb, true); + graphics.Print( -1, 65, "Lets you see through what is behind", tr, tg, tb, true); + graphics.Print( -1, 75, "the name at the bottom of the screen.", tr, tg, tb, true); + if (graphics.translucentroomname) + graphics.Print(-1, 95, "Room name background is TRANSLUCENT", tr/2, tg/2, tb/2, true); + else + graphics.Print(-1, 95, "Room name background is OPAQUE", tr, tg, tb, true); + break; + case 4: + graphics.bigprint( -1, 30, "Glitchrunner Mode", tr, tg, tb, true); + graphics.Print( -1, 65, "Re-enable glitches that existed", tr, tg, tb, true); + graphics.Print( -1, 75, "in previous versions of the game", tr, tg, tb, true); + if (game.glitchrunnermode) + { + graphics.Print( -1, 95, "Glitchrunner mode is ON", tr, tg, tb, true); + } + else + { + graphics.Print( -1, 95, "Glitchrunner mode is OFF", tr/2, tg/2, tb/2, true); + } + break; + } break; case Menu::accessibility: switch (game.currentmenuoption) @@ -510,35 +550,6 @@ void menurender() graphics.Print( -1, 105, "Game speed is at 40%", tr, tg, tb, true); } break; - case 5: - graphics.bigprint( -1, 40, "Unfocus Pause", tr, tg, tb, true); - graphics.Print( -1, 75, "Toggle if the game will pause", tr, tg, tb, true); - graphics.Print( -1, 85, "when you're unfocused.", tr, tg, tb, true); - if (game.disablepause) - { - graphics.Print(-1, 105, "Unfocus pause is OFF", tr/2, tg/2, tb/2, true); - } - else - { - graphics.Print(-1, 105, "Unfocus pause is ON", tr, tg, tb, true); - } - break; - case 6: - graphics.bigprint(-1, 30, "Fake Load Screen", tr, tg, tb, true); - if (game.skipfakeload) - graphics.Print(-1, 75, "Fake loading screen is OFF", tr/2, tg/2, tb/2, true); - else - graphics.Print(-1, 75, "Fake loading screen is ON", tr, tg, tb, true); - break; - case 7: - graphics.bigprint(-1, 30, "Room Name BG", tr, tg, tb, true); - graphics.Print( -1, 75, "Lets you see through what is behind", tr, tg, tb, true); - graphics.Print( -1, 85, "the name at the bottom of the screen.", tr, tg, tb, true); - if (graphics.translucentroomname) - graphics.Print(-1, 105, "Room name background is TRANSLUCENT", tr/2, tg/2, tb/2, true); - else - graphics.Print(-1, 105, "Room name background is OPAQUE", tr, tg, tb, true); - break; } break; case Menu::playint1: