# HG changeset patch # User Adam Kaminski # Date 1626742080 14400 # Mon Jul 19 20:48:00 2021 -0400 # Node ID 17f389339417ca959b1651d5d493296b4a38ea95 # Parent f79aeef55f65dc5e1bb47212da24e33133093afb Don't print how many allies are left (or if they're all dead) on the bottom of the screen if the player never had any to begin with. diff -r f79aeef55f65 -r 17f389339417 src/g_shared/st_hud.cpp --- a/src/g_shared/st_hud.cpp Mon Jul 19 21:43:42 2021 -0400 +++ b/src/g_shared/st_hud.cpp Mon Jul 19 20:48:00 2021 -0400 @@ -88,6 +88,9 @@ // Is this player tied with another? static bool g_bIsTied = false; +// [AK] Does this player's team have other players besides themselves? +static bool g_bHasAllies = false; + // How many opponents are left standing in LMS? static LONG g_lNumOpponentsLeft = 0; @@ -310,13 +313,18 @@ { // Survival, Survival Invasion, etc if ( GAMEMODE_GetCurrentFlags( ) & GMF_COOPERATIVE ) + { + g_bHasAllies = g_ulNumPlayers > 1; g_lNumAlliesLeft = GAME_CountLivingAndRespawnablePlayers( ) - PLAYER_IsAliveOrCanRespawn( player ); + } // Last Man Standing, TLMS, etc if ( GAMEMODE_GetCurrentFlags( ) & GMF_DEATHMATCH ) { if ( GAMEMODE_GetCurrentFlags( ) & GMF_PLAYERSONTEAMS ) { + g_bHasAllies = TEAM_CountPlayers( player->Team ) > 1; + unsigned livingAndRespawnableTeammates = TEAM_CountLivingAndRespawnablePlayers( player->Team ); g_lNumOpponentsLeft = GAME_CountLivingAndRespawnablePlayers( ) - livingAndRespawnableTeammates; g_lNumAlliesLeft = livingAndRespawnableTeammates - PLAYER_IsAliveOrCanRespawn( player ); @@ -478,16 +486,20 @@ bottomString += " - "; // Survival, Survival Invasion, etc + // [AK] Only print how many allies are left if we had any to begin with. if ( GAMEMODE_GetCurrentFlags( ) & GMF_COOPERATIVE ) { - if ( g_lNumAlliesLeft < 1 ) + if ( g_bHasAllies ) { - bottomString += TEXTCOLOR_RED "Last Player Alive"; // Uh-oh. - } - else - { - bottomString.AppendFormat( TEXTCOLOR_GRAY "%d ", static_cast( g_lNumAlliesLeft )); - bottomString.AppendFormat( TEXTCOLOR_RED "all%s left", g_lNumAlliesLeft != 1 ? "ies" : "y" ); + if ( g_lNumAlliesLeft < 1 ) + { + bottomString += TEXTCOLOR_RED "Last Player Alive"; // Uh-oh. + } + else + { + bottomString.AppendFormat( TEXTCOLOR_GRAY "%d ", static_cast( g_lNumAlliesLeft )); + bottomString.AppendFormat( TEXTCOLOR_RED "all%s left", g_lNumAlliesLeft != 1 ? "ies" : "y" ); + } } } // Last Man Standing, TLMS, etc @@ -496,7 +508,8 @@ bottomString.AppendFormat( TEXTCOLOR_GRAY "%d ", static_cast( g_lNumOpponentsLeft )); bottomString.AppendFormat( TEXTCOLOR_RED "opponent%s", g_lNumOpponentsLeft != 1 ? "s" : "" ); - if ( GAMEMODE_GetCurrentFlags( ) & GMF_PLAYERSONTEAMS ) + // [AK] Only print how many teammates are left if we actually have any. + if (( GAMEMODE_GetCurrentFlags( ) & GMF_PLAYERSONTEAMS ) && ( g_bHasAllies )) { if ( g_lNumAlliesLeft < 1 ) {