Don't show ping if no one else is racing

This commit is contained in:
James R 2020-06-03 17:08:41 -07:00
parent 3f6e8aed39
commit e11101f69a
3 changed files with 34 additions and 1 deletions

View file

@ -5736,6 +5736,18 @@ INT32 D_NumPlayers(void)
return num;
}
/** Return whether a player is a real person (not a CPU) and not spectating.
*/
boolean D_IsPlayerHumanAndGaming (INT32 player_number)
{
player_t * player = &players[player_number];
return (
playeringame[player_number] &&
! player->spectator &&
! player->bot
);
}
tic_t GetLag(INT32 node)
{
return gametic - nettics[node];

View file

@ -629,6 +629,7 @@ extern UINT8 playernode[MAXPLAYERS];
extern UINT8 playerconsole[MAXPLAYERS];
INT32 D_NumPlayers(void);
boolean D_IsPlayerHumanAndGaming(INT32 player_number);
void D_ResetTiccmds(void);
tic_t GetLag(INT32 node);

View file

@ -1375,6 +1375,8 @@ static inline boolean I_SkipFrame(void)
//
void I_FinishUpdate(void)
{
int player;
if (rendermode == render_none)
return; //Alam: No software or OpenGl surface
@ -1389,8 +1391,26 @@ void I_FinishUpdate(void)
if (cv_showping.value && netgame &&
( consoleplayer != serverplayer || ! server_lagless ))
{
if (server_lagless)
{
if (consoleplayer != serverplayer)
SCR_DisplayLocalPing();
}
else
{
for (
player = 1;
player < MAXPLAYERS;
player++
){
if (D_IsPlayerHumanAndGaming(player))
{
SCR_DisplayLocalPing();
break;
}
}
}
}
}
if (rendermode == render_soft && screens[0])