mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2024-12-22 17:49:43 +01:00
Add being able to delete a custom level quicksave
Custom level quicksaves are NOT affected by the clear data menu, so the player should be able to delete quicksaves this way. The quicksave confirmation menu now has an extra option to delete the save (and that option also has its own confirmation menu before deleting).
This commit is contained in:
parent
12e8924efc
commit
3a2265ef0d
4 changed files with 45 additions and 0 deletions
|
@ -6033,9 +6033,15 @@ void Game::createmenu( enum Menu::MenuName t, bool samemenu/*= false*/ )
|
||||||
case Menu::quickloadlevel:
|
case Menu::quickloadlevel:
|
||||||
option("continue from save");
|
option("continue from save");
|
||||||
option("start from beginning");
|
option("start from beginning");
|
||||||
|
option("delete save");
|
||||||
option("back to levels");
|
option("back to levels");
|
||||||
menuyoff = -30;
|
menuyoff = -30;
|
||||||
break;
|
break;
|
||||||
|
case Menu::deletequicklevel:
|
||||||
|
option("no! don't delete");
|
||||||
|
option("yes, delete save");
|
||||||
|
menuyoff = 64;
|
||||||
|
break;
|
||||||
case Menu::youwannaquit:
|
case Menu::youwannaquit:
|
||||||
option("yes, quit");
|
option("yes, quit");
|
||||||
option("no, return");
|
option("no, return");
|
||||||
|
@ -6537,6 +6543,16 @@ void Game::deletetele(void)
|
||||||
telesummary = "";
|
telesummary = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Game::customdeletequick(const std::string& file)
|
||||||
|
{
|
||||||
|
const std::string path = "saves/" + file.substr(7) + ".vvv";
|
||||||
|
|
||||||
|
if (!FILESYSTEM_delete(path.c_str()))
|
||||||
|
{
|
||||||
|
printf("Error deleting %s\n", path.c_str());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void Game::swnpenalty(void)
|
void Game::swnpenalty(void)
|
||||||
{
|
{
|
||||||
//set the SWN clock back to the closest 5 second interval
|
//set the SWN clock back to the closest 5 second interval
|
||||||
|
|
|
@ -32,6 +32,7 @@ namespace Menu
|
||||||
playerworlds,
|
playerworlds,
|
||||||
levellist,
|
levellist,
|
||||||
quickloadlevel,
|
quickloadlevel,
|
||||||
|
deletequicklevel,
|
||||||
youwannaquit,
|
youwannaquit,
|
||||||
errornostart,
|
errornostart,
|
||||||
errorsavingsettings,
|
errorsavingsettings,
|
||||||
|
@ -197,6 +198,8 @@ public:
|
||||||
void customloadquick(std::string savfile);
|
void customloadquick(std::string savfile);
|
||||||
void loadquick(void);
|
void loadquick(void);
|
||||||
|
|
||||||
|
void customdeletequick(const std::string& file);
|
||||||
|
|
||||||
void loadsummary(void);
|
void loadsummary(void);
|
||||||
|
|
||||||
void readmaingamesave(tinyxml2::XMLDocument& doc);
|
void readmaingamesave(tinyxml2::XMLDocument& doc);
|
||||||
|
|
|
@ -473,6 +473,11 @@ static void menuactionpress(void)
|
||||||
startmode(22);
|
startmode(22);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
|
music.playef(11);
|
||||||
|
game.createmenu(Menu::deletequicklevel);
|
||||||
|
map.nexttowercolour();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
music.playef(11);
|
music.playef(11);
|
||||||
game.returnmenu();
|
game.returnmenu();
|
||||||
map.nexttowercolour();
|
map.nexttowercolour();
|
||||||
|
@ -480,6 +485,23 @@ static void menuactionpress(void)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
#if !defined(NO_CUSTOM_LEVELS)
|
#if !defined(NO_CUSTOM_LEVELS)
|
||||||
|
case Menu::deletequicklevel:
|
||||||
|
switch (game.currentmenuoption)
|
||||||
|
{
|
||||||
|
default:
|
||||||
|
music.playef(11);
|
||||||
|
game.returnmenu();
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
game.customdeletequick(ed.ListOfMetaData[game.playcustomlevel].filename);
|
||||||
|
game.returntomenu(Menu::levellist);
|
||||||
|
game.flashlight = 5;
|
||||||
|
game.screenshake = 15;
|
||||||
|
music.playef(23);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
map.nexttowercolour();
|
||||||
|
break;
|
||||||
case Menu::playerworlds:
|
case Menu::playerworlds:
|
||||||
#if defined(NO_EDITOR)
|
#if defined(NO_EDITOR)
|
||||||
#define OFFSET -1
|
#define OFFSET -1
|
||||||
|
|
|
@ -546,6 +546,10 @@ static void menurender(void)
|
||||||
graphics.Print( -1, 100, "Are you sure you want to", tr, tg, tb, true);
|
graphics.Print( -1, 100, "Are you sure you want to", tr, tg, tb, true);
|
||||||
graphics.Print( -1, 110, "delete all your saved data?", tr, tg, tb, true);
|
graphics.Print( -1, 110, "delete all your saved data?", tr, tg, tb, true);
|
||||||
break;
|
break;
|
||||||
|
case Menu::deletequicklevel:
|
||||||
|
graphics.Print(-1, 100, "Are you sure you want to", tr, tg, tb, true);
|
||||||
|
graphics.Print(-1, 110, "delete your quicksave?", tr, tg, tb, true);
|
||||||
|
break;
|
||||||
case Menu::startnodeathmode:
|
case Menu::startnodeathmode:
|
||||||
graphics.Print( -1, 45, "Good luck!", tr, tg, tb, true);
|
graphics.Print( -1, 45, "Good luck!", tr, tg, tb, true);
|
||||||
graphics.Print( -1, 80, "You cannot save in this mode.", tr, tg, tb, true);
|
graphics.Print( -1, 80, "You cannot save in this mode.", tr, tg, tb, true);
|
||||||
|
|
Loading…
Reference in a new issue