G_SaveGameData: Remove the "writtengamedata" secondary counter

Instead, subtract from the associated "numgamedata" variable and check if nonzero to continue.
This commit is contained in:
toaster 2023-05-28 19:00:06 +01:00
parent 8d9b42e49b
commit 0b5124b8c4

View file

@ -5220,7 +5220,7 @@ void G_SaveGameData(void)
}
}
length += 4 + (numgamedatacups * (4+16));
length += 4 + (numgamedatacups * (MAXCUPNAME+4));
if (P_SaveBufferAlloc(&save, length) == false)
{
@ -5313,11 +5313,10 @@ void G_SaveGameData(void)
// Main records
WRITEUINT32(save.p, numgamedatamapheaders); // 4
if (numgamedatamapheaders)
{
// numgamedatamapheaders * (MAXMAPLUMPNAME+1+4+4)
UINT32 writtengamedatamapheaders = 0;
for (i = 0; i < nummapheaders; i++)
{
if (!(mapheaderinfo[i]->records.mapvisited & MV_MAX))
@ -5337,11 +5336,11 @@ void G_SaveGameData(void)
WRITEUINT32(save.p, mapheaderinfo[i]->records.time);
WRITEUINT32(save.p, mapheaderinfo[i]->records.lap);
if (++writtengamedatamapheaders >= numgamedatamapheaders)
if (--numgamedatamapheaders == 0)
break;
}
if (writtengamedatamapheaders < numgamedatamapheaders)
if (numgamedatamapheaders)
{
for (unloadedmap = unloadedmapheaders; unloadedmap; unloadedmap = unloadedmap->next)
{
@ -5355,7 +5354,7 @@ void G_SaveGameData(void)
WRITEUINT32(save.p, unloadedmap->records.time);
WRITEUINT32(save.p, unloadedmap->records.lap);
if (++writtengamedatamapheaders >= numgamedatamapheaders)
if (--numgamedatamapheaders == 0)
break;
}
}
@ -5364,10 +5363,9 @@ void G_SaveGameData(void)
WRITEUINT32(save.p, numgamedatacups); // 4
if (numgamedatacups)
{
// (numgamedatacups * (4+16))
UINT32 writtengamedatacups = 0;
// numgamedatacups * (MAXCUPNAME+4)
#define WRITECUPWINDATA(maybeunloadedcup) \
for (i = 0; i < KARTGP_MAX; i++) \
@ -5389,11 +5387,11 @@ void G_SaveGameData(void)
WRITECUPWINDATA(cup);
if (++writtengamedatacups >= numgamedatacups)
if (--numgamedatacups == 0)
break;
}
if (writtengamedatacups < numgamedatacups)
if (numgamedatacups)
{
for (unloadedcup = unloadedcupheaders; unloadedcup; unloadedcup = unloadedcup->next)
{
@ -5404,7 +5402,7 @@ void G_SaveGameData(void)
WRITECUPWINDATA(unloadedcup);
if (++writtengamedatacups >= numgamedatacups)
if (--numgamedatacups == 0)
break;
}
}