mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2024-12-23 01:59:43 +01:00
Move script.hardreset() to after quit to menu
This cleans up a whole lot of kludge variables, because this aggressive hardreset() right as ACTION is pressed doesn't do anyone any favors. This aggressive hardreset() was probably here because of the whole fact that exiting to the menu uses Terry's State Machine, to minimize the chances of interruption, but it actually causes more issues and allows towers to interrupt the fadeout. And we should fix the root cause (the usage of the state machine) instead of patching together some kludge.
This commit is contained in:
parent
6ac41e112c
commit
b59e5a8346
4 changed files with 9 additions and 33 deletions
|
@ -135,7 +135,6 @@ void Game::init(void)
|
||||||
|
|
||||||
teleportscript = "";
|
teleportscript = "";
|
||||||
savemystats = false;
|
savemystats = false;
|
||||||
menukludge = false;
|
|
||||||
quickrestartkludge = false;
|
quickrestartkludge = false;
|
||||||
|
|
||||||
tapleft = 0;
|
tapleft = 0;
|
||||||
|
@ -231,11 +230,6 @@ void Game::init(void)
|
||||||
customleveltitle="";
|
customleveltitle="";
|
||||||
createmenu(Menu::mainmenu);
|
createmenu(Menu::mainmenu);
|
||||||
|
|
||||||
wasintimetrial = false;
|
|
||||||
wasinintermission = false;
|
|
||||||
wasinnodeathmode = false;
|
|
||||||
wasincustommode = false;
|
|
||||||
|
|
||||||
deathcounts = 0;
|
deathcounts = 0;
|
||||||
gameoverdelay = 0;
|
gameoverdelay = 0;
|
||||||
frames = 0;
|
frames = 0;
|
||||||
|
@ -7334,19 +7328,19 @@ void Game::quittomenu()
|
||||||
//or "who do you want to play the level with?"
|
//or "who do you want to play the level with?"
|
||||||
//or "do you want cutscenes?"
|
//or "do you want cutscenes?"
|
||||||
//or the confirm-load-quicksave menu
|
//or the confirm-load-quicksave menu
|
||||||
if (wasintimetrial)
|
if (intimetrial)
|
||||||
{
|
{
|
||||||
returntomenu(Menu::timetrials);
|
returntomenu(Menu::timetrials);
|
||||||
}
|
}
|
||||||
else if (wasinintermission)
|
else if (inintermission)
|
||||||
{
|
{
|
||||||
returntomenu(Menu::intermissionmenu);
|
returntomenu(Menu::intermissionmenu);
|
||||||
}
|
}
|
||||||
else if (wasinnodeathmode)
|
else if (nodeathmode)
|
||||||
{
|
{
|
||||||
returntomenu(Menu::playmodes);
|
returntomenu(Menu::playmodes);
|
||||||
}
|
}
|
||||||
else if (wasincustommode)
|
else if (map.custommode)
|
||||||
{
|
{
|
||||||
returntomenu(Menu::levellist);
|
returntomenu(Menu::levellist);
|
||||||
}
|
}
|
||||||
|
@ -7358,8 +7352,5 @@ void Game::quittomenu()
|
||||||
{
|
{
|
||||||
createmenu(Menu::mainmenu);
|
createmenu(Menu::mainmenu);
|
||||||
}
|
}
|
||||||
wasintimetrial = false;
|
script.hardreset();
|
||||||
wasinintermission = false;
|
|
||||||
wasinnodeathmode = false;
|
|
||||||
wasincustommode = false;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -234,12 +234,6 @@ public:
|
||||||
|
|
||||||
int creditposx, creditposy, creditposdelay;
|
int creditposx, creditposy, creditposdelay;
|
||||||
|
|
||||||
//Menu kludge...
|
|
||||||
bool wasintimetrial;
|
|
||||||
bool wasinintermission;
|
|
||||||
bool wasinnodeathmode;
|
|
||||||
bool wasincustommode;
|
|
||||||
|
|
||||||
|
|
||||||
//Sine Wave Ninja Minigame
|
//Sine Wave Ninja Minigame
|
||||||
bool swnmode;
|
bool swnmode;
|
||||||
|
@ -351,7 +345,6 @@ public:
|
||||||
int stretchMode;
|
int stretchMode;
|
||||||
int controllerSensitivity;
|
int controllerSensitivity;
|
||||||
|
|
||||||
bool menukludge;
|
|
||||||
bool quickrestartkludge;
|
bool quickrestartkludge;
|
||||||
|
|
||||||
//Custom stuff
|
//Custom stuff
|
||||||
|
|
|
@ -1879,7 +1879,6 @@ void mapinput()
|
||||||
graphics.resumegamemode = true;
|
graphics.resumegamemode = true;
|
||||||
obj.removeallblocks();
|
obj.removeallblocks();
|
||||||
game.activeactivity = -1;
|
game.activeactivity = -1;
|
||||||
game.menukludge = false;
|
|
||||||
if (game.menupage >= 20)
|
if (game.menupage >= 20)
|
||||||
{
|
{
|
||||||
game.state = 96;
|
game.state = 96;
|
||||||
|
@ -1968,13 +1967,6 @@ void mapinput()
|
||||||
//Kill contents of offset render buffer, since we do that for some reason.
|
//Kill contents of offset render buffer, since we do that for some reason.
|
||||||
//This fixes an apparent frame flicker.
|
//This fixes an apparent frame flicker.
|
||||||
FillRect(graphics.tempBuffer, 0x000000);
|
FillRect(graphics.tempBuffer, 0x000000);
|
||||||
if (game.intimetrial || game.insecretlab || game.nodeathmode) game.menukludge = true;
|
|
||||||
game.wasintimetrial = game.intimetrial;
|
|
||||||
game.wasinintermission = game.inintermission;
|
|
||||||
game.wasinnodeathmode = game.nodeathmode;
|
|
||||||
game.wasincustommode = map.custommode;
|
|
||||||
script.hardreset();
|
|
||||||
if(graphics.setflipmode) graphics.flipmode = true;
|
|
||||||
graphics.fademode = 2;
|
graphics.fademode = 2;
|
||||||
music.fadeout();
|
music.fadeout();
|
||||||
map.nexttowercolour();
|
map.nexttowercolour();
|
||||||
|
|
|
@ -2353,7 +2353,7 @@ void maprender()
|
||||||
|
|
||||||
if (graphics.flipmode)
|
if (graphics.flipmode)
|
||||||
{
|
{
|
||||||
if (game.intimetrial || game.insecretlab || game.nodeathmode || game.menukludge)
|
if (game.intimetrial || game.insecretlab || game.nodeathmode)
|
||||||
{
|
{
|
||||||
graphics.Print(0, 135, "Return to main menu?", 196, 196, 255 - help.glow, true);
|
graphics.Print(0, 135, "Return to main menu?", 196, 196, 255 - help.glow, true);
|
||||||
}
|
}
|
||||||
|
@ -2369,7 +2369,7 @@ void maprender()
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
||||||
if (game.intimetrial || game.insecretlab || game.nodeathmode || game.menukludge)
|
if (game.intimetrial || game.insecretlab || game.nodeathmode)
|
||||||
{
|
{
|
||||||
graphics.Print(0, 80, "Return to main menu?", 196, 196, 255 - help.glow, true);
|
graphics.Print(0, 80, "Return to main menu?", 196, 196, 255 - help.glow, true);
|
||||||
}
|
}
|
||||||
|
@ -2389,7 +2389,7 @@ void maprender()
|
||||||
|
|
||||||
if (graphics.flipmode)
|
if (graphics.flipmode)
|
||||||
{
|
{
|
||||||
if (game.intimetrial || game.insecretlab || game.nodeathmode || game.menukludge)
|
if (game.intimetrial || game.insecretlab || game.nodeathmode)
|
||||||
{
|
{
|
||||||
graphics.Print(0, 135, "Return to main menu?", 196, 196, 255 - help.glow, true);
|
graphics.Print(0, 135, "Return to main menu?", 196, 196, 255 - help.glow, true);
|
||||||
}
|
}
|
||||||
|
@ -2404,7 +2404,7 @@ void maprender()
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (game.intimetrial || game.insecretlab || game.nodeathmode || game.menukludge)
|
if (game.intimetrial || game.insecretlab || game.nodeathmode)
|
||||||
{
|
{
|
||||||
graphics.Print(0, 80, "Return to main menu?", 196, 196, 255 - help.glow, true);
|
graphics.Print(0, 80, "Return to main menu?", 196, 196, 255 - help.glow, true);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue