From 2f270d8982f60463b85dc5eeeea3403fdefcb7d0 Mon Sep 17 00:00:00 2001 From: Daniel Scharrer Date: Mon, 17 Apr 2017 19:08:32 +0200 Subject: [PATCH] ChangeLevel: Resolve stacked targets immediately See: issue #375 --- src/scene/ChangeLevel.cpp | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/scene/ChangeLevel.cpp b/src/scene/ChangeLevel.cpp index 8b687a2592..75dd96d53c 100644 --- a/src/scene/ChangeLevel.cpp +++ b/src/scene/ChangeLevel.cpp @@ -2226,7 +2226,9 @@ static Entity * ARX_CHANGELEVEL_Pop_IO(const std::string & idString, EntityInsta std::copy(as->stacked, as->stacked + SAVED_MAX_STACKED_BEHAVIOR, io->_npcdata->stacked); // TODO properly load stacked animations - memcpy(Gaids[Gaids_Number.handleData()]->stackedtarget, as->stackedtarget, SIZE_ID * SAVED_MAX_STACKED_BEHAVIOR); + for(size_t iii = 0; iii < MAX_STACKED_BEHAVIOR; iii++) { + io->_npcdata->stacked[iii].target = ReadTargetInfo(as->stackedtarget[iii]); + } io->_npcdata->critical = as->critical; io->_npcdata->reach = as->reach; @@ -2479,12 +2481,6 @@ static void ARX_CHANGELEVEL_PopAllIO_FINISH(bool reloadflag, bool firstTime) { } } - if(io->ioflags & IO_NPC) { - for(size_t iii = 0; iii < MAX_STACKED_BEHAVIOR; iii++) { - io->_npcdata->stacked[iii].target = ReadTargetInfo(aids->stackedtarget[iii]); - } - } - } }