mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2024-12-23 10:09:43 +01:00
Don't go back to main menu when deleting main game save data
Going back to the main menu allowed for glitchiness to occur if you deleted your save data while in in-game options. This meant you could then load back in to the game, and then quit to the menu, then open the options and then jump back in-game, exploring the state of the game after hardreset() had been called on it. Which is: pretty glitchy. For example, this meant having your room coordinates be 0,0 (which is different from 100,100, which is the actual 0,0, thanks for the 100-indexing Terry), which caused some of the room transitions to be disabled because room transitions were disabled if the game.door_up/down/left/right variables were -2 or less, and they were computed based on room coordinates, which meant some of them went negative if you were 0,0 and not 100,100. At least this was the case until I removed those variables for, at best, doing nothing, and at worst, being actively harmful. Anyways, so deleting your save data now just takes you back to the previous menu, much like deleting custom level data does. I don't know why deleting save data put you back on the main menu in the first place. It's not like the options menu needed to be reloaded or anything. I checked and this was the behavior in 2.0 as well, so it was probably added for a dumb reason. I considered prohibiting data deletion if you were ingame_titlemode, but as of the moment it seems to be okay (if albeit weird, e.g. returning to menu while in Secret Lab doesn't place your cursor on the "play" button), and I can always add such a prohibition later if it was really causing problems. Can't think of anything bad off of the top of my head, though. Btw thanks to Elomavi for discovering that you could do this glitch.
This commit is contained in:
parent
1924ca53ac
commit
2770353142
1 changed files with 2 additions and 4 deletions
|
@ -1473,8 +1473,6 @@ static void menuactionpress(void)
|
||||||
case 0:
|
case 0:
|
||||||
//back
|
//back
|
||||||
music.playef(11);
|
music.playef(11);
|
||||||
game.returnmenu();
|
|
||||||
map.nexttowercolour();
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
//yep
|
//yep
|
||||||
|
@ -1485,10 +1483,10 @@ static void menuactionpress(void)
|
||||||
game.deletesettings();
|
game.deletesettings();
|
||||||
game.flashlight = 5;
|
game.flashlight = 5;
|
||||||
game.screenshake = 15;
|
game.screenshake = 15;
|
||||||
game.createmenu(Menu::mainmenu);
|
|
||||||
map.nexttowercolour();
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
game.returnmenu();
|
||||||
|
map.nexttowercolour();
|
||||||
break;
|
break;
|
||||||
case Menu::clearcustomdatamenu:
|
case Menu::clearcustomdatamenu:
|
||||||
switch (game.currentmenuoption)
|
switch (game.currentmenuoption)
|
||||||
|
|
Loading…
Reference in a new issue