diff options
-rw-r--r-- | src/server/game/Entities/Creature/Creature.cpp | 1 | ||||
-rw-r--r-- | src/server/game/Entities/GameObject/GameObject.cpp | 1 | ||||
-rw-r--r-- | src/server/game/Globals/ObjectMgr.cpp | 1 | ||||
-rw-r--r-- | src/server/game/Quests/QuestDef.cpp | 1 | ||||
-rw-r--r-- | src/server/game/Server/Packet.h | 1 | ||||
-rw-r--r-- | src/server/shared/Packets/ByteBuffer.h | 5 |
6 files changed, 10 insertions, 0 deletions
diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index 2ca94a09e97..4139aa517bb 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -244,6 +244,7 @@ WorldPacket CreatureTemplate::BuildQueryData(LocaleConstant loc) const } queryTemp.Write(); + queryTemp.ShrinkToFit(); return queryTemp.Move(); } diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index 01c817a6d60..c81612003ea 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -89,6 +89,7 @@ WorldPacket GameObjectTemplate::BuildQueryData(LocaleConstant loc) const stats.ContentTuningId = ContentTuningId; queryTemp.Write(); + queryTemp.ShrinkToFit(); return queryTemp.Move(); } diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index b1bf17ec7d7..abb24cab237 100644 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -10492,6 +10492,7 @@ void ObjectMgr::InitializeQueriesData(QueryDataGroup mask) void QuestPOIData::InitializeQueryData() { QueryDataBuffer << *this; + QueryDataBuffer.shrink_to_fit(); } void ObjectMgr::LoadSceneTemplates() diff --git a/src/server/game/Quests/QuestDef.cpp b/src/server/game/Quests/QuestDef.cpp index b1df0ef8284..633d79134b4 100644 --- a/src/server/game/Quests/QuestDef.cpp +++ b/src/server/game/Quests/QuestDef.cpp @@ -594,6 +594,7 @@ WorldPacket Quest::BuildQueryData(LocaleConstant loc) const response.Info.TimeAllowed = GetLimitTime(); response.Write(); + response.ShrinkToFit(); return response.Move(); } diff --git a/src/server/game/Server/Packet.h b/src/server/game/Server/Packet.h index 986c46b805a..17add8a7e42 100644 --- a/src/server/game/Server/Packet.h +++ b/src/server/game/Server/Packet.h @@ -52,6 +52,7 @@ namespace WorldPackets void Clear() { _worldPacket.clear(); } WorldPacket&& Move() { return std::move(_worldPacket); } + void ShrinkToFit() { _worldPacket.shrink_to_fit(); } OpcodeServer GetOpcode() const { return OpcodeServer(_worldPacket.GetOpcode()); } }; diff --git a/src/server/shared/Packets/ByteBuffer.h b/src/server/shared/Packets/ByteBuffer.h index 36cb0f5f970..c629048922d 100644 --- a/src/server/shared/Packets/ByteBuffer.h +++ b/src/server/shared/Packets/ByteBuffer.h @@ -552,6 +552,11 @@ class TC_SHARED_API ByteBuffer _storage.reserve(ressize); } + void shrink_to_fit() + { + _storage.shrink_to_fit(); + } + void append(const char *src, size_t cnt) { return append((const uint8 *)src, cnt); |