diff options
author | Shauren <shauren.trinity@gmail.com> | 2024-12-19 14:55:40 +0100 |
---|---|---|
committer | Ovahlord <dreadkiller@gmx.de> | 2024-12-20 15:34:20 +0100 |
commit | 744a435f447415dd8bf2a3889d0c1d149c9c78f7 (patch) | |
tree | 5231dc21d3e71e4d2b24508c9697d592c12ba2d7 /src/server | |
parent | 003fa802e168030858f7e250dccde7e66aed6029 (diff) |
Core/PacketIO: Remove overriding Underlying type from ByteBuffer reads in favor of PacketUtilities::As
(cherry picked from commit 9ed5f8812b58d1d99d81fbb3df38001206d3f6ed)
# Conflicts:
# src/server/game/Server/Packets/AuctionHousePackets.cpp
# src/server/game/Server/Packets/ItemPackets.cpp
Diffstat (limited to 'src/server')
-rw-r--r-- | src/server/game/Server/Packets/ItemPackets.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Server/Packets/MiscPackets.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Server/Packets/MovementPackets.cpp | 3 | ||||
-rw-r--r-- | src/server/game/Server/Packets/PacketUtilities.h | 2 | ||||
-rw-r--r-- | src/server/game/Server/Packets/TraitPacketsCommon.cpp | 4 | ||||
-rw-r--r-- | src/server/shared/Packets/ByteBuffer.h | 18 |
6 files changed, 16 insertions, 15 deletions
diff --git a/src/server/game/Server/Packets/ItemPackets.cpp b/src/server/game/Server/Packets/ItemPackets.cpp index 58cdac4959f..abe16246c7a 100644 --- a/src/server/game/Server/Packets/ItemPackets.cpp +++ b/src/server/game/Server/Packets/ItemPackets.cpp @@ -30,7 +30,7 @@ void WorldPackets::Item::BuyItem::Read() _worldPacket >> Quantity; _worldPacket >> Muid; _worldPacket >> Slot; - ItemType = _worldPacket.read<ItemVendorType, int32>(); + _worldPacket >> As<int32>(ItemType); _worldPacket >> Item; } diff --git a/src/server/game/Server/Packets/MiscPackets.cpp b/src/server/game/Server/Packets/MiscPackets.cpp index c5a533c5b9d..0f9e960233f 100644 --- a/src/server/game/Server/Packets/MiscPackets.cpp +++ b/src/server/game/Server/Packets/MiscPackets.cpp @@ -762,7 +762,7 @@ WorldPacket const* WorldPackets::Misc::StartTimer::Write() void WorldPackets::Misc::QueryCountdownTimer::Read() { - TimerType = _worldPacket.read<CountdownTimerType, int32>(); + _worldPacket >> As<int32>(TimerType); } void WorldPackets::Misc::ConversationLineStarted::Read() diff --git a/src/server/game/Server/Packets/MovementPackets.cpp b/src/server/game/Server/Packets/MovementPackets.cpp index ef05b6ebe08..ccd6ac9a11f 100644 --- a/src/server/game/Server/Packets/MovementPackets.cpp +++ b/src/server/game/Server/Packets/MovementPackets.cpp @@ -19,6 +19,7 @@ #include "MoveSpline.h" #include "MoveSplineFlag.h" #include "MovementTypedefs.h" +#include "PacketUtilities.h" #include "Unit.h" #include "Util.h" @@ -935,7 +936,7 @@ void WorldPackets::Movement::MoveSetCollisionHeightAck::Read() _worldPacket >> Data; _worldPacket >> Height; _worldPacket >> MountDisplayID; - Reason = _worldPacket.read<UpdateCollisionHeightReason, uint8>(); + _worldPacket >> As<uint8>(Reason); } void WorldPackets::Movement::MoveTimeSkipped::Read() diff --git a/src/server/game/Server/Packets/PacketUtilities.h b/src/server/game/Server/Packets/PacketUtilities.h index e23bb4147fa..678d6aba977 100644 --- a/src/server/game/Server/Packets/PacketUtilities.h +++ b/src/server/game/Server/Packets/PacketUtilities.h @@ -288,7 +288,7 @@ namespace WorldPackets friend ByteBuffer& operator>>(ByteBuffer& data, Timestamp& timestamp) { - timestamp._value = data.read<time_t, Underlying>(); + timestamp._value = static_cast<time_t>(data.read<Underlying>()); return data; } diff --git a/src/server/game/Server/Packets/TraitPacketsCommon.cpp b/src/server/game/Server/Packets/TraitPacketsCommon.cpp index effe6c903b0..3d3c1bbf635 100644 --- a/src/server/game/Server/Packets/TraitPacketsCommon.cpp +++ b/src/server/game/Server/Packets/TraitPacketsCommon.cpp @@ -70,7 +70,7 @@ ByteBuffer& operator<<(ByteBuffer& data, TraitEntry const& traitEntry) ByteBuffer& operator>>(ByteBuffer& data, TraitConfig& traitConfig) { data >> traitConfig.ID; - traitConfig.Type = data.read<TraitConfigType, int32>(); + data >> As<int32>(traitConfig.Type); uint32 entriesSize = data.read<uint32>(); if (entriesSize > 100) throw PacketArrayMaxCapacityException(entriesSize, 100); @@ -80,7 +80,7 @@ ByteBuffer& operator>>(ByteBuffer& data, TraitConfig& traitConfig) { case TraitConfigType::Combat: data >> traitConfig.ChrSpecializationID; - traitConfig.CombatConfigFlags = data.read<TraitCombatConfigFlags, int32>(); + data >> As<int32>(traitConfig.CombatConfigFlags); data >> traitConfig.LocalIdentifier; break; case TraitConfigType::Profession: diff --git a/src/server/shared/Packets/ByteBuffer.h b/src/server/shared/Packets/ByteBuffer.h index f2bb422cde1..2f59f0db873 100644 --- a/src/server/shared/Packets/ByteBuffer.h +++ b/src/server/shared/Packets/ByteBuffer.h @@ -433,24 +433,24 @@ class TC_SHARED_API ByteBuffer _rpos += skip; } - template <typename T, typename Underlying = T> + template <typename T> T read() { ResetBitPos(); - T r = read<T, Underlying>(_rpos); - _rpos += sizeof(Underlying); + T r = read<T>(_rpos); + _rpos += sizeof(T); return r; } - template <typename T, typename Underlying = T> + template <typename T> T read(size_t pos) const { - if (pos + sizeof(Underlying) > size()) - throw ByteBufferPositionException(pos, sizeof(Underlying), size()); - Underlying val; - std::memcpy(&val, &_storage[pos], sizeof(Underlying)); + if (pos + sizeof(T) > size()) + throw ByteBufferPositionException(pos, sizeof(T), size()); + T val; + std::memcpy(&val, &_storage[pos], sizeof(T)); EndianConvert(val); - return static_cast<T>(val); + return val; } template <typename T> |