From e5f5b047bc7f7b34108939d40dd0e3468f80fde1 Mon Sep 17 00:00:00 2001 From: David Cernat Date: Sat, 10 Jun 2017 11:04:17 +0300 Subject: [PATCH] [Client] Don't send empty ObjectSpawn packets for cells with no leveled creatures --- apps/openmw/mwmp/MechanicsHelper.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/apps/openmw/mwmp/MechanicsHelper.cpp b/apps/openmw/mwmp/MechanicsHelper.cpp index 23f6d7b51..b5b64513b 100644 --- a/apps/openmw/mwmp/MechanicsHelper.cpp +++ b/apps/openmw/mwmp/MechanicsHelper.cpp @@ -48,6 +48,8 @@ void MechanicsHelper::spawnLeveledCreatures(MWWorld::CellStore* cellStore) mwmp::WorldEvent *worldEvent = mwmp::Main::get().getNetworking()->getWorldEvent(); worldEvent->reset(); + int spawnCount = 0; + for (typename MWWorld::CellRefList::List::iterator listIter(creatureLevList->mList.begin()); listIter != creatureLevList->mList.end(); ++listIter) { @@ -65,10 +67,13 @@ void MechanicsHelper::spawnLeveledCreatures(MWWorld::CellStore* cellStore) MWWorld::Ptr placed = MWBase::Environment::get().getWorld()->placeObject(manualRef.getPtr(), ptr.getCell(), ptr.getCellRef().getPosition()); worldEvent->addObjectSpawn(placed); MWBase::Environment::get().getWorld()->deleteObject(placed); + + spawnCount++; } } - worldEvent->sendObjectSpawn(); + if (spawnCount > 0) + worldEvent->sendObjectSpawn(); } Attack *MechanicsHelper::getLocalAttack(const MWWorld::Ptr& ptr)