From 503e4f977f231665cbd9891b05027f8a925346f2 Mon Sep 17 00:00:00 2001 From: toaster Date: Sun, 3 Feb 2019 23:37:19 +0000 Subject: [PATCH 1/2] Show WANTED and minimap in battle splits even when p1 is nuked. --- src/k_kart.c | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/src/k_kart.c b/src/k_kart.c index 218e8c6f..755f3802 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -8348,14 +8348,6 @@ void K_drawKartHUD(void) || ((splitscreen > 2 && stplyr == &players[fourthdisplayplayer]) && !camera4.chase)) K_drawKartFirstPerson(); -/* if (splitscreen == 2) // Player 4 in 3P is the minimap :p - { -#ifdef HAVE_BLUA - if (LUA_HudEnabled(hud_minimap)) -#endif - K_drawKartMinimap(); - }*/ - // Draw full screen stuff that turns off the rest of the HUD if (mapreset && stplyr == &players[displayplayer]) { @@ -8371,7 +8363,9 @@ void K_drawKartHUD(void) && stplyr->playerstate == PST_LIVE))) { K_drawBattleFullscreen(); - return; + if (!splitscreen) + return; + isfreeplay = true; // variable reuse, since isfreeplay will not be otherwise set until after everything we want to happen } // Draw the CHECK indicator before the other items, so it's overlapped by everything else @@ -8392,10 +8386,12 @@ void K_drawKartHUD(void) #ifdef HAVE_BLUA if (LUA_HudEnabled(hud_minimap)) #endif - K_drawKartMinimap(); // 3P splitscreen is handled above - + K_drawKartMinimap(); } + if (isfreeplay) + return; + // Draw the item window #ifdef HAVE_BLUA if (LUA_HudEnabled(hud_item)) From 55bb82eae8ad1367580840c807792e50932baac1 Mon Sep 17 00:00:00 2001 From: toaster Date: Sun, 3 Feb 2019 23:50:02 +0000 Subject: [PATCH 2/2] Change order of operations so that fullscreen stuff is done in front of minimap, to match other two/three players in 3/4p. --- src/k_kart.c | 59 ++++++++++++++++++++++++++-------------------------- 1 file changed, 30 insertions(+), 29 deletions(-) diff --git a/src/k_kart.c b/src/k_kart.c index 755f3802..e59fbfc9 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -8336,6 +8336,7 @@ static void K_drawCheckpointDebugger(void) void K_drawKartHUD(void) { boolean isfreeplay = false; + boolean battlefullscreen = false; // Define the X and Y for each drawn object // This is handled by console/menu values @@ -8355,42 +8356,42 @@ void K_drawKartHUD(void) return; } - if ((G_BattleGametype()) + battlefullscreen = ((G_BattleGametype()) && (stplyr->exiting || (stplyr->kartstuff[k_bumper] <= 0 && stplyr->kartstuff[k_comebacktimer] && comeback - && stplyr->playerstate == PST_LIVE))) + && stplyr->playerstate == PST_LIVE))); + + if (!battlefullscreen || splitscreen) + { + // Draw the CHECK indicator before the other items, so it's overlapped by everything else + if (cv_kartcheck.value && !splitscreen && !players[displayplayer].exiting) + K_drawKartPlayerCheck(); + + // Draw WANTED status + if (G_BattleGametype()) + { +#ifdef HAVE_BLUA + if (LUA_HudEnabled(hud_wanted)) +#endif + K_drawKartWanted(); + } + + if (cv_kartminimap.value && !titledemo) + { +#ifdef HAVE_BLUA + if (LUA_HudEnabled(hud_minimap)) +#endif + K_drawKartMinimap(); + } + } + + if (battlefullscreen) { K_drawBattleFullscreen(); - if (!splitscreen) - return; - isfreeplay = true; // variable reuse, since isfreeplay will not be otherwise set until after everything we want to happen - } - - // Draw the CHECK indicator before the other items, so it's overlapped by everything else - if (cv_kartcheck.value && !splitscreen && !players[displayplayer].exiting) - K_drawKartPlayerCheck(); - - // Draw WANTED status - if (G_BattleGametype()) - { -#ifdef HAVE_BLUA - if (LUA_HudEnabled(hud_wanted)) -#endif - K_drawKartWanted(); - } - - if (cv_kartminimap.value && !titledemo) - { -#ifdef HAVE_BLUA - if (LUA_HudEnabled(hud_minimap)) -#endif - K_drawKartMinimap(); - } - - if (isfreeplay) return; + } // Draw the item window #ifdef HAVE_BLUA