mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
Core/Objects: More minor refactors for SMSG_UPDATE_OBJECT building - move getting and writing field flags to shared function
This commit is contained in:
@@ -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))
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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())
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user