From bac297b6587e8e70a4df2f040e23fdabfb20b5cc Mon Sep 17 00:00:00 2001 From: toaster Date: Tue, 30 Oct 2018 23:01:17 +0000 Subject: [PATCH] Have HU_DrawRankings and K_drawKartPositionFaces learn a thing or two from each other, considering the latter was originally copypasted code from the former but then diverged a bit. Hopefully this solves our disconnect woes. --- src/hu_stuff.c | 4 ++-- src/k_kart.c | 11 +++++++---- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/hu_stuff.c b/src/hu_stuff.c index 16f688027..5118fb759 100644 --- a/src/hu_stuff.c +++ b/src/hu_stuff.c @@ -2733,7 +2733,7 @@ static void HU_DrawRankings(void) tab[i].name = NULL; tab[i].count = INT32_MAX; - if (!playeringame[i] || players[i].spectator) + if (!playeringame[i] || players[i].spectator || !players[i].mo) continue; numplayersingame++; @@ -2744,7 +2744,7 @@ static void HU_DrawRankings(void) UINT8 lowestposition = MAXPLAYERS; for (i = 0; i < MAXPLAYERS; i++) { - if (!playeringame[i] || players[i].spectator || completed[i]) + if (completed[i] || !playeringame[i] || players[i].spectator || !players[i].mo) continue; if (players[i].kartstuff[k_position] >= lowestposition) diff --git a/src/k_kart.c b/src/k_kart.c index f6ad03548..52d8f0ecf 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -6431,16 +6431,19 @@ static boolean K_drawKartPositionFaces(void) for (j = 0; j < numplayersingame; j++) { + UINT8 lowestposition = MAXPLAYERS; for (i = 0; i < MAXPLAYERS; i++) { if (completed[i] || !playeringame[i] || players[i].spectator || !players[i].mo) continue; - if (rankplayer[ranklines] < 0 || players[i].kartstuff[k_position] < players[rankplayer[ranklines]].kartstuff[k_position]) - { - rankplayer[ranklines] = i; - } + if (players[i].kartstuff[k_position] >= lowestposition) + continue; + + rankplayer[ranklines] = i; + lowestposition = players[i].kartstuff[k_position]; } + i = rankplayer[ranklines]; completed[i] = true;