Fix transitions for Level Select -> Time Attack

Previous version was too specific
This commit is contained in:
toaster 2023-12-07 16:36:04 +00:00
parent 6d0f90216c
commit 91682c3250

View file

@ -3080,27 +3080,29 @@ void M_DrawLevelSelect(void)
M_DrawCupTitle(tay, &levellist.levelsearch); M_DrawCupTitle(tay, &levellist.levelsearch);
} }
static boolean M_LevelSelectHasBG(menu_t *check)
{
if (check == NULL)
check = currentMenu;
return (check == &PLAY_LevelSelectDef
|| check == &PLAY_CupSelectDef);
}
static boolean M_LevelSelectToTimeAttackTransitionHelper(void) static boolean M_LevelSelectToTimeAttackTransitionHelper(void)
{ {
if (menutransition.tics == 0) if (menutransition.tics == 0)
return false; return false;
return \ return (M_LevelSelectHasBG(menutransition.startmenu))
( != M_LevelSelectHasBG(menutransition.endmenu);
menutransition.startmenu == &PLAY_LevelSelectDef
&& menutransition.endmenu == &PLAY_TimeAttackDef
) || (
menutransition.endmenu == &PLAY_LevelSelectDef
&& menutransition.startmenu == &PLAY_TimeAttackDef
);
} }
void M_DrawSealedBack(void) void M_DrawSealedBack(void)
{ {
V_DrawFill(0, 0, BASEVIDWIDTH, BASEVIDHEIGHT, 31); V_DrawFill(0, 0, BASEVIDWIDTH, BASEVIDHEIGHT, 31);
if (currentMenu != &PLAY_LevelSelectDef if (M_LevelSelectHasBG(currentMenu) == false)
&& currentMenu != &PLAY_CupSelectDef)
return; return;
INT32 translucencylevel = 7; INT32 translucencylevel = 7;