mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2026-01-29 17:38:16 +03:00
Improve quit-to-menu menu handling
This stabilizes the code that handles the menu that you land on if you press Esc and quit to the menu. Instead of using Game::returnmenu(), we now use the new function Game::returntomenu() to clearly express intent that we want to return to a specific menu. So I've added another kludge variable Game::wasinintermission for the was-in-intermission case. Also, I made it so that if you didn't have a main game telesave or quicksave, you just get brought back to the main menu. Because you shouldn't be able to go to the play menu without a quicksave or telesave.
This commit is contained in:
@@ -1345,11 +1345,28 @@ void Game::updatestate()
|
||||
//or "who do you want to play the level with?"
|
||||
//or "do you want cutscenes?"
|
||||
//or the confirm-load-quicksave menu
|
||||
if ((!wasintimetrial && !wasincustommode) || currentmenuname == Menu::quickloadlevel)
|
||||
if (wasintimetrial)
|
||||
{
|
||||
returnmenu();
|
||||
returntomenu(Menu::timetrials);
|
||||
}
|
||||
else if (wasinintermission)
|
||||
{
|
||||
returntomenu(Menu::intermissionmenu);
|
||||
}
|
||||
else if (wasincustommode)
|
||||
{
|
||||
returntomenu(Menu::levellist);
|
||||
}
|
||||
else if (game.telesummary != "" || game.quicksummary != "")
|
||||
{
|
||||
returntomenu(Menu::play);
|
||||
}
|
||||
else
|
||||
{
|
||||
createmenu(Menu::mainmenu);
|
||||
}
|
||||
wasintimetrial = false;
|
||||
wasinintermission = false;
|
||||
wasincustommode = false;
|
||||
state = 0;
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user