Core/PacketIO: Move writing data sizes in SMSG_UPDATE_OBJECT to shared functions instead of spreading it in all overrides

(cherry picked from commit 067fa31d15)

# Conflicts:
#	src/server/game/Entities/Item/AzeriteItem/AzeriteEmpoweredItem.cpp
#	src/server/game/Entities/Item/AzeriteItem/AzeriteItem.cpp
This commit is contained in:
Shauren
2024-10-25 15:36:11 +02:00
committed by Ovahlord
parent f21be961d9
commit c975bc2c65
15 changed files with 118 additions and 190 deletions
@@ -3973,19 +3973,14 @@ GameObject* GameObject::GetLinkedTrap()
void GameObject::BuildValuesCreate(ByteBuffer* data, Player const* target) const
{
UF::UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
std::size_t sizePos = data->wpos();
*data << uint32(0);
*data << uint8(flags);
m_objectData->WriteCreate(*data, flags, this, target);
m_gameObjectData->WriteCreate(*data, flags, this, target);
data->put<uint32>(sizePos, data->wpos() - sizePos - 4);
}
void GameObject::BuildValuesUpdate(ByteBuffer* data, Player const* target) const
{
UF::UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
std::size_t sizePos = data->wpos();
*data << uint32(0);
*data << uint32(m_values.GetChangedObjectTypeMask());
if (m_values.HasChanged(TYPEID_OBJECT))
@@ -3993,8 +3988,6 @@ void GameObject::BuildValuesUpdate(ByteBuffer* data, Player const* target) const
if (m_values.HasChanged(TYPEID_GAMEOBJECT))
m_gameObjectData->WriteUpdate(*data, flags, this, target);
data->put<uint32>(sizePos, data->wpos() - sizePos - 4);
}
void GameObject::BuildValuesUpdateForPlayerWithMask(UpdateData* data, UF::ObjectData::Mask const& requestedObjectMask,