diff --git a/engine/server/sv_game.c b/engine/server/sv_game.c index 1d6b0383..8c240b74 100644 --- a/engine/server/sv_game.c +++ b/engine/server/sv_game.c @@ -696,7 +696,7 @@ void SV_FreeEdict( edict_t *pEdict ) if( pEdict->pvPrivateData ) { // NOTE: new interface can be missing - if( svgame.dllFuncs2.pfnOnFreeEntPrivateData ) + if( svgame.dllFuncs2.pfnOnFreeEntPrivateData && sv.state != ss_dead ) svgame.dllFuncs2.pfnOnFreeEntPrivateData( pEdict ); if( Mem_IsAllocated( pEdict->pvPrivateData )) diff --git a/engine/server/sv_save.c b/engine/server/sv_save.c index 63adf4fa..e0446592 100644 --- a/engine/server/sv_save.c +++ b/engine/server/sv_save.c @@ -1369,6 +1369,10 @@ int SV_CreateEntityTransitionList( SAVERESTOREDATA *pSaveData, int levelMask ) { movedCount++; } + else + { + pent->v.flags |= FL_KILLME; + } } else {