diff options
| author | Shauren <shauren.trinity@gmail.com> | 2020-05-20 17:28:38 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2020-05-20 17:28:38 +0200 |
| commit | aedab76a119d2270d50e4f8692841fc9132c1fdf (patch) | |
| tree | 9cfa76d819a19576ea22f5f55e8a998e43067849 /src/server/game | |
| parent | 4acae3992bfecf85d68c0860007f7c538ca45a90 (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.cpp | 3 | ||||
| -rw-r--r-- | src/server/game/Entities/Object/Object.cpp | 4 | ||||
| -rw-r--r-- | src/server/game/Handlers/MiscHandler.cpp | 3 | ||||
| -rw-r--r-- | src/server/game/Server/WorldPacket.h | 20 |
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) { |
