Goner Setup: Background has stronger presence

- Show pure blue with NO SIGNAL when Video Options have not been configured
- Show underneath other menus
This commit is contained in:
toaster 2023-12-07 23:03:58 +00:00
parent 91682c3250
commit ae8db80a75
3 changed files with 26 additions and 5 deletions

View file

@ -206,6 +206,7 @@ extern menuitem_t MAIN_Goner[];
extern menu_t MAIN_GonerDef;
void M_GonerTick(void);
void M_DrawGonerBack(void);
void M_GonerProfile(INT32 choice);
void M_GonerTutorial(INT32 choice);
void M_GonerResetLooking(int type);

View file

@ -785,7 +785,9 @@ void M_Drawer(void)
if (menuactive)
{
boolean drawbgroutine = false;
if (gamestate == GS_MENU)
boolean trulystarted = M_GameTrulyStarted();
if (gamestate == GS_MENU && trulystarted)
{
if (currentMenu->bgroutine)
drawbgroutine = true;
@ -798,7 +800,11 @@ void M_Drawer(void)
&& (currentMenu->behaviourflags & MBF_DRAWBGWHILEPLAYING))
drawbgroutine = true;
if (!WipeInAction && currentMenu != &PAUSE_PlaybackMenuDef)
if (!Playing() && !trulystarted)
{
M_DrawGonerBack();
}
else if (!WipeInAction && currentMenu != &PAUSE_PlaybackMenuDef)
{
V_DrawFadeScreen(122, 3);
}
@ -3861,7 +3867,7 @@ void M_DrawMPServerBrowser(void)
void M_DrawOptionsCogs(void)
{
// the background isn't drawn outside of being in the main menu state.
if (gamestate == GS_MENU)
if (gamestate == GS_MENU && M_GameTrulyStarted())
{
patch_t *back[3] = {W_CachePatchName("OPT_BG1", PU_CACHE), W_CachePatchName("OPT_BG2", PU_CACHE), W_CachePatchName("OPT_BG3", PU_CACHE)};
INT32 tflag = 0;

View file

@ -33,7 +33,6 @@ menuitem_t MAIN_Goner[] =
{.routine = M_GonerTutorial}, 0, 0},
};
static void M_DrawGonerBack(void);
static void M_GonerDrawer(void);
menu_t MAIN_GonerDef = {
@ -497,10 +496,25 @@ void M_GonerTick(void)
}
}
static void M_DrawGonerBack(void)
void M_DrawGonerBack(void)
{
srb2::Draw drawer = srb2::Draw();
if (gamedata->gonerlevel <= GDGONER_VIDEO)
{
drawer
.width(BASEVIDWIDTH)
.height(BASEVIDHEIGHT)
.fill(157);
drawer
.xy(10, 10)
.font(srb2::Draw::Font::kConsole)
.flags(V_ADD|V_10TRANS)
.text("NO SIGNAL");
return;
}
drawer
.width(BASEVIDWIDTH)
.height(BASEVIDHEIGHT)