mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2024-12-23 01:59:43 +01:00
Move some options to a new menu, "advanced options"
VVVVVV's menus are kind of packed to the brim, so I thought it was time to recategorize the menus a little bit. There's now a new "advanced options" menu which holds the following options which were moved out of graphic options, game options and especially accessibility options: - toggle mouse - unfocus pause - fake load screen - room name background - glitchrunner mode I also made the positioning of the titles and descriptions more consistent, and made some options which were moved to the new menu not so abbreviated ("load screen" and "room name bg")
This commit is contained in:
parent
de2d6a1e86
commit
a2d8e57af0
4 changed files with 124 additions and 90 deletions
|
@ -7163,7 +7163,6 @@ void Game::createmenu( enum Menu::MenuName t, bool samemenu/*= false*/ )
|
||||||
option("toggle letterbox");
|
option("toggle letterbox");
|
||||||
option("toggle filter");
|
option("toggle filter");
|
||||||
option("toggle analogue");
|
option("toggle analogue");
|
||||||
option("toggle mouse");
|
|
||||||
option("toggle fps");
|
option("toggle fps");
|
||||||
option("toggle vsync");
|
option("toggle vsync");
|
||||||
option("resize to nearest", graphics.screenbuffer->isWindowed);
|
option("resize to nearest", graphics.screenbuffer->isWindowed);
|
||||||
|
@ -7207,7 +7206,7 @@ void Game::createmenu( enum Menu::MenuName t, bool samemenu/*= false*/ )
|
||||||
break;
|
break;
|
||||||
case Menu::options:
|
case Menu::options:
|
||||||
option("accessibility options");
|
option("accessibility options");
|
||||||
option("glitchrunner mode");
|
option("advanced options");
|
||||||
#if !defined(MAKEANDPLAY)
|
#if !defined(MAKEANDPLAY)
|
||||||
if (ingame_titlemode && unlock[18])
|
if (ingame_titlemode && unlock[18])
|
||||||
#endif
|
#endif
|
||||||
|
@ -7224,6 +7223,15 @@ void Game::createmenu( enum Menu::MenuName t, bool samemenu/*= false*/ )
|
||||||
option("soundtrack");
|
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");
|
option("return");
|
||||||
menuyoff = 0;
|
menuyoff = 0;
|
||||||
break;
|
break;
|
||||||
|
@ -7233,11 +7241,8 @@ void Game::createmenu( enum Menu::MenuName t, bool samemenu/*= false*/ )
|
||||||
option("text outline");
|
option("text outline");
|
||||||
option("invincibility", !ingame_titlemode || (!game.insecretlab && !game.intimetrial && !game.nodeathmode));
|
option("invincibility", !ingame_titlemode || (!game.insecretlab && !game.intimetrial && !game.nodeathmode));
|
||||||
option("slowdown", !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");
|
option("return");
|
||||||
menuyoff = -10;
|
menuyoff = 0;
|
||||||
break;
|
break;
|
||||||
case Menu::controller:
|
case Menu::controller:
|
||||||
option("analog stick sensitivity");
|
option("analog stick sensitivity");
|
||||||
|
|
|
@ -31,6 +31,7 @@ namespace Menu
|
||||||
ed_music,
|
ed_music,
|
||||||
ed_quit,
|
ed_quit,
|
||||||
options,
|
options,
|
||||||
|
advancedoptions,
|
||||||
accessibility,
|
accessibility,
|
||||||
controller,
|
controller,
|
||||||
cleardatamenu,
|
cleardatamenu,
|
||||||
|
|
|
@ -351,31 +351,19 @@ void menuactionpress()
|
||||||
game.currentmenuoption = 3;
|
game.currentmenuoption = 3;
|
||||||
break;
|
break;
|
||||||
case 4:
|
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
|
//toggle 30+ fps
|
||||||
music.playef(11);
|
music.playef(11);
|
||||||
game.over30mode = !game.over30mode;
|
game.over30mode = !game.over30mode;
|
||||||
game.savestats();
|
game.savestats();
|
||||||
break;
|
break;
|
||||||
case 6:
|
case 5:
|
||||||
//toggle vsync
|
//toggle vsync
|
||||||
music.playef(11);
|
music.playef(11);
|
||||||
graphics.vsync = !graphics.vsync;
|
graphics.vsync = !graphics.vsync;
|
||||||
graphics.processVsync();
|
graphics.processVsync();
|
||||||
game.savestats();
|
game.savestats();
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 6:
|
||||||
// resize to nearest multiple
|
// resize to nearest multiple
|
||||||
if (graphics.screenbuffer->isWindowed)
|
if (graphics.screenbuffer->isWindowed)
|
||||||
{
|
{
|
||||||
|
@ -478,6 +466,49 @@ void menuactionpress()
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
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:
|
case Menu::accessibility:
|
||||||
switch (game.currentmenuoption)
|
switch (game.currentmenuoption)
|
||||||
{
|
{
|
||||||
|
@ -543,21 +574,6 @@ void menuactionpress()
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 5:
|
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
|
//back
|
||||||
music.playef(11);
|
music.playef(11);
|
||||||
game.returnmenu();
|
game.returnmenu();
|
||||||
|
@ -596,9 +612,10 @@ void menuactionpress()
|
||||||
map.nexttowercolour();
|
map.nexttowercolour();
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
// Glitchrunner mode
|
//advanced options
|
||||||
music.playef(11);
|
music.playef(11);
|
||||||
game.glitchrunnermode = !game.glitchrunnermode;
|
game.createmenu(Menu::advancedoptions);
|
||||||
|
map.nexttowercolour();
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
#if !defined(MAKEANDPLAY)
|
#if !defined(MAKEANDPLAY)
|
||||||
|
|
|
@ -98,17 +98,10 @@ void menurender()
|
||||||
graphics.Print( -1, 75, "slowdown modes or invincibility", tr, tg, tb, true);
|
graphics.Print( -1, 75, "slowdown modes or invincibility", tr, tg, tb, true);
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
graphics.bigprint( -1, 30, "Glitchrunner Mode", tr, tg, tb, true);
|
graphics.bigprint( -1, 30, "Advanced Options", tr, tg, tb, true);
|
||||||
graphics.Print( -1, 65, "Re-enable glitches that existed", tr, tg, tb, true);
|
graphics.Print( -1, 65, "Hide the mouse cursor, remove", tr, tg, tb, true);
|
||||||
graphics.Print( -1, 75, "in previous versions of the game", tr, tg, tb, true);
|
graphics.Print( -1, 75, "the loading screen, turn on", tr, tg, tb, true);
|
||||||
if (game.glitchrunnermode)
|
graphics.Print( -1, 85, "glitchrunner mode and more", tr, tg, tb, true);
|
||||||
{
|
|
||||||
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 2:
|
case 2:
|
||||||
#if !defined(MAKEANDPLAY)
|
#if !defined(MAKEANDPLAY)
|
||||||
|
@ -211,17 +204,6 @@ void menurender()
|
||||||
graphics.Print( -1, 85, "adjust the picture.", tr, tg, tb, true);
|
graphics.Print( -1, 85, "adjust the picture.", tr, tg, tb, true);
|
||||||
break;
|
break;
|
||||||
case 4:
|
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.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, 65, "Change whether the game", tr, tg, tb, true);
|
||||||
graphics.Print(-1, 75, "runs at 30 or over 30 FPS.", 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);
|
graphics.Print(-1, 95, "Current mode: Over 30 FPS", tr, tg, tb, true);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 6:
|
case 5:
|
||||||
graphics.bigprint(-1, 30, "Toggle VSync", tr, tg, tb, true);
|
graphics.bigprint(-1, 30, "Toggle VSync", tr, tg, tb, true);
|
||||||
graphics.Print(-1, 65, "Turn VSync on or off.", 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);
|
graphics.Print(-1, 95, "Current mode: VSYNC ON", tr, tg, tb, true);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 6:
|
||||||
graphics.bigprint(-1, 30, "Resize to Nearest", tr, tg, tb, true);
|
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, 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);
|
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;
|
break;
|
||||||
case Menu::accessibility:
|
case Menu::accessibility:
|
||||||
switch (game.currentmenuoption)
|
switch (game.currentmenuoption)
|
||||||
|
@ -510,35 +550,6 @@ void menurender()
|
||||||
graphics.Print( -1, 105, "Game speed is at 40%", tr, tg, tb, true);
|
graphics.Print( -1, 105, "Game speed is at 40%", tr, tg, tb, true);
|
||||||
}
|
}
|
||||||
break;
|
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;
|
break;
|
||||||
case Menu::playint1:
|
case Menu::playint1:
|
||||||
|
|
Loading…
Reference in a new issue