From 06c049bb7e6a1323b97f8e6e74a91c5a56a5da2a Mon Sep 17 00:00:00 2001 From: toaster Date: Sat, 27 Jan 2024 00:02:16 +0000 Subject: [PATCH] More consistent lastOn --> itemOn and BGImage setting Fixes Mari's background image bug --- src/d_clisrv.c | 1 + src/k_menufunc.c | 9 +++++---- src/menus/transient/pause-game.c | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 72478f55b..9a653368f 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -2490,6 +2490,7 @@ static void Command_connect(void) // Menu restore state. restoreMenu = &PLAY_MP_OptSelectDef; + currentMenu->lastOn = itemOn; Music_Remap("menu", "NETMD2"); diff --git a/src/k_menufunc.c b/src/k_menufunc.c index 22f3c3c0b..b54696c2b 100644 --- a/src/k_menufunc.c +++ b/src/k_menufunc.c @@ -667,8 +667,6 @@ void M_StartControlPanel(void) } } - M_PickMenuBGMap(); - if (M_GameTrulyStarted() == false) { // Are you ready for the First Boot Experience? @@ -713,14 +711,15 @@ void M_StartControlPanel(void) M_PlayMenuJam(); } + + itemOn = currentMenu->lastOn; + M_UpdateMenuBGImage(true); } else { M_OpenPauseMenu(); } - itemOn = currentMenu->lastOn; - CON_ToggleOff(); // move away console } @@ -741,6 +740,8 @@ void M_ClearMenus(boolean callexitmenufunc) COM_BufAddText(va("saveconfig \"%s\" -silent\n", configfile)); #endif //Alam: But not on the Dreamcast's VMUs + currentMenu->lastOn = itemOn; + if (gamestate == GS_MENU) // Back to title screen { int i; diff --git a/src/menus/transient/pause-game.c b/src/menus/transient/pause-game.c index 762b778cc..a04f3353c 100644 --- a/src/menus/transient/pause-game.c +++ b/src/menus/transient/pause-game.c @@ -123,7 +123,7 @@ void M_OpenPauseMenu(void) pausemenu.openoffset.dist = 0; pausemenu.closing = false; - currentMenu->lastOn = mpause_continue; // Make sure we select "RESUME GAME" by default + itemOn = currentMenu->lastOn = mpause_continue; // Make sure we select "RESUME GAME" by default // Now the hilarious balancing act of deciding what options should be enabled and which ones shouldn't be! // By default, disable anything sensitive: