From b1001d18088a59f511142f478b3862cbe4e54bb4 Mon Sep 17 00:00:00 2001 From: fickleheart Date: Sun, 14 Apr 2019 17:08:04 -0500 Subject: [PATCH] Fix writing corrupt standings that break replay hut --- src/g_game.c | 3 +++ src/y_inter.c | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/g_game.c b/src/g_game.c index 53939213..85077c7b 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -7056,6 +7056,9 @@ void G_LoadDemoInfo(menudemo_t *pdemo) pdemo->standings[count].timeorscore = READUINT32(extrainfo_p); count++; + + if (count >= MAXPLAYERS) + break; //@TODO still cycle through the rest of these if extra demo data is ever used } // I think that's everything we need? diff --git a/src/y_inter.c b/src/y_inter.c index 4fce58cc..f3708428 100644 --- a/src/y_inter.c +++ b/src/y_inter.c @@ -304,7 +304,7 @@ static void Y_CalculateMatchData(UINT8 rankingsmode, void (*comparison)(INT32)) players[i].score += data.match.increase[i]; } - if (demo.recording) + if (demo.recording && !rankingsmode) G_WriteStanding( data.match.pos[data.match.numplayers], data.match.name[data.match.numplayers],