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
@@ -139,19 +139,14 @@ bool SceneObject::Create(ObjectGuid::LowType lowGuid, SceneType type, uint32 sce
void SceneObject::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_sceneObjectData->WriteCreate(*data, flags, this, target);
data->put<uint32>(sizePos, data->wpos() - sizePos - 4);
}
void SceneObject::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))
@@ -159,8 +154,6 @@ void SceneObject::BuildValuesUpdate(ByteBuffer* data, Player const* target) cons
if (m_values.HasChanged(TYPEID_SCENEOBJECT))
m_sceneObjectData->WriteUpdate(*data, flags, this, target);
data->put<uint32>(sizePos, data->wpos() - sizePos - 4);
}
void SceneObject::BuildValuesUpdateForPlayerWithMask(UpdateData* data, UF::ObjectData::Mask const& requestedObjectMask,