From 2d2e03f23567fbd35b0ba5a5a160d676d694ebf1 Mon Sep 17 00:00:00 2001 From: Alibek Omarov Date: Mon, 27 Nov 2023 18:42:50 +0300 Subject: [PATCH] engine: server: reset edict in ParseSaveTables like GoldSrc does which fixes messed up entities in mods that have advanced save-restore system (thanks to vasiavasiavasia95 for figuring out this bug) --- engine/server/sv_save.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/engine/server/sv_save.c b/engine/server/sv_save.c index fb7d7929..477c9590 100644 --- a/engine/server/sv_save.c +++ b/engine/server/sv_save.c @@ -984,7 +984,10 @@ static void ParseSaveTables( SAVERESTOREDATA *pSaveData, SAVE_HEADER *pHeader, i InitEntityTable( pSaveData, pSaveData->tableCount ); for( i = 0; i < pSaveData->tableCount; i++ ) + { svgame.dllFuncs.pfnSaveReadFields( pSaveData, "ETABLE", &pSaveData->pTable[i], gEntityTable, ARRAYSIZE( gEntityTable )); + pSaveData->pTable[i].pent = NULL; + } pSaveData->pBaseData = pSaveData->pCurrentData; pSaveData->size = 0;