aboutsummaryrefslogtreecommitdiff
path: root/src/server/game
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2020-05-20 17:28:38 +0200
committerShauren <shauren.trinity@gmail.com>2020-05-20 17:28:38 +0200
commitaedab76a119d2270d50e4f8692841fc9132c1fdf (patch)
tree9cfa76d819a19576ea22f5f55e8a998e43067849 /src/server/game
parent4acae3992bfecf85d68c0860007f7c538ca45a90 (diff)
Core/Misc: Add extra ByteBuffer and WorldPacket constructors allowing to set size immediately
Diffstat (limited to 'src/server/game')
-rw-r--r--src/server/game/Conditions/ConditionMgr.cpp3
-rw-r--r--src/server/game/Entities/Object/Object.cpp4
-rw-r--r--src/server/game/Handlers/MiscHandler.cpp3
-rw-r--r--src/server/game/Server/WorldPacket.h20
4 files changed, 17 insertions, 13 deletions
diff --git a/src/server/game/Conditions/ConditionMgr.cpp b/src/server/game/Conditions/ConditionMgr.cpp
index f5a339c4d5c..25031d5c04c 100644
--- a/src/server/game/Conditions/ConditionMgr.cpp
+++ b/src/server/game/Conditions/ConditionMgr.cpp
@@ -2945,8 +2945,7 @@ bool ConditionMgr::IsPlayerMeetingCondition(Player const* player, PlayerConditio
ByteBuffer HexToBytes(const std::string& hex)
{
- ByteBuffer buffer;
- buffer.resize(hex.length() / 2);
+ ByteBuffer buffer(hex.length() / 2, ByteBuffer::Resize{});
HexStrToByteArray(hex, buffer.contents());
return buffer;
}
diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp
index 5e79eb1316c..53aa451792e 100644
--- a/src/server/game/Entities/Object/Object.cpp
+++ b/src/server/game/Entities/Object/Object.cpp
@@ -211,7 +211,7 @@ void Object::BuildCreateUpdateBlockForPlayer(UpdateData* data, Player* target) c
if (unit->GetVictim())
flags.CombatVictim = true;
- ByteBuffer buf(0x400);
+ ByteBuffer buf(0x400, ByteBuffer::Reserve{});
buf << uint8(updateType);
buf << GetGUID();
buf << uint8(objectType);
@@ -265,7 +265,7 @@ void Object::BuildOutOfRangeUpdateBlock(UpdateData* data) const
ByteBuffer Object::PrepareValuesUpdateBuffer() const
{
- ByteBuffer buffer(500);
+ ByteBuffer buffer(500, ByteBuffer::Reserve{});
buffer << uint8(UPDATETYPE_VALUES);
buffer << GetGUID();
return buffer;
diff --git a/src/server/game/Handlers/MiscHandler.cpp b/src/server/game/Handlers/MiscHandler.cpp
index 04489bbb744..11b838d090e 100644
--- a/src/server/game/Handlers/MiscHandler.cpp
+++ b/src/server/game/Handlers/MiscHandler.cpp
@@ -649,8 +649,7 @@ void WorldSession::HandleUpdateAccountData(WorldPackets::ClientConfig::UserClien
return;
}
- ByteBuffer dest;
- dest.resize(packet.Size);
+ ByteBuffer dest(packet.Size, ByteBuffer::Resize{});
uLongf realSize = packet.Size;
if (uncompress(dest.contents(), &realSize, packet.CompressedData.contents(), packet.CompressedData.size()) != Z_OK)
diff --git a/src/server/game/Server/WorldPacket.h b/src/server/game/Server/WorldPacket.h
index 31dee778817..99e06b2b1cd 100644
--- a/src/server/game/Server/WorldPacket.h
+++ b/src/server/game/Server/WorldPacket.h
@@ -25,21 +25,27 @@ class WorldPacket : public ByteBuffer
{
public:
// just container for later use
- WorldPacket() : ByteBuffer(0), m_opcode(UNKNOWN_OPCODE), _connection(CONNECTION_TYPE_DEFAULT)
+ WorldPacket() : ByteBuffer(0, Reserve{}), m_opcode(UNKNOWN_OPCODE), _connection(CONNECTION_TYPE_DEFAULT)
{
}
- WorldPacket(uint32 opcode, size_t res = 200, ConnectionType connection = CONNECTION_TYPE_DEFAULT) : ByteBuffer(res),
+ WorldPacket(uint32 opcode, ConnectionType connection = CONNECTION_TYPE_DEFAULT) : ByteBuffer(0, Reserve{}),
m_opcode(opcode), _connection(connection) { }
- WorldPacket(WorldPacket&& packet) : ByteBuffer(std::move(packet)), m_opcode(packet.m_opcode), _connection(packet._connection)
- {
- }
+ WorldPacket(uint32 opcode, size_t res, Reserve, ConnectionType connection = CONNECTION_TYPE_DEFAULT) : ByteBuffer(res, Reserve{}),
+ m_opcode(opcode), _connection(connection) { }
- WorldPacket(WorldPacket const& right) : ByteBuffer(right), m_opcode(right.m_opcode), _connection(right._connection)
+ WorldPacket(uint32 opcode, size_t res, Resize, ConnectionType connection = CONNECTION_TYPE_DEFAULT) : ByteBuffer(res, Resize{}),
+ m_opcode(opcode), _connection(connection) { }
+
+ WorldPacket(uint32 opcode, size_t res, ConnectionType connection = CONNECTION_TYPE_DEFAULT) : WorldPacket(opcode, res, Reserve{}, connection) { }
+
+ WorldPacket(WorldPacket&& packet) noexcept : ByteBuffer(std::move(packet)), m_opcode(packet.m_opcode), _connection(packet._connection)
{
}
+ WorldPacket(WorldPacket const& right) = default;
+
WorldPacket& operator=(WorldPacket const& right)
{
if (this != &right)
@@ -52,7 +58,7 @@ class WorldPacket : public ByteBuffer
return *this;
}
- WorldPacket& operator=(WorldPacket&& right)
+ WorldPacket& operator=(WorldPacket&& right) noexcept
{
if (this != &right)
{