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 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) tic_t GetLag(INT32 node)
{ {
return gametic - nettics[node]; return gametic - nettics[node];

View file

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

View file

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