1
0
Fork 0
mirror of https://github.com/TerryCavanagh/VVVVVV.git synced 2024-12-22 17:49:43 +01:00

Hide level path by default

You will now need to go through another confirm menu in order to print
your level path. The confirm menu warns you may leak sensitive
information if you are streaming.

Screenshots:
https://i.imgur.com/0Dc9jsZ.png
https://i.imgur.com/UhDgXqj.png
https://i.imgur.com/Z0ftQnH.png

Fixes #853.
This commit is contained in:
Misa 2021-12-22 00:58:27 -08:00
parent 8ba1325d0f
commit f7454baffa
4 changed files with 42 additions and 19 deletions

View file

@ -5947,10 +5947,20 @@ void Game::createmenu( enum Menu::MenuName t, bool samemenu/*= false*/ )
option("level editor");
#endif
option("open level folder", FILESYSTEM_openDirectoryEnabled());
option("show level folder path");
option("back to menu");
menuyoff = -40;
maxspacing = 15;
break;
case Menu::confirmshowlevelspath:
option("no, don't show me");
option("yes, reveal the path");
menuyoff = -10;
break;
case Menu::showlevelspath:
option("return to levels");
menuyoff = 60;
break;
case Menu::levellist:
if(cl.ListOfMetaData.size()==0)
{

View file

@ -37,6 +37,8 @@ namespace Menu
{
mainmenu,
playerworlds,
confirmshowlevelspath,
showlevelspath,
levellist,
quickloadlevel,
deletequicklevel,

View file

@ -567,6 +567,11 @@ static void menuactionpress(void)
}
break;
case OFFSET+3:
music.playef(11);
game.createmenu(Menu::confirmshowlevelspath);
map.nexttowercolour();
break;
case OFFSET+4:
//back
music.playef(11);
game.returnmenu();
@ -576,6 +581,23 @@ static void menuactionpress(void)
#undef OFFSET
break;
#endif
case Menu::confirmshowlevelspath:
{
int prevmenuoption = game.currentmenuoption; /* returnmenu destroys this */
music.playef(11);
game.returnmenu();
map.nexttowercolour();
if (prevmenuoption == 1)
{
game.createmenu(Menu::showlevelspath);
}
break;
}
case Menu::showlevelspath:
music.playef(11);
game.returntomenu(Menu::playerworlds);
map.nexttowercolour();
break;
case Menu::errornostart:
music.playef(11);
game.createmenu(Menu::mainmenu);

View file

@ -1367,26 +1367,15 @@ static void menurender(void)
graphics.Print( -1, 135, "the intermission levels.", tr, tg, tb, true);
break;
case Menu::playerworlds:
{
std::string tempstring = FILESYSTEM_getUserLevelDirectory();
if(tempstring.length()>80){
graphics.Print( -1, 160, "To install new player levels, copy", tr, tg, tb, true);
graphics.Print( -1, 170, "the .vvvvvv files to this folder:", tr, tg, tb, true);
graphics.Print( 320-((tempstring.length()-80)*8), 190, tempstring.substr(0,tempstring.length()-80), tr, tg, tb);
graphics.Print( 0, 200, tempstring.substr(tempstring.length()-80,40), tr, tg, tb);
graphics.Print( 0, 210, tempstring.substr(tempstring.length()-40,40), tr, tg, tb);
}else if(tempstring.length()>40){
graphics.Print( -1, 170, "To install new player levels, copy", tr, tg, tb, true);
graphics.Print( -1, 180, "the .vvvvvv files to this folder:", tr, tg, tb, true);
graphics.Print( 320-((tempstring.length()-40)*8), 200, tempstring.substr(0,tempstring.length()-40), tr, tg, tb);
graphics.Print( 0, 210, tempstring.substr(tempstring.length()-40,40), tr, tg, tb);
}else{
graphics.Print( -1, 180, "To install new player levels, copy", tr, tg, tb, true);
graphics.Print( -1, 190, "the .vvvvvv files to this folder:", tr, tg, tb, true);
graphics.Print( 320-(tempstring.length()*8), 210, tempstring, tr, tg, tb);
}
graphics.PrintWrap(-1, 180, "To install new player levels, copy the .vvvvvv files to the levels folder.", tr, tg, tb, true, 10, 304);
break;
case Menu::confirmshowlevelspath:
graphics.PrintWrap(-1, 80, "Are you sure you want to show the levels path? This may reveal sensitive information if you are streaming.", tr, tg, tb, true, 10, 304);
break;
case Menu::showlevelspath:
graphics.Print(-1, 40, "The levels path is:", tr, tg, tb, true);
graphics.PrintWrap(0, 60, FILESYSTEM_getUserLevelDirectory(), tr, tg, tb, false, 10, 320);
break;
}
case Menu::errorsavingsettings:
graphics.Print( -1, 95, "ERROR: Could not save settings file!", tr, tg, tb, true);
break;