From a0cdc6b71af84e1415c03237d0e173df3a959528 Mon Sep 17 00:00:00 2001 From: toaster Date: Sun, 26 Mar 2023 22:07:44 +0100 Subject: [PATCH] FREE PLAY: Make a little more consistent - Cooperative gametypes do not count as FREE PLAY - Sealed Stars count as a Cooperative gametype - Fix Battle Fullscreen having had inverted presence of FREE PLAY since bosses were added --- src/k_hud.c | 5 +++-- src/k_kart.c | 5 +++++ src/m_cond.c | 4 ++++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/k_hud.c b/src/k_hud.c index ddce61c2b..229cadcfb 100644 --- a/src/k_hud.c +++ b/src/k_hud.c @@ -4294,6 +4294,7 @@ static void K_drawBattleFullscreen(void) } // FREE PLAY? + if (K_Cooperative() == false) { UINT8 i; @@ -4306,7 +4307,7 @@ static void K_drawBattleFullscreen(void) break; } - if (i != MAXPLAYERS) + if (i == MAXPLAYERS) K_drawKartFreePlay(); } } @@ -5180,7 +5181,7 @@ void K_drawKartHUD(void) V_DrawScaledPatch(BASEVIDWIDTH/2 - (SHORT(kp_yougotem->width)/2), 32, V_HUDTRANS, kp_yougotem); // Draw FREE PLAY. - if (islonesome) + if (islonesome && K_Cooperative() == false) K_drawKartFreePlay(); if (r_splitscreen == 0 && (stplyr->pflags & PF_WRONGWAY) && ((leveltime / 8) & 1)) diff --git a/src/k_kart.c b/src/k_kart.c index 675b4d1a7..84bd29929 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -11699,6 +11699,11 @@ boolean K_Cooperative(void) return true; } + if (specialstageinfo.valid) + { + return true; + } + return false; } diff --git a/src/m_cond.c b/src/m_cond.c index 5c7016c7a..4e3f31392 100644 --- a/src/m_cond.c +++ b/src/m_cond.c @@ -628,6 +628,10 @@ static boolean M_NotFreePlay(player_t *player) { UINT8 i; + // Rounds that permit Cooperative play can be played by yourself without being FREE PLAY. + if (K_Cooperative()) + return true; + for (i = 0; i < MAXPLAYERS; i++) { if (playeringame[i] == false || players[i].spectator == true)