Skip to content

Commit 4b48c5c

Browse files
authored
Bug fix - external data needs to be cleared out before loading a game (#569)
1 parent 1f6b78c commit 4b48c5c

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

TheForceEngine/TFE_Game/saveSystem.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44
#include <TFE_FileSystem/fileutil.h>
55
#include <TFE_Input/inputMapping.h>
66
#include <TFE_RenderBackend/renderBackend.h>
7+
#include <TFE_ExternalData/dfLogics.h>
8+
#include <TFE_ExternalData/weaponExternal.h>
9+
#include <TFE_ExternalData/pickupExternal.h>
710
#include <TFE_Settings/gameSourceData.h>
811
#include <TFE_System/system.h>
912
#include <cassert>
@@ -247,6 +250,14 @@ namespace TFE_SaveSystem
247250
{
248251
SaveHeader header;
249252
loadHeader(&stream, &header, filename);
253+
254+
// Clear out custom logics and external data before loading
255+
TFE_ExternalData::getExternalLogics()->actorLogics.clear();
256+
TFE_ExternalData::clearExternalWeapons();
257+
TFE_ExternalData::clearExternalProjectiles();
258+
TFE_ExternalData::clearExternalEffects();
259+
TFE_ExternalData::clearExternalPickups();
260+
250261
ret = s_game->serializeGameState(&stream, filename, false);
251262
stream.close();
252263
}

0 commit comments

Comments
 (0)