Fix going to wrong menu upon quit

The problem was, if you were in a time trial and quit, it wouldn't go
back to selecting your current time trial. But also if you were in a
custom level and quit, you would still be on the playerworlds menu.

The problem was twofold: first, I simply wasn't doing the custommode
check. But secondly, I couldn't use map.custommode directly, because
whenever you quit the game aggressively hardreset()s everything
immediately when you press ACTION.

There's probably a good reason for that aggressive hardreset(), so I
won't touch that hardreset() in any way. Instead, I had to introduce two
kludge variables wasintimetrial and wasincustommode to Game, and use
those to do the check proper.
This commit is contained in:
Misa
2020-04-17 12:06:37 -07:00
committed by Ethan Lee
parent 995dc3940a
commit b02c4aac78
3 changed files with 13 additions and 1 deletions

View File

@@ -1958,6 +1958,8 @@ void mapinput()
//This fixes an apparent frame flicker.
FillRect(graphics.tempBuffer, 0x000000);
if (game.intimetrial || game.insecretlab || game.nodeathmode) game.menukludge = true;
game.wasintimetrial = game.intimetrial;
game.wasincustommode = map.custommode;
script.hardreset();
if(graphics.setflipmode) graphics.flipmode = true;
graphics.fademode = 2;