aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Creature/Creature.cpp9
-rw-r--r--src/server/game/Entities/GameObject/GameObject.cpp9
-rw-r--r--src/server/game/Entities/Item/ItemTemplate.cpp9
-rw-r--r--src/server/game/Quests/QuestDef.cpp9
-rw-r--r--src/server/game/Server/WorldPacket.h2
-rw-r--r--src/server/shared/Packets/ByteBuffer.h24
6 files changed, 33 insertions, 29 deletions
diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp
index 7d7c1ae6f4d..03f00efe738 100644
--- a/src/server/game/Entities/Creature/Creature.cpp
+++ b/src/server/game/Entities/Creature/Creature.cpp
@@ -172,12 +172,8 @@ uint32 CreatureTemplate::GetFirstVisibleModel() const
void CreatureTemplate::InitializeQueryData()
{
- WorldPacket queryTemp;
for (uint8 loc = LOCALE_enUS; loc < TOTAL_LOCALES; ++loc)
- {
- queryTemp = BuildQueryData(static_cast<LocaleConstant>(loc));
- QueryData[loc] = queryTemp;
- }
+ QueryData[loc] = BuildQueryData(static_cast<LocaleConstant>(loc));
}
WorldPacket CreatureTemplate::BuildQueryData(LocaleConstant loc) const
@@ -219,7 +215,8 @@ WorldPacket CreatureTemplate::BuildQueryData(LocaleConstant loc) const
queryTemp.Stats.QuestItems[i] = (*items)[i];
queryTemp.Stats.CreatureMovementInfoID = movementId;
- return *queryTemp.Write();
+ queryTemp.Write();
+ return queryTemp.Move();
}
bool AssistDelayEvent::Execute(uint64 /*e_time*/, uint32 /*p_time*/)
diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp
index b85e352c12f..95579847ce9 100644
--- a/src/server/game/Entities/GameObject/GameObject.cpp
+++ b/src/server/game/Entities/GameObject/GameObject.cpp
@@ -44,12 +44,8 @@
void GameObjectTemplate::InitializeQueryData()
{
- WorldPacket queryTemp;
for (uint8 loc = LOCALE_enUS; loc < TOTAL_LOCALES; ++loc)
- {
- queryTemp = BuildQueryData(static_cast<LocaleConstant>(loc));
- QueryData[loc] = queryTemp;
- }
+ QueryData[loc] = BuildQueryData(static_cast<LocaleConstant>(loc));
}
WorldPacket GameObjectTemplate::BuildQueryData(LocaleConstant loc) const
@@ -86,7 +82,8 @@ WorldPacket GameObjectTemplate::BuildQueryData(LocaleConstant loc) const
if (i < items->size())
queryTemp.Stats.QuestItems[i] = (*items)[i];
- return *queryTemp.Write();
+ queryTemp.Write();
+ return queryTemp.Move();
}
bool QuaternionData::isUnit() const
diff --git a/src/server/game/Entities/Item/ItemTemplate.cpp b/src/server/game/Entities/Item/ItemTemplate.cpp
index 7c0ccac7bd5..318df777859 100644
--- a/src/server/game/Entities/Item/ItemTemplate.cpp
+++ b/src/server/game/Entities/Item/ItemTemplate.cpp
@@ -149,12 +149,8 @@ void ItemTemplate::_LoadTotalAP()
void ItemTemplate::InitializeQueryData()
{
- WorldPacket queryTemp;
for (uint8 loc = LOCALE_enUS; loc < TOTAL_LOCALES; ++loc)
- {
- queryTemp = BuildQueryData(static_cast<LocaleConstant>(loc));
- QueryData[loc] = queryTemp;
- }
+ QueryData[loc] = BuildQueryData(static_cast<LocaleConstant>(loc));
}
WorldPacket ItemTemplate::BuildQueryData(LocaleConstant loc) const
@@ -270,5 +266,6 @@ WorldPacket ItemTemplate::BuildQueryData(LocaleConstant loc) const
response.Stats.ItemLimitCategory = ItemLimitCategory;
response.Stats.HolidayId = HolidayId;
- return *response.Write();
+ response.Write();
+ return response.Move();
}
diff --git a/src/server/game/Quests/QuestDef.cpp b/src/server/game/Quests/QuestDef.cpp
index da9ff2da5a0..590561dbbe5 100644
--- a/src/server/game/Quests/QuestDef.cpp
+++ b/src/server/game/Quests/QuestDef.cpp
@@ -314,12 +314,8 @@ bool Quest::CanIncreaseRewardedQuestCounters() const
void Quest::InitializeQueryData()
{
- WorldPacket queryTemp;
for (uint8 loc = LOCALE_enUS; loc < TOTAL_LOCALES; ++loc)
- {
- queryTemp = BuildQueryData(static_cast<LocaleConstant>(loc));
- QueryData[loc] = queryTemp;
- }
+ QueryData[loc] = BuildQueryData(static_cast<LocaleConstant>(loc));
}
WorldPacket Quest::BuildQueryData(LocaleConstant loc) const
@@ -432,7 +428,8 @@ WorldPacket Quest::BuildQueryData(LocaleConstant loc) const
for (uint8 i = 0; i < QUEST_OBJECTIVES_COUNT; ++i)
response.Info.ObjectiveText[i] = locQuestObjectiveText[i];
- return *response.Write();
+ response.Write();
+ return response.Move();
}
void Quest::AddQuestLevelToTitle(std::string &title, int32 level)
diff --git a/src/server/game/Server/WorldPacket.h b/src/server/game/Server/WorldPacket.h
index a51ba6a51f5..d1262eab4c1 100644
--- a/src/server/game/Server/WorldPacket.h
+++ b/src/server/game/Server/WorldPacket.h
@@ -47,7 +47,7 @@ class WorldPacket : public ByteBuffer
if (this != &right)
{
m_opcode = right.m_opcode;
- ByteBuffer::operator =(right);
+ ByteBuffer::operator=(right);
}
return *this;
diff --git a/src/server/shared/Packets/ByteBuffer.h b/src/server/shared/Packets/ByteBuffer.h
index 6b09e4ab3cc..4fc3a84e564 100644
--- a/src/server/shared/Packets/ByteBuffer.h
+++ b/src/server/shared/Packets/ByteBuffer.h
@@ -74,11 +74,13 @@ class TC_SHARED_API ByteBuffer
_storage.reserve(reserve);
}
- ByteBuffer(ByteBuffer&& buf) : _rpos(buf._rpos), _wpos(buf._wpos),
- _storage(std::move(buf._storage)) { }
+ ByteBuffer(ByteBuffer&& buf) : _rpos(buf._rpos), _wpos(buf._wpos), _storage(std::move(buf._storage))
+ {
+ buf._rpos = 0;
+ buf._wpos = 0;
+ }
- ByteBuffer(ByteBuffer const& right) : _rpos(right._rpos), _wpos(right._wpos),
- _storage(right._storage) { }
+ ByteBuffer(ByteBuffer const& right) : _rpos(right._rpos), _wpos(right._wpos), _storage(right._storage) { }
ByteBuffer(MessageBuffer&& buffer);
@@ -94,6 +96,20 @@ class TC_SHARED_API ByteBuffer
return *this;
}
+ ByteBuffer& operator=(ByteBuffer&& right)
+ {
+ if (this != &right)
+ {
+ _rpos = right._rpos;
+ right._rpos = 0;
+ _wpos = right._wpos;
+ right._wpos = 0;
+ _storage = std::move(right._storage);
+ }
+
+ return *this;
+ }
+
virtual ~ByteBuffer() { }
void clear()