From cee7843576b09853a52b3b7f5f648b996b85936e Mon Sep 17 00:00:00 2001 From: David Cernat Date: Sun, 30 Oct 2016 02:26:32 +0300 Subject: [PATCH] Send ID_OBJECT_DELETE when taking world items through inventory screen --- apps/openmw/mwgui/inventorywindow.cpp | 12 ++++++++++++ apps/openmw/mwworld/actiontake.cpp | 1 - 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/apps/openmw/mwgui/inventorywindow.cpp b/apps/openmw/mwgui/inventorywindow.cpp index 21b90991c..b20e90996 100644 --- a/apps/openmw/mwgui/inventorywindow.cpp +++ b/apps/openmw/mwgui/inventorywindow.cpp @@ -16,6 +16,10 @@ #include +#include +#include "../mwmp/Main.hpp" +#include "../mwworld/cellstore.hpp" + #include "../mwbase/world.hpp" #include "../mwbase/environment.hpp" #include "../mwbase/soundmanager.hpp" @@ -628,6 +632,14 @@ namespace MWGui // add to player inventory // can't use ActionTake here because we need an MWWorld::Ptr to the newly inserted object MWWorld::Ptr newObject = *player.getClass().getContainerStore (player).add (object, object.getRefData().getCount(), player); + + // Added by tes3mp + mwmp::WorldEvent *event = mwmp::Main::get().getNetworking()->createWorldEvent(); + event->cell = *object.getCell()->getCell(); + event->cellRef.mRefID = object.getCellRef().getRefId(); + event->cellRef.mRefNum = object.getCellRef().getRefNum(); + mwmp::Main::get().getNetworking()->GetWorldPacket(ID_OBJECT_DELETE)->Send(event); + // remove from world MWBase::Environment::get().getWorld()->deleteObject (object); diff --git a/apps/openmw/mwworld/actiontake.cpp b/apps/openmw/mwworld/actiontake.cpp index 86e25b71f..d4911a9b9 100644 --- a/apps/openmw/mwworld/actiontake.cpp +++ b/apps/openmw/mwworld/actiontake.cpp @@ -2,7 +2,6 @@ #include #include "../mwmp/Main.hpp" - #include "../mwworld/cellstore.hpp" #include "../mwbase/environment.hpp"