Revert "Fix savegame taglist resizing"

This reverts commit 411cb468ae.
This commit is contained in:
Eidolon 2024-11-10 10:56:14 -06:00
parent 7e74e70c20
commit 804dab2a3f
3 changed files with 16 additions and 28 deletions

View file

@ -2478,8 +2478,8 @@ static void UnArchiveSectors(savebuffer_t *save)
// Reallocate if size differs.
if (ncount != sectors[i].tags.count)
{
sectors[i].tags.tags = (mtag_t*)Z_LevelPoolRealloc(sectors[i].tags.tags, sectors[i].tags.count * sizeof(mtag_t), ncount*sizeof(mtag_t));
sectors[i].tags.count = ncount;
sectors[i].tags.tags = (mtag_t*)Z_Realloc(sectors[i].tags.tags, ncount*sizeof(mtag_t), PU_LEVEL, NULL);
}
for (j = 0; j < ncount; j++)
@ -2741,8 +2741,8 @@ static void UnArchiveLines(savebuffer_t *save)
// Reallocate if size differs.
if (ncount != lines[i].tags.count)
{
lines[i].tags.tags = (mtag_t*)Z_LevelPoolRealloc(lines[i].tags.tags, lines[i].tags.count * sizeof(mtag_t), ncount*sizeof(mtag_t));
lines[i].tags.count = ncount;
lines[i].tags.tags = (mtag_t*)Z_Realloc(lines[i].tags.tags, ncount*sizeof(mtag_t), PU_LEVEL, NULL);
}
for (j = 0; j < ncount; j++)
@ -6949,23 +6949,25 @@ static boolean P_NetUnArchiveMisc(savebuffer_t *save, boolean reloading)
{
if (spawnss->tags.count)
{
ss->tags.count = spawnss->tags.count;
ss->tags.tags = static_cast<mtag_t *>(
memcpy(
Z_LevelPoolRealloc(
Z_Realloc(
ss->tags.tags,
ss->tags.count * sizeof(mtag_t),
spawnss->tags.count * sizeof(mtag_t)
spawnss->tags.count * sizeof(mtag_t),
PU_LEVEL,
nullptr
),
spawnss->tags.tags,
spawnss->tags.count * sizeof(mtag_t)
)
);
ss->tags.count = spawnss->tags.count;
}
else
{
Z_LevelPoolFree(ss->tags.tags, ss->tags.count * sizeof(mtag_t));
ss->tags.count = 0;
Z_Free(ss->tags.tags);
}
}
@ -7037,23 +7039,25 @@ static boolean P_NetUnArchiveMisc(savebuffer_t *save, boolean reloading)
{
if (spawnli->tags.count)
{
li->tags.count = spawnli->tags.count;
li->tags.tags = static_cast<mtag_t *>(
memcpy(
Z_LevelPoolRealloc(
Z_Realloc(
li->tags.tags,
li->tags.count * sizeof(mtag_t),
spawnli->tags.count * sizeof(mtag_t)
spawnli->tags.count * sizeof(mtag_t),
PU_LEVEL,
nullptr
),
spawnli->tags.tags,
spawnli->tags.count * sizeof(mtag_t)
)
);
li->tags.count = spawnli->tags.count;
}
else
{
Z_LevelPoolFree(li->tags.tags, li->tags.count * sizeof(mtag_t));
li->tags.count = 0;
Z_Free(li->tags.tags);
}
}

View file

@ -740,18 +740,3 @@ void Z_LevelPoolFree(void* p, size_t size)
}
return Z_Free(p);
}
void* Z_LevelPoolRealloc(void* ptr, size_t orig_size, size_t size)
{
void* newptr = nullptr;
if (size > 0)
{
newptr = Z_LevelPoolCalloc(size);
}
if (orig_size > 0)
{
memcpy(newptr, ptr, orig_size);
Z_LevelPoolFree(ptr, orig_size);
}
return newptr;
}

View file

@ -154,7 +154,6 @@ char *Z_StrDup(const char *in);
void *Z_LevelPoolMalloc(size_t size);
void *Z_LevelPoolCalloc(size_t size);
void Z_LevelPoolFree(void *p, size_t size);
void *Z_LevelPoolRealloc(void *p, size_t orig_size, size_t size);
#ifdef __cplusplus
} // extern "C"