# HG changeset patch # User Adam Kaminski # Date 1641495386 18000 # Thu Jan 06 13:56:26 2022 -0500 # Node ID 0054042c390e03eb92824bc80a520d314e6e9cbb # Parent 2fdc8e6949e867275ef0531fee93246173d4f2fe Fixed: the bottom string on the HUD left an extra hyphen while spying on a player that didn't have any allies in co-op game modes. diff -r 2fdc8e6949e8 -r 0054042c390e src/g_shared/st_hud.cpp --- a/src/g_shared/st_hud.cpp Wed Jan 05 10:52:54 2022 -0500 +++ b/src/g_shared/st_hud.cpp Thu Jan 06 13:56:26 2022 -0500 @@ -476,21 +476,16 @@ if (( players[ulDisplayPlayer].bSpectating == false ) && (( GAMEMODE_GetCurrentFlags( ) & GMF_DONTPRINTPLAYERSLEFT ) == false )) { GAMESTATE_e gamestate = GAMEMODE_GetState( ); + FString playersLeftString; // [AK] Draw a message showing that we're waiting for players if we are. if ( gamestate == GAMESTATE_WAITFORPLAYERS ) { - if ( ulDisplayPlayer != static_cast( consoleplayer )) - bottomString += " - "; - - bottomString += TEXTCOLOR_RED "Waiting for players"; + playersLeftString = TEXTCOLOR_RED "Waiting for players"; } // Print the totals for living and dead allies/enemies. else if (( gamestate == GAMESTATE_INPROGRESS ) && ( GAMEMODE_GetCurrentFlags( ) & GMF_DEADSPECTATORS )) { - if ( ulDisplayPlayer != static_cast( consoleplayer )) - 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 ) @@ -499,40 +494,48 @@ { if ( g_lNumAlliesLeft < 1 ) { - bottomString += TEXTCOLOR_RED "Last Player Alive"; // Uh-oh. + playersLeftString = 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" ); + playersLeftString.Format( TEXTCOLOR_GRAY "%d ", static_cast( g_lNumAlliesLeft )); + playersLeftString.AppendFormat( TEXTCOLOR_RED "all%s left", g_lNumAlliesLeft != 1 ? "ies" : "y" ); } } } // Last Man Standing, TLMS, etc else { - bottomString.AppendFormat( TEXTCOLOR_GRAY "%d ", static_cast( g_lNumOpponentsLeft )); - bottomString.AppendFormat( TEXTCOLOR_RED "opponent%s", g_lNumOpponentsLeft != 1 ? "s" : "" ); + playersLeftString.Format( TEXTCOLOR_GRAY "%d ", static_cast( g_lNumOpponentsLeft )); + playersLeftString.AppendFormat( TEXTCOLOR_RED "opponent%s", g_lNumOpponentsLeft != 1 ? "s" : "" ); // [AK] Only print how many teammates are left if we actually have any. if (( GAMEMODE_GetCurrentFlags( ) & GMF_PLAYERSONTEAMS ) && ( g_bHasAllies )) { if ( g_lNumAlliesLeft < 1 ) { - bottomString += " left - allies dead"; + playersLeftString += " left - allies dead"; } else { - bottomString.AppendFormat( ", " TEXTCOLOR_GRAY "%d ", static_cast( g_lNumAlliesLeft )); - bottomString.AppendFormat( TEXTCOLOR_RED "all%s left", g_lNumAlliesLeft != 1 ? "ies" : "y" ); + playersLeftString.AppendFormat( ", " TEXTCOLOR_GRAY "%d ", static_cast( g_lNumAlliesLeft )); + playersLeftString.AppendFormat( TEXTCOLOR_RED "all%s left", g_lNumAlliesLeft != 1 ? "ies" : "y" ); } } else { - bottomString += " left"; + playersLeftString += " left"; } } } + + if ( playersLeftString.Len( ) > 0 ) + { + if ( ulDisplayPlayer != static_cast( consoleplayer )) + bottomString += " - "; + + bottomString += playersLeftString; + } } // [AK] Show how much time is left before we can respawn if we had to wait for more than one second.