rendered paste bodydiff --git a/src/game/ItemHandler.cpp b/src/game/ItemHandler.cppindex 3903827..a5787ca 100644--- a/src/game/ItemHandler.cpp+++ b/src/game/ItemHandler.cpp@@ -564,12 +564,12 @@ void WorldSession::HandleSellItemOpcode( WorldPacket & recv_data ) pItem->SetCount( pItem->GetCount() - count ); _player->ItemRemovedQuestCheck( pItem->GetEntry(), count ); if( _player->IsInWorld() )- pItem->SendUpdateToPlayer( _player );+ pItem->SendCreateUpdateToPlayer( _player ); pItem->SetState(ITEM_CHANGED, _player); _player->AddItemToBuyBackSlot( pNewItem ); if( _player->IsInWorld() )- pNewItem->SendUpdateToPlayer( _player );+ pNewItem->SendCreateUpdateToPlayer( _player ); } else {diff --git a/src/game/Object.cpp b/src/game/Object.cppindex 152c16b..2804d3b 100644--- a/src/game/Object.cpp+++ b/src/game/Object.cpp@@ -198,22 +198,12 @@ void Object::BuildCreateUpdateBlockForPlayer(UpdateData *data, Player *target) c data->AddUpdateBlock(buf); } -void Object::BuildUpdate(UpdateDataMapType &update_players)+void Object::SendCreateUpdateToPlayer(Player* player) {- ObjectAccessor::_buildUpdateObject(this,update_players);- ClearUpdateMask(true);-}--void Object::SendUpdateToPlayer(Player* player)-{- // send update to another players- SendUpdateObjectToAllExcept(player);- // send create update to player UpdateData upd; WorldPacket packet; - upd.Clear(); BuildCreateUpdateBlockForPlayer(&upd, player); upd.BuildPacket(&packet); player->GetSession()->SendPacket(&packet);@@ -765,20 +755,6 @@ void Object::ClearUpdateMask(bool remove) } } -// Send current value fields changes to all viewers-void Object::SendUpdateObjectToAllExcept(Player* exceptPlayer)-{- // changes will be send in create packet- if(!IsInWorld())- return;-- // nothing do- if(!m_objectUpdated)- return;-- ObjectAccessor::UpdateObject(this,exceptPlayer);-}- bool Object::LoadValues(const char* data) { if(!m_uint32Values) _InitValues();diff --git a/src/game/Object.h b/src/game/Object.hindex 80044ef..f74e965 100644--- a/src/game/Object.h+++ b/src/game/Object.h@@ -146,12 +146,11 @@ class MANGOS_DLL_SPEC Object bool isType(uint16 mask) const { return (mask & m_objectType); } virtual void BuildCreateUpdateBlockForPlayer( UpdateData *data, Player *target ) const;- void SendUpdateToPlayer(Player* player);+ void SendCreateUpdateToPlayer(Player* player); void BuildValuesUpdateBlockForPlayer( UpdateData *data, Player *target ) const; void BuildOutOfRangeUpdateBlock( UpdateData *data ) const; void BuildMovementUpdateBlock( UpdateData * data, uint32 flags = 0 ) const;- void BuildUpdate(UpdateDataMapType &); virtual void DestroyForPlayer( Player *target, bool anim = false ) const; @@ -289,7 +288,6 @@ class MANGOS_DLL_SPEC Object } void ClearUpdateMask(bool remove);- void SendUpdateObjectToAllExcept(Player* exceptPlayer); bool LoadValues(const char* data); diff --git a/src/game/ObjectAccessor.cpp b/src/game/ObjectAccessor.cppindex cd6a3ff..6b99ef1 100644--- a/src/game/ObjectAccessor.cpp+++ b/src/game/ObjectAccessor.cpp@@ -183,24 +183,6 @@ ObjectAccessor::SaveAllPlayers() } void-ObjectAccessor::UpdateObject(Object* obj, Player* exceptPlayer)-{- UpdateDataMapType update_players;- obj->BuildUpdate(update_players);-- WorldPacket packet;- for(UpdateDataMapType::iterator iter = update_players.begin(); iter != update_players.end(); ++iter)- {- if(iter->first == exceptPlayer)- continue;-- iter->second.BuildPacket(&packet);- iter->first->GetSession()->SendPacket(&packet);- packet.clear();- }-}--void ObjectAccessor::_buildUpdateObject(Object *obj, UpdateDataMapType &update_players) { bool build_for_all = true;diff --git a/src/game/ObjectAccessor.h b/src/game/ObjectAccessor.hindex fb42d97..e77b5ab 100644--- a/src/game/ObjectAccessor.h+++ b/src/game/ObjectAccessor.h@@ -199,7 +199,6 @@ class MANGOS_DLL_DECL ObjectAccessor : public MaNGOS::Singleton<ObjectAccessor, void AddCorpsesToGrid(GridPair const& gridpair,GridType& grid,Map* map); Corpse* ConvertCorpseForPlayer(uint64 player_guid, bool insignia = false); - static void UpdateObject(Object* obj, Player* exceptPlayer); static void _buildUpdateObject(Object* obj, UpdateDataMapType &); private:diff --git a/src/game/PetAI.cpp b/src/game/PetAI.cppindex c8281d4..9dc77d4 100644--- a/src/game/PetAI.cpp+++ b/src/game/PetAI.cpp@@ -287,10 +287,10 @@ void PetAI::UpdateAI(const uint32 diff) { m_creature->SetInFront(target); if (target->GetTypeId() == TYPEID_PLAYER)- m_creature->SendUpdateToPlayer((Player*)target);+ m_creature->SendCreateUpdateToPlayer((Player*)target); if (owner && owner->GetTypeId() == TYPEID_PLAYER)- m_creature->SendUpdateToPlayer( (Player*)owner );+ m_creature->SendCreateUpdateToPlayer( (Player*)owner ); } m_creature->AddCreatureSpellCooldown(spell->m_spellInfo->Id);diff --git a/src/game/PetHandler.cpp b/src/game/PetHandler.cppindex c40cea1..9e95dfc 100644--- a/src/game/PetHandler.cpp+++ b/src/game/PetHandler.cpp@@ -197,17 +197,17 @@ void WorldSession::HandlePetAction( WorldPacket & recv_data ) { pet->SetInFront(unit_target); if (unit_target->GetTypeId() == TYPEID_PLAYER)- pet->SendUpdateToPlayer( (Player*)unit_target );+ pet->SendCreateUpdateToPlayer( (Player*)unit_target ); } else if(Unit *unit_target2 = spell->m_targets.getUnitTarget()) { pet->SetInFront(unit_target2); if (unit_target2->GetTypeId() == TYPEID_PLAYER)- pet->SendUpdateToPlayer( (Player*)unit_target2 );+ pet->SendCreateUpdateToPlayer( (Player*)unit_target2 ); } if (Unit* powner = pet->GetCharmerOrOwner()) if(powner->GetTypeId() == TYPEID_PLAYER)- pet->SendUpdateToPlayer((Player*)powner);+ pet->SendCreateUpdateToPlayer((Player*)powner); result = SPELL_CAST_OK; } diff --git a/src/game/Player.cpp b/src/game/Player.cppindex d6c0ad6..2d556f9 100644--- a/src/game/Player.cpp+++ b/src/game/Player.cpp@@ -10332,7 +10332,7 @@ Item* Player::_StoreItem( uint16 pos, Item *pItem, uint32 count, bool clone, boo if (IsInWorld() && update) { pItem->AddToWorld();- pItem->SendUpdateToPlayer( this );+ pItem->SendCreateUpdateToPlayer( this ); } pItem->SetState(ITEM_CHANGED, this);@@ -10343,7 +10343,7 @@ Item* Player::_StoreItem( uint16 pos, Item *pItem, uint32 count, bool clone, boo if( IsInWorld() && update ) { pItem->AddToWorld();- pItem->SendUpdateToPlayer( this );+ pItem->SendCreateUpdateToPlayer( this ); } pItem->SetState(ITEM_CHANGED, this); pBag->SetState(ITEM_CHANGED, this);@@ -10363,7 +10363,7 @@ Item* Player::_StoreItem( uint16 pos, Item *pItem, uint32 count, bool clone, boo pItem2->SetCount( pItem2->GetCount() + count ); if (IsInWorld() && update)- pItem2->SendUpdateToPlayer( this );+ pItem2->SendCreateUpdateToPlayer( this ); if (!clone) {@@ -10453,7 +10453,7 @@ Item* Player::EquipItem( uint16 pos, Item *pItem, bool update ) if( IsInWorld() && update ) { pItem->AddToWorld();- pItem->SendUpdateToPlayer( this );+ pItem->SendCreateUpdateToPlayer( this ); } ApplyEquipCooldown(pItem);@@ -10473,7 +10473,7 @@ Item* Player::EquipItem( uint16 pos, Item *pItem, bool update ) { pItem2->SetCount( pItem2->GetCount() + pItem->GetCount() ); if( IsInWorld() && update )- pItem2->SendUpdateToPlayer( this );+ pItem2->SendCreateUpdateToPlayer( this ); // delete item (it not in any slot currently) //pItem->DeleteFromDB();@@ -10514,7 +10514,7 @@ void Player::QuickEquipItem( uint16 pos, Item *pItem) if( IsInWorld() ) { pItem->AddToWorld();- pItem->SendUpdateToPlayer( this );+ pItem->SendCreateUpdateToPlayer( this ); } GetAchievementMgr().UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_EQUIP_ITEM, pItem->GetEntry());@@ -10636,7 +10636,7 @@ void Player::RemoveItem( uint8 bag, uint8 slot, bool update ) // pItem->SetUInt64Value( ITEM_FIELD_OWNER, 0 ); not clear owner at remove (it will be set at store). This used in mail and auction code pItem->SetSlot( NULL_SLOT ); if( IsInWorld() && update )- pItem->SendUpdateToPlayer( this );+ pItem->SendCreateUpdateToPlayer( this ); } } @@ -10784,7 +10784,7 @@ void Player::DestroyItemCount( uint32 item, uint32 count, bool update, bool uneq ItemRemovedQuestCheck( pItem->GetEntry(), count - remcount ); pItem->SetCount( pItem->GetCount() - count + remcount ); if (IsInWorld() & update)- pItem->SendUpdateToPlayer( this );+ pItem->SendCreateUpdateToPlayer( this ); pItem->SetState(ITEM_CHANGED, this); return; }@@ -10812,7 +10812,7 @@ void Player::DestroyItemCount( uint32 item, uint32 count, bool update, bool uneq ItemRemovedQuestCheck( pItem->GetEntry(), count - remcount ); pItem->SetCount( pItem->GetCount() - count + remcount ); if (IsInWorld() & update)- pItem->SendUpdateToPlayer( this );+ pItem->SendCreateUpdateToPlayer( this ); pItem->SetState(ITEM_CHANGED, this); return; }@@ -10845,7 +10845,7 @@ void Player::DestroyItemCount( uint32 item, uint32 count, bool update, bool uneq ItemRemovedQuestCheck( pItem->GetEntry(), count - remcount ); pItem->SetCount( pItem->GetCount() - count + remcount ); if (IsInWorld() && update)- pItem->SendUpdateToPlayer( this );+ pItem->SendCreateUpdateToPlayer( this ); pItem->SetState(ITEM_CHANGED, this); return; }@@ -10878,7 +10878,7 @@ void Player::DestroyItemCount( uint32 item, uint32 count, bool update, bool uneq ItemRemovedQuestCheck( pItem->GetEntry(), count - remcount ); pItem->SetCount( pItem->GetCount() - count + remcount ); if (IsInWorld() & update)- pItem->SendUpdateToPlayer( this );+ pItem->SendCreateUpdateToPlayer( this ); pItem->SetState(ITEM_CHANGED, this); return; }@@ -10963,7 +10963,7 @@ void Player::DestroyItemCount( Item* pItem, uint32 &count, bool update ) pItem->SetCount( pItem->GetCount() - count ); count = 0; if( IsInWorld() & update )- pItem->SendUpdateToPlayer( this );+ pItem->SendCreateUpdateToPlayer( this ); pItem->SetState(ITEM_CHANGED, this); } }@@ -11028,7 +11028,7 @@ void Player::SplitItem( uint16 src, uint16 dst, uint32 count ) } if( IsInWorld() )- pSrcItem->SendUpdateToPlayer( this );+ pSrcItem->SendCreateUpdateToPlayer( this ); pSrcItem->SetState(ITEM_CHANGED, this); StoreItem( dest, pNewItem, true); }@@ -11048,7 +11048,7 @@ void Player::SplitItem( uint16 src, uint16 dst, uint32 count ) } if( IsInWorld() )- pSrcItem->SendUpdateToPlayer( this );+ pSrcItem->SendCreateUpdateToPlayer( this ); pSrcItem->SetState(ITEM_CHANGED, this); BankItem( dest, pNewItem, true); }@@ -11068,7 +11068,7 @@ void Player::SplitItem( uint16 src, uint16 dst, uint32 count ) } if( IsInWorld() )- pSrcItem->SendUpdateToPlayer( this );+ pSrcItem->SendCreateUpdateToPlayer( this ); pSrcItem->SetState(ITEM_CHANGED, this); EquipItem( dest, pNewItem, true); AutoUnequipOffhandIfNeed();@@ -11239,8 +11239,8 @@ void Player::SwapItem( uint16 src, uint16 dst ) pDstItem->SetState(ITEM_CHANGED, this); if( IsInWorld() ) {- pSrcItem->SendUpdateToPlayer( this );- pDstItem->SendUpdateToPlayer( this );+ pSrcItem->SendCreateUpdateToPlayer( this );+ pDstItem->SendCreateUpdateToPlayer( this ); } } return;@@ -16814,7 +16814,7 @@ void Player::HandleStealthedUnitsDetection() { if(!hasAtClient) {- (*i)->SendUpdateToPlayer(this);+ (*i)->SendCreateUpdateToPlayer(this); m_clientGUIDs.insert((*i)->GetGUID()); #ifdef MANGOS_DEBUG@@ -17987,7 +17987,7 @@ void Player::UpdateVisibilityOf(WorldObject const* viewPoint, WorldObject* targe { if(target->isVisibleForInState(this, viewPoint, false)) {- target->SendUpdateToPlayer(this);+ target->SendCreateUpdateToPlayer(this); if(target->GetTypeId()!=TYPEID_GAMEOBJECT||!((GameObject*)target)->IsTransport()) m_clientGUIDs.insert(target->GetGUID());