diff options
Diffstat (limited to 'src')
-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/Entities/Item/ItemTemplate.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 0ac2b3be021..bd1bd4009a0 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -216,6 +216,7 @@ WorldPacket CreatureTemplate::BuildQueryData(LocaleConstant loc) const queryTemp.Stats.CreatureMovementInfoID = movementId; 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 d65f02a404c..ca2242c6aa4 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -83,6 +83,7 @@ WorldPacket GameObjectTemplate::BuildQueryData(LocaleConstant loc) const queryTemp.Stats.QuestItems[i] = (*items)[i]; queryTemp.Write(); + queryTemp.ShrinkToFit(); return queryTemp.Move(); } diff --git a/src/server/game/Entities/Item/ItemTemplate.cpp b/src/server/game/Entities/Item/ItemTemplate.cpp index 318df777859..1f35fa341f4 100644 --- a/src/server/game/Entities/Item/ItemTemplate.cpp +++ b/src/server/game/Entities/Item/ItemTemplate.cpp @@ -267,5 +267,6 @@ WorldPacket ItemTemplate::BuildQueryData(LocaleConstant loc) const response.Stats.HolidayId = HolidayId; response.Write(); + response.ShrinkToFit(); return response.Move(); } diff --git a/src/server/game/Quests/QuestDef.cpp b/src/server/game/Quests/QuestDef.cpp index 590561dbbe5..26420ccbb17 100644 --- a/src/server/game/Quests/QuestDef.cpp +++ b/src/server/game/Quests/QuestDef.cpp @@ -429,6 +429,7 @@ WorldPacket Quest::BuildQueryData(LocaleConstant loc) const response.Info.ObjectiveText[i] = locQuestObjectiveText[i]; response.Write(); + response.ShrinkToFit(); return response.Move(); } diff --git a/src/server/game/Server/Packet.h b/src/server/game/Server/Packet.h index 2f863cb1994..e1b73ded09a 100644 --- a/src/server/game/Server/Packet.h +++ b/src/server/game/Server/Packet.h @@ -51,6 +51,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 4fc3a84e564..47b22b99b5c 100644 --- a/src/server/shared/Packets/ByteBuffer.h +++ b/src/server/shared/Packets/ByteBuffer.h @@ -413,6 +413,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); |