From 10fb49668908f14368ccd35843f81743c25de49b Mon Sep 17 00:00:00 2001 From: AJ Martinez Date: Sun, 2 Apr 2023 00:29:58 -0700 Subject: [PATCH] Version field for srvstats.dat --- src/k_serverstats.c | 8 ++++++-- src/k_serverstats.h | 1 + 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/k_serverstats.c b/src/k_serverstats.c index 46aa06d3f..3e30f9290 100644 --- a/src/k_serverstats.c +++ b/src/k_serverstats.c @@ -46,7 +46,8 @@ void SV_LoadStats(void) } save.p += headerlen; - + UINT8 version = READUINT8(save.p); + numtracked = READUINT32(save.p); if (numtracked > MAXTRACKEDSERVERPLAYERS) numtracked = MAXTRACKEDSERVERPLAYERS; @@ -73,7 +74,8 @@ void SV_SaveStats(void) } */ - if (P_SaveBufferAlloc(&save, headerlen + sizeof(UINT32) + (numtracked * sizeof(serverplayer_t))) == false) + // header + version + numtracked + payload + if (P_SaveBufferAlloc(&save, headerlen + sizeof(UINT32) + sizeof(UINT8) + (numtracked * sizeof(serverplayer_t))) == false) { I_Error("No more free memory for saving server stats\n"); return; @@ -82,6 +84,8 @@ void SV_SaveStats(void) // Add header. WRITESTRINGN(save.p, SERVERSTATSHEADER, headerlen); + WRITEUINT8(save.p, SERVERSTATSVER); + WRITEUINT32(save.p, numtracked); WRITEMEM(save.p, trackedList, (numtracked * sizeof(serverplayer_t))); diff --git a/src/k_serverstats.h b/src/k_serverstats.h index 161d11cd7..ffaaf571b 100644 --- a/src/k_serverstats.h +++ b/src/k_serverstats.h @@ -27,6 +27,7 @@ extern "C" { #define SERVERSTATSFILE "srvstats.dat" #define MAXTRACKEDSERVERPLAYERS 9999 #define SERVERSTATSHEADER "Doctor Robotnik's Ring Racers Server Stats" +#define SERVERSTATSVER 1 struct serverplayer_t {