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; extern menu_t MAIN_GonerDef;
void M_GonerTick(void); void M_GonerTick(void);
void M_DrawGonerBack(void);
void M_GonerProfile(INT32 choice); void M_GonerProfile(INT32 choice);
void M_GonerTutorial(INT32 choice); void M_GonerTutorial(INT32 choice);
void M_GonerResetLooking(int type); void M_GonerResetLooking(int type);

View file

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

View file

@ -33,7 +33,6 @@ menuitem_t MAIN_Goner[] =
{.routine = M_GonerTutorial}, 0, 0}, {.routine = M_GonerTutorial}, 0, 0},
}; };
static void M_DrawGonerBack(void);
static void M_GonerDrawer(void); static void M_GonerDrawer(void);
menu_t MAIN_GonerDef = { 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(); 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 drawer
.width(BASEVIDWIDTH) .width(BASEVIDWIDTH)
.height(BASEVIDHEIGHT) .height(BASEVIDHEIGHT)