aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Entities/AreaTrigger/AreaTrigger.cpp7
-rw-r--r--src/server/game/Entities/AreaTrigger/AreaTrigger.h4
-rw-r--r--src/server/game/Entities/Conversation/Conversation.cpp7
-rw-r--r--src/server/game/Entities/Conversation/Conversation.h4
-rw-r--r--src/server/game/Entities/Corpse/Corpse.cpp7
-rw-r--r--src/server/game/Entities/Corpse/Corpse.h4
-rw-r--r--src/server/game/Entities/Creature/Creature.cpp7
-rw-r--r--src/server/game/Entities/Creature/Creature.h4
-rw-r--r--src/server/game/Entities/DynamicObject/DynamicObject.cpp7
-rw-r--r--src/server/game/Entities/DynamicObject/DynamicObject.h4
-rw-r--r--src/server/game/Entities/GameObject/GameObject.cpp7
-rw-r--r--src/server/game/Entities/GameObject/GameObject.h4
-rw-r--r--src/server/game/Entities/Item/AzeriteItem/AzeriteEmpoweredItem.cpp7
-rw-r--r--src/server/game/Entities/Item/AzeriteItem/AzeriteEmpoweredItem.h4
-rw-r--r--src/server/game/Entities/Item/AzeriteItem/AzeriteItem.cpp7
-rw-r--r--src/server/game/Entities/Item/AzeriteItem/AzeriteItem.h4
-rw-r--r--src/server/game/Entities/Item/Container/Bag.cpp7
-rw-r--r--src/server/game/Entities/Item/Container/Bag.h4
-rw-r--r--src/server/game/Entities/Item/Item.cpp7
-rw-r--r--src/server/game/Entities/Item/Item.h4
-rw-r--r--src/server/game/Entities/Object/Object.cpp9
-rw-r--r--src/server/game/Entities/Object/Object.h6
-rw-r--r--src/server/game/Entities/Player/Player.cpp7
-rw-r--r--src/server/game/Entities/Player/Player.h4
-rw-r--r--src/server/game/Entities/SceneObject/SceneObject.cpp7
-rw-r--r--src/server/game/Entities/SceneObject/SceneObject.h4
26 files changed, 57 insertions, 90 deletions
diff --git a/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp b/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp
index 7c5d4530edf..475c046c4b7 100644
--- a/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp
+++ b/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp
@@ -1376,17 +1376,14 @@ bool AreaTrigger::IsNeverVisibleFor(WorldObject const* seer, bool allowServersid
return false;
}
-void AreaTrigger::BuildValuesCreate(ByteBuffer* data, Player const* target) const
+void AreaTrigger::BuildValuesCreate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const
{
- UF::UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
- *data << uint8(flags);
m_objectData->WriteCreate(*data, flags, this, target);
m_areaTriggerData->WriteCreate(*data, flags, this, target);
}
-void AreaTrigger::BuildValuesUpdate(ByteBuffer* data, Player const* target) const
+void AreaTrigger::BuildValuesUpdate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const
{
- UF::UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
*data << uint32(m_values.GetChangedObjectTypeMask());
if (m_values.HasChanged(TYPEID_OBJECT))
diff --git a/src/server/game/Entities/AreaTrigger/AreaTrigger.h b/src/server/game/Entities/AreaTrigger/AreaTrigger.h
index 8e58d86a7d0..5544ecc9b90 100644
--- a/src/server/game/Entities/AreaTrigger/AreaTrigger.h
+++ b/src/server/game/Entities/AreaTrigger/AreaTrigger.h
@@ -46,8 +46,8 @@ class TC_GAME_API AreaTrigger final : public WorldObject, public GridObject<Area
~AreaTrigger();
protected:
- void BuildValuesCreate(ByteBuffer* data, Player const* target) const override;
- void BuildValuesUpdate(ByteBuffer* data, Player const* target) const override;
+ void BuildValuesCreate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const override;
+ void BuildValuesUpdate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const override;
void ClearUpdateMask(bool remove) override;
public:
diff --git a/src/server/game/Entities/Conversation/Conversation.cpp b/src/server/game/Entities/Conversation/Conversation.cpp
index 03029d01a6d..9d2b615ef8a 100644
--- a/src/server/game/Entities/Conversation/Conversation.cpp
+++ b/src/server/game/Entities/Conversation/Conversation.cpp
@@ -347,17 +347,14 @@ uint32 Conversation::GetScriptId() const
return sConversationDataStore->GetConversationTemplate(GetEntry())->ScriptId;
}
-void Conversation::BuildValuesCreate(ByteBuffer* data, Player const* target) const
+void Conversation::BuildValuesCreate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const
{
- UF::UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
- *data << uint8(flags);
m_objectData->WriteCreate(*data, flags, this, target);
m_conversationData->WriteCreate(*data, flags, this, target);
}
-void Conversation::BuildValuesUpdate(ByteBuffer* data, Player const* target) const
+void Conversation::BuildValuesUpdate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const
{
- UF::UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
*data << uint32(m_values.GetChangedObjectTypeMask());
if (m_values.HasChanged(TYPEID_OBJECT))
diff --git a/src/server/game/Entities/Conversation/Conversation.h b/src/server/game/Entities/Conversation/Conversation.h
index bfa869154e6..3719038e138 100644
--- a/src/server/game/Entities/Conversation/Conversation.h
+++ b/src/server/game/Entities/Conversation/Conversation.h
@@ -33,8 +33,8 @@ class TC_GAME_API Conversation final : public WorldObject, public GridObject<Con
~Conversation();
protected:
- void BuildValuesCreate(ByteBuffer* data, Player const* target) const override;
- void BuildValuesUpdate(ByteBuffer* data, Player const* target) const override;
+ void BuildValuesCreate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const override;
+ void BuildValuesUpdate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const override;
void ClearUpdateMask(bool remove) override;
public:
diff --git a/src/server/game/Entities/Corpse/Corpse.cpp b/src/server/game/Entities/Corpse/Corpse.cpp
index 1d59850ac96..b49dfd031f6 100644
--- a/src/server/game/Entities/Corpse/Corpse.cpp
+++ b/src/server/game/Entities/Corpse/Corpse.cpp
@@ -238,17 +238,14 @@ bool Corpse::IsExpired(time_t t) const
return m_time < t - 3 * DAY;
}
-void Corpse::BuildValuesCreate(ByteBuffer* data, Player const* target) const
+void Corpse::BuildValuesCreate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const
{
- UF::UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
- *data << uint8(flags);
m_objectData->WriteCreate(*data, flags, this, target);
m_corpseData->WriteCreate(*data, flags, this, target);
}
-void Corpse::BuildValuesUpdate(ByteBuffer* data, Player const* target) const
+void Corpse::BuildValuesUpdate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const
{
- UF::UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
*data << uint32(m_values.GetChangedObjectTypeMask());
if (m_values.HasChanged(TYPEID_OBJECT))
diff --git a/src/server/game/Entities/Corpse/Corpse.h b/src/server/game/Entities/Corpse/Corpse.h
index 18b0057d8b3..6fe4d4df213 100644
--- a/src/server/game/Entities/Corpse/Corpse.h
+++ b/src/server/game/Entities/Corpse/Corpse.h
@@ -56,8 +56,8 @@ class TC_GAME_API Corpse final : public WorldObject, public GridObject<Corpse>
~Corpse();
protected:
- void BuildValuesCreate(ByteBuffer* data, Player const* target) const override;
- void BuildValuesUpdate(ByteBuffer* data, Player const* target) const override;
+ void BuildValuesCreate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const override;
+ void BuildValuesUpdate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const override;
void ClearUpdateMask(bool remove) override;
public:
diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp
index 14cfa015eb0..bcb5344bdbb 100644
--- a/src/server/game/Entities/Creature/Creature.cpp
+++ b/src/server/game/Entities/Creature/Creature.cpp
@@ -3784,17 +3784,14 @@ UF::UpdateFieldFlag Creature::GetUpdateFieldFlagsFor(Player const* target) const
return flags;
}
-void Creature::BuildValuesCreate(ByteBuffer* data, Player const* target) const
+void Creature::BuildValuesCreate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const
{
- UF::UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
- *data << uint8(flags);
m_objectData->WriteCreate(*data, flags, this, target);
m_unitData->WriteCreate(*data, flags, this, target);
}
-void Creature::BuildValuesUpdate(ByteBuffer* data, Player const* target) const
+void Creature::BuildValuesUpdate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const
{
- UF::UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
*data << uint32(m_values.GetChangedObjectTypeMask());
if (m_values.HasChanged(TYPEID_OBJECT))
diff --git a/src/server/game/Entities/Creature/Creature.h b/src/server/game/Entities/Creature/Creature.h
index 550563c6ad2..81949f91770 100644
--- a/src/server/game/Entities/Creature/Creature.h
+++ b/src/server/game/Entities/Creature/Creature.h
@@ -470,8 +470,8 @@ class TC_GAME_API Creature : public Unit, public GridObject<Creature>, public Ma
protected:
UF::UpdateFieldFlag GetUpdateFieldFlagsFor(Player const* target) const final;
- void BuildValuesCreate(ByteBuffer* data, Player const* target) const override;
- void BuildValuesUpdate(ByteBuffer* data, Player const* target) const override;
+ void BuildValuesCreate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const override;
+ void BuildValuesUpdate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const override;
public:
void BuildValuesUpdateWithFlag(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const override;
diff --git a/src/server/game/Entities/DynamicObject/DynamicObject.cpp b/src/server/game/Entities/DynamicObject/DynamicObject.cpp
index f354ef01cab..b36ce45e3d3 100644
--- a/src/server/game/Entities/DynamicObject/DynamicObject.cpp
+++ b/src/server/game/Entities/DynamicObject/DynamicObject.cpp
@@ -252,17 +252,14 @@ SpellInfo const* DynamicObject::GetSpellInfo() const
return sSpellMgr->GetSpellInfo(GetSpellId(), GetMap()->GetDifficultyID());
}
-void DynamicObject::BuildValuesCreate(ByteBuffer* data, Player const* target) const
+void DynamicObject::BuildValuesCreate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const
{
- UF::UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
- *data << uint8(flags);
m_objectData->WriteCreate(*data, flags, this, target);
m_dynamicObjectData->WriteCreate(*data, flags, this, target);
}
-void DynamicObject::BuildValuesUpdate(ByteBuffer* data, Player const* target) const
+void DynamicObject::BuildValuesUpdate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const
{
- UF::UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
*data << uint32(m_values.GetChangedObjectTypeMask());
if (m_values.HasChanged(TYPEID_OBJECT))
diff --git a/src/server/game/Entities/DynamicObject/DynamicObject.h b/src/server/game/Entities/DynamicObject/DynamicObject.h
index 56358e24106..1f8bb2a0b1c 100644
--- a/src/server/game/Entities/DynamicObject/DynamicObject.h
+++ b/src/server/game/Entities/DynamicObject/DynamicObject.h
@@ -40,8 +40,8 @@ class TC_GAME_API DynamicObject final : public WorldObject, public GridObject<Dy
~DynamicObject();
protected:
- void BuildValuesCreate(ByteBuffer* data, Player const* target) const override;
- void BuildValuesUpdate(ByteBuffer* data, Player const* target) const override;
+ void BuildValuesCreate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const override;
+ void BuildValuesUpdate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const override;
void ClearUpdateMask(bool remove) override;
public:
diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp
index d3a5fa4b4dc..80e920f1556 100644
--- a/src/server/game/Entities/GameObject/GameObject.cpp
+++ b/src/server/game/Entities/GameObject/GameObject.cpp
@@ -4023,17 +4023,14 @@ GameObject* GameObject::GetLinkedTrap()
return ObjectAccessor::GetGameObject(*this, m_linkedTrap);
}
-void GameObject::BuildValuesCreate(ByteBuffer* data, Player const* target) const
+void GameObject::BuildValuesCreate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const
{
- UF::UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
- *data << uint8(flags);
m_objectData->WriteCreate(*data, flags, this, target);
m_gameObjectData->WriteCreate(*data, flags, this, target);
}
-void GameObject::BuildValuesUpdate(ByteBuffer* data, Player const* target) const
+void GameObject::BuildValuesUpdate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const
{
- UF::UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
*data << uint32(m_values.GetChangedObjectTypeMask());
if (m_values.HasChanged(TYPEID_OBJECT))
diff --git a/src/server/game/Entities/GameObject/GameObject.h b/src/server/game/Entities/GameObject/GameObject.h
index 381317169db..94895a50e99 100644
--- a/src/server/game/Entities/GameObject/GameObject.h
+++ b/src/server/game/Entities/GameObject/GameObject.h
@@ -169,8 +169,8 @@ class TC_GAME_API GameObject : public WorldObject, public GridObject<GameObject>
~GameObject();
protected:
- void BuildValuesCreate(ByteBuffer* data, Player const* target) const override;
- void BuildValuesUpdate(ByteBuffer* data, Player const* target) const override;
+ void BuildValuesCreate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const override;
+ void BuildValuesUpdate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const override;
void ClearUpdateMask(bool remove) override;
public:
diff --git a/src/server/game/Entities/Item/AzeriteItem/AzeriteEmpoweredItem.cpp b/src/server/game/Entities/Item/AzeriteItem/AzeriteEmpoweredItem.cpp
index 481ed961849..2a8e03f64f2 100644
--- a/src/server/game/Entities/Item/AzeriteItem/AzeriteEmpoweredItem.cpp
+++ b/src/server/game/Entities/Item/AzeriteItem/AzeriteEmpoweredItem.cpp
@@ -154,18 +154,15 @@ int64 AzeriteEmpoweredItem::GetRespecCost() const
return MAX_MONEY_AMOUNT + 1;
}
-void AzeriteEmpoweredItem::BuildValuesCreate(ByteBuffer* data, Player const* target) const
+void AzeriteEmpoweredItem::BuildValuesCreate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const
{
- UF::UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
- *data << uint8(flags);
m_objectData->WriteCreate(*data, flags, this, target);
m_itemData->WriteCreate(*data, flags, this, target);
m_azeriteEmpoweredItemData->WriteCreate(*data, flags, this, target);
}
-void AzeriteEmpoweredItem::BuildValuesUpdate(ByteBuffer* data, Player const* target) const
+void AzeriteEmpoweredItem::BuildValuesUpdate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const
{
- UF::UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
*data << uint32(m_values.GetChangedObjectTypeMask());
if (m_values.HasChanged(TYPEID_OBJECT))
diff --git a/src/server/game/Entities/Item/AzeriteItem/AzeriteEmpoweredItem.h b/src/server/game/Entities/Item/AzeriteItem/AzeriteEmpoweredItem.h
index 0fb82e6e09e..8552e2b0ea8 100644
--- a/src/server/game/Entities/Item/AzeriteItem/AzeriteEmpoweredItem.h
+++ b/src/server/game/Entities/Item/AzeriteItem/AzeriteEmpoweredItem.h
@@ -43,8 +43,8 @@ public:
int64 GetRespecCost() const;
protected:
- void BuildValuesCreate(ByteBuffer* data, Player const* target) const override;
- void BuildValuesUpdate(ByteBuffer* data, Player const* target) const override;
+ void BuildValuesCreate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const override;
+ void BuildValuesUpdate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const override;
void ClearUpdateMask(bool remove) override;
public:
diff --git a/src/server/game/Entities/Item/AzeriteItem/AzeriteItem.cpp b/src/server/game/Entities/Item/AzeriteItem/AzeriteItem.cpp
index aec58210f56..c6e7172ea11 100644
--- a/src/server/game/Entities/Item/AzeriteItem/AzeriteItem.cpp
+++ b/src/server/game/Entities/Item/AzeriteItem/AzeriteItem.cpp
@@ -389,18 +389,15 @@ void AzeriteItem::SetSelectedAzeriteEssence(uint8 slot, uint32 azeriteEssenceId)
.ModifyValue(&UF::SelectedAzeriteEssences::AzeriteEssenceID, slot), azeriteEssenceId);
}
-void AzeriteItem::BuildValuesCreate(ByteBuffer* data, Player const* target) const
+void AzeriteItem::BuildValuesCreate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const
{
- UF::UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
- *data << uint8(flags);
m_objectData->WriteCreate(*data, flags, this, target);
m_itemData->WriteCreate(*data, flags, this, target);
m_azeriteItemData->WriteCreate(*data, flags, this, target);
}
-void AzeriteItem::BuildValuesUpdate(ByteBuffer* data, Player const* target) const
+void AzeriteItem::BuildValuesUpdate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const
{
- UF::UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
*data << uint32(m_values.GetChangedObjectTypeMask());
if (m_values.HasChanged(TYPEID_OBJECT))
diff --git a/src/server/game/Entities/Item/AzeriteItem/AzeriteItem.h b/src/server/game/Entities/Item/AzeriteItem/AzeriteItem.h
index b682452f1ac..f8e9a8f8cd6 100644
--- a/src/server/game/Entities/Item/AzeriteItem/AzeriteItem.h
+++ b/src/server/game/Entities/Item/AzeriteItem/AzeriteItem.h
@@ -74,8 +74,8 @@ public:
void SetSelectedAzeriteEssence(uint8 slot, uint32 azeriteEssenceId);
protected:
- void BuildValuesCreate(ByteBuffer* data, Player const* target) const override;
- void BuildValuesUpdate(ByteBuffer* data, Player const* target) const override;
+ void BuildValuesCreate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const override;
+ void BuildValuesUpdate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const override;
void ClearUpdateMask(bool remove) override;
public:
diff --git a/src/server/game/Entities/Item/Container/Bag.cpp b/src/server/game/Entities/Item/Container/Bag.cpp
index a949dd6a0f0..14ff0bc52d4 100644
--- a/src/server/game/Entities/Item/Container/Bag.cpp
+++ b/src/server/game/Entities/Item/Container/Bag.cpp
@@ -182,18 +182,15 @@ void Bag::BuildCreateUpdateBlockForPlayer(UpdateData* data, Player* target) cons
m_bagslot[i]->BuildCreateUpdateBlockForPlayer(data, target);
}
-void Bag::BuildValuesCreate(ByteBuffer* data, Player const* target) const
+void Bag::BuildValuesCreate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const
{
- UF::UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
- *data << uint8(flags);
m_objectData->WriteCreate(*data, flags, this, target);
m_itemData->WriteCreate(*data, flags, this, target);
m_containerData->WriteCreate(*data, flags, this, target);
}
-void Bag::BuildValuesUpdate(ByteBuffer* data, Player const* target) const
+void Bag::BuildValuesUpdate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const
{
- UF::UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
*data << uint32(m_values.GetChangedObjectTypeMask());
if (m_values.HasChanged(TYPEID_OBJECT))
diff --git a/src/server/game/Entities/Item/Container/Bag.h b/src/server/game/Entities/Item/Container/Bag.h
index acd69e9a265..96c9e1e399a 100644
--- a/src/server/game/Entities/Item/Container/Bag.h
+++ b/src/server/game/Entities/Item/Container/Bag.h
@@ -54,8 +54,8 @@ class TC_GAME_API Bag : public Item
protected:
void BuildCreateUpdateBlockForPlayer(UpdateData* data, Player* target) const override;
- void BuildValuesCreate(ByteBuffer* data, Player const* target) const override;
- void BuildValuesUpdate(ByteBuffer* data, Player const* target) const override;
+ void BuildValuesCreate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const override;
+ void BuildValuesUpdate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const override;
void ClearUpdateMask(bool remove) override;
public:
diff --git a/src/server/game/Entities/Item/Item.cpp b/src/server/game/Entities/Item/Item.cpp
index 67b5ee0200d..90d497ebf91 100644
--- a/src/server/game/Entities/Item/Item.cpp
+++ b/src/server/game/Entities/Item/Item.cpp
@@ -1704,17 +1704,14 @@ UF::UpdateFieldFlag Item::GetUpdateFieldFlagsFor(Player const* target) const
return UF::UpdateFieldFlag::None;
}
-void Item::BuildValuesCreate(ByteBuffer* data, Player const* target) const
+void Item::BuildValuesCreate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const
{
- UF::UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
- *data << uint8(flags);
m_objectData->WriteCreate(*data, flags, this, target);
m_itemData->WriteCreate(*data, flags, this, target);
}
-void Item::BuildValuesUpdate(ByteBuffer* data, Player const* target) const
+void Item::BuildValuesUpdate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const
{
- UF::UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
*data << uint32(m_values.GetChangedObjectTypeMask());
if (m_values.HasChanged(TYPEID_OBJECT))
diff --git a/src/server/game/Entities/Item/Item.h b/src/server/game/Entities/Item/Item.h
index 7df8b8534ac..e5b50bed8a6 100644
--- a/src/server/game/Entities/Item/Item.h
+++ b/src/server/game/Entities/Item/Item.h
@@ -378,8 +378,8 @@ class TC_GAME_API Item : public Object
protected:
UF::UpdateFieldFlag GetUpdateFieldFlagsFor(Player const* target) const final;
- void BuildValuesCreate(ByteBuffer* data, Player const* target) const override;
- void BuildValuesUpdate(ByteBuffer* data, Player const* target) const override;
+ void BuildValuesCreate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const override;
+ void BuildValuesUpdate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const override;
void ClearUpdateMask(bool remove) override;
public:
diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp
index 90a33683a5e..37b9d11c79d 100644
--- a/src/server/game/Entities/Object/Object.cpp
+++ b/src/server/game/Entities/Object/Object.cpp
@@ -178,9 +178,11 @@ void Object::BuildCreateUpdateBlockForPlayer(UpdateData* data, Player* target) c
BuildMovementUpdate(&buf, flags, target);
+ UF::UpdateFieldFlag fieldFlags = GetUpdateFieldFlagsFor(target);
std::size_t sizePos = buf.wpos();
buf << uint32(0);
- BuildValuesCreate(&buf, target);
+ buf << uint8(fieldFlags);
+ BuildValuesCreate(&buf, fieldFlags, target);
buf.put<uint32>(sizePos, buf.wpos() - sizePos - 4);
data->AddUpdateBlock();
@@ -204,9 +206,10 @@ void Object::BuildValuesUpdateBlockForPlayer(UpdateData* data, Player const* tar
{
ByteBuffer& buf = PrepareValuesUpdateBuffer(data);
+ EnumFlag<UF::UpdateFieldFlag> fieldFlags = GetUpdateFieldFlagsFor(target);
std::size_t sizePos = buf.wpos();
buf << uint32(0);
- BuildValuesUpdate(&buf, target);
+ BuildValuesUpdate(&buf, fieldFlags, target);
buf.put<uint32>(sizePos, buf.wpos() - sizePos - 4);
data->AddUpdateBlock();
@@ -264,7 +267,7 @@ void Object::SendOutOfRangeForPlayer(Player* target) const
target->SendDirectMessage(&packet);
}
-void Object::BuildMovementUpdate(ByteBuffer* data, CreateObjectBits flags, Player* target) const
+void Object::BuildMovementUpdate(ByteBuffer* data, CreateObjectBits flags, Player const* target) const
{
std::vector<uint32> const* PauseTimes = nullptr;
if (GameObject const* go = ToGameObject())
diff --git a/src/server/game/Entities/Object/Object.h b/src/server/game/Entities/Object/Object.h
index f8becf42063..a16a975ed41 100644
--- a/src/server/game/Entities/Object/Object.h
+++ b/src/server/game/Entities/Object/Object.h
@@ -390,10 +390,10 @@ class TC_GAME_API Object
}
}
- void BuildMovementUpdate(ByteBuffer* data, CreateObjectBits flags, Player* target) const;
+ void BuildMovementUpdate(ByteBuffer* data, CreateObjectBits flags, Player const* target) const;
virtual UF::UpdateFieldFlag GetUpdateFieldFlagsFor(Player const* target) const;
- virtual void BuildValuesCreate(ByteBuffer* data, Player const* target) const = 0;
- virtual void BuildValuesUpdate(ByteBuffer* data, Player const* target) const = 0;
+ virtual void BuildValuesCreate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const = 0;
+ virtual void BuildValuesUpdate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const = 0;
public:
virtual void BuildValuesUpdateWithFlag(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const;
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 468c611d30a..0755ac20a56 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -3644,10 +3644,8 @@ UF::UpdateFieldFlag Player::GetUpdateFieldFlagsFor(Player const* target) const
return flags;
}
-void Player::BuildValuesCreate(ByteBuffer* data, Player const* target) const
+void Player::BuildValuesCreate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const
{
- UF::UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
- *data << uint8(flags);
m_objectData->WriteCreate(*data, flags, this, target);
m_unitData->WriteCreate(*data, flags, this, target);
m_playerData->WriteCreate(*data, flags, this, target);
@@ -3655,9 +3653,8 @@ void Player::BuildValuesCreate(ByteBuffer* data, Player const* target) const
m_activePlayerData->WriteCreate(*data, flags, this, target);
}
-void Player::BuildValuesUpdate(ByteBuffer* data, Player const* target) const
+void Player::BuildValuesUpdate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const
{
- UF::UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
*data << uint32(m_values.GetChangedObjectTypeMask() & ~(uint32(target != this) << TYPEID_ACTIVE_PLAYER));
if (m_values.HasChanged(TYPEID_OBJECT))
diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h
index e30af788438..aee364a648b 100644
--- a/src/server/game/Entities/Player/Player.h
+++ b/src/server/game/Entities/Player/Player.h
@@ -2187,8 +2187,8 @@ class TC_GAME_API Player final : public Unit, public GridObject<Player>
protected:
UF::UpdateFieldFlag GetUpdateFieldFlagsFor(Player const* target) const override;
- void BuildValuesCreate(ByteBuffer* data, Player const* target) const override;
- void BuildValuesUpdate(ByteBuffer* data, Player const* target) const override;
+ void BuildValuesCreate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const override;
+ void BuildValuesUpdate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const override;
void ClearUpdateMask(bool remove) override;
public:
diff --git a/src/server/game/Entities/SceneObject/SceneObject.cpp b/src/server/game/Entities/SceneObject/SceneObject.cpp
index e1ccc771db0..80f8e2c624e 100644
--- a/src/server/game/Entities/SceneObject/SceneObject.cpp
+++ b/src/server/game/Entities/SceneObject/SceneObject.cpp
@@ -136,17 +136,14 @@ bool SceneObject::Create(ObjectGuid::LowType lowGuid, SceneType type, uint32 sce
return true;
}
-void SceneObject::BuildValuesCreate(ByteBuffer* data, Player const* target) const
+void SceneObject::BuildValuesCreate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const
{
- UF::UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
- *data << uint8(flags);
m_objectData->WriteCreate(*data, flags, this, target);
m_sceneObjectData->WriteCreate(*data, flags, this, target);
}
-void SceneObject::BuildValuesUpdate(ByteBuffer* data, Player const* target) const
+void SceneObject::BuildValuesUpdate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const
{
- UF::UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
*data << uint32(m_values.GetChangedObjectTypeMask());
if (m_values.HasChanged(TYPEID_OBJECT))
diff --git a/src/server/game/Entities/SceneObject/SceneObject.h b/src/server/game/Entities/SceneObject/SceneObject.h
index d085b6d7303..73d4fb31c87 100644
--- a/src/server/game/Entities/SceneObject/SceneObject.h
+++ b/src/server/game/Entities/SceneObject/SceneObject.h
@@ -36,8 +36,8 @@ public:
~SceneObject();
protected:
- void BuildValuesCreate(ByteBuffer* data, Player const* target) const override;
- void BuildValuesUpdate(ByteBuffer* data, Player const* target) const override;
+ void BuildValuesCreate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const override;
+ void BuildValuesUpdate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const override;
void ClearUpdateMask(bool remove) override;
public: