From 829512ded4ee1d2307735a8c61eb580ccfabc55e Mon Sep 17 00:00:00 2001 From: scrawl Date: Fri, 22 Nov 2013 01:02:12 +0100 Subject: [PATCH 1/2] Fix container scripts not getting re-added when the player changes cells --- apps/openmw/mwworld/worldimp.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/openmw/mwworld/worldimp.cpp b/apps/openmw/mwworld/worldimp.cpp index 0ad06cf265..0439958f24 100644 --- a/apps/openmw/mwworld/worldimp.cpp +++ b/apps/openmw/mwworld/worldimp.cpp @@ -882,6 +882,7 @@ namespace MWWorld int cellY = newCell.mCell->getGridY(); mWorldScene->changeCell(cellX, cellY, pos, false); } + addContainerScripts (ptr, &newCell); } else { From 39de0510a00b8f566701178740d38acacf4cdb1e Mon Sep 17 00:00:00 2001 From: scrawl Date: Fri, 22 Nov 2013 02:12:37 +0100 Subject: [PATCH 2/2] Fix another case of container scripts not getting re-added --- apps/openmw/mwworld/worldimp.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/apps/openmw/mwworld/worldimp.cpp b/apps/openmw/mwworld/worldimp.cpp index 0439958f24..fba08db951 100644 --- a/apps/openmw/mwworld/worldimp.cpp +++ b/apps/openmw/mwworld/worldimp.cpp @@ -749,12 +749,16 @@ namespace MWWorld void World::changeToInteriorCell (const std::string& cellName, const ESM::Position& position) { - return mWorldScene->changeToInteriorCell(cellName, position); + removeContainerScripts(getPlayer().getPlayer()); + mWorldScene->changeToInteriorCell(cellName, position); + addContainerScripts(getPlayer().getPlayer(), getPlayer().getPlayer().getCell()); } void World::changeToExteriorCell (const ESM::Position& position) { - return mWorldScene->changeToExteriorCell(position); + removeContainerScripts(getPlayer().getPlayer()); + mWorldScene->changeToExteriorCell(position); + addContainerScripts(getPlayer().getPlayer(), getPlayer().getPlayer().getCell()); } void World::markCellAsUnchanged()