From aa5f63ffcc2f3bc52b27c13e84f938f303b98a34 Mon Sep 17 00:00:00 2001 From: greye Date: Thu, 26 Jul 2012 19:06:48 +0400 Subject: [PATCH] disabled items placing handling --- apps/openmw/mwworld/class.cpp | 6 +++++- apps/openmw/mwworld/worldimp.cpp | 5 +++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/apps/openmw/mwworld/class.cpp b/apps/openmw/mwworld/class.cpp index 6676ce1cf1..bb9b7d982e 100644 --- a/apps/openmw/mwworld/class.cpp +++ b/apps/openmw/mwworld/class.cpp @@ -233,7 +233,11 @@ namespace MWWorld Ptr newPtr = copyToCellImpl(ptr, cell); newPtr.getRefData().setCount(ptr.getRefData().getCount()); - newPtr.getRefData().enable(); + if (ptr.getRefData().isEnabled()) { + newPtr.getRefData().enable(); + } else { + newPtr.getRefData().disable(); + } return newPtr; } diff --git a/apps/openmw/mwworld/worldimp.cpp b/apps/openmw/mwworld/worldimp.cpp index 59f6d7e86b..67d8a7cec3 100644 --- a/apps/openmw/mwworld/worldimp.cpp +++ b/apps/openmw/mwworld/worldimp.cpp @@ -1054,8 +1054,9 @@ namespace MWWorld } if (mWorldScene->isCellActive(cell)) { - mWorldScene->addObjectToScene(dropped); - + if (dropped.getRefData().isEnabled()) { + mWorldScene->addObjectToScene(dropped); + } std::string script = MWWorld::Class::get(dropped).getScript(dropped); if (!script.empty()) { mLocalScripts.add(script, dropped);