Store scores in Grand Prix backup

This commit is contained in:
toaster 2024-03-05 16:31:39 +00:00
parent bab29c7164
commit ad6118f7a7
3 changed files with 18 additions and 1 deletions

View file

@ -4830,7 +4830,7 @@ void G_DirtyGameData(void)
// Can be called by the startup code or the menu task.
//
#define SAV_VERSIONMINOR 3
#define SAV_VERSIONMINOR 4
void G_LoadGame(void)
{

View file

@ -37,6 +37,7 @@ struct gpRank_level_t
gpRank_level_perplayer_t perPlayer[MAXSPLITSCREENPLAYERS];
};
// Please remember to update P_ArchiveMisc
struct gpRank_t
{
UINT8 numPlayers;

View file

@ -6100,6 +6100,14 @@ static inline void P_ArchiveMisc(savebuffer_t *save)
WRITEUINT8(save->p, (UINT8)rank->specialWon);
WRITEINT32(save->p, rank->scorePosition);
WRITEINT32(save->p, rank->scoreGPPoints);
WRITEINT32(save->p, rank->scoreLaps);
WRITEINT32(save->p, rank->scorePrisons);
WRITEINT32(save->p, rank->scoreRings);
WRITEINT32(save->p, rank->scoreContinues);
WRITEINT32(save->p, rank->scoreTotal);
WRITEUINT8(save->p, rank->numLevels);
for (i = 0; i < rank->numLevels; i++)
@ -6331,6 +6339,14 @@ static boolean P_UnArchiveSPGame(savebuffer_t *save)
rank->specialWon = (boolean)READUINT8(save->p);
rank->scorePosition = READINT32(save->p);
rank->scoreGPPoints = READINT32(save->p);
rank->scoreLaps = READINT32(save->p);
rank->scorePrisons = READINT32(save->p);
rank->scoreRings = READINT32(save->p);
rank->scoreContinues = READINT32(save->p);
rank->scoreTotal = READINT32(save->p);
rank->numLevels = READUINT8(save->p);
if (rank->numLevels > roundqueue.size)