From 1e11a0f77a8ed428ee47dd43e8d0fa4a5a5ae66f Mon Sep 17 00:00:00 2001 From: Ovahlord Date: Fri, 7 Aug 2020 00:50:29 +0200 Subject: [PATCH] Core/Packets: backported a unknown field update from 335 branch and removed tempoary variable when reading RequesterGUID in RideTicket --- src/server/game/Server/Packets/LFGPackets.cpp | 72 +++++++++---------- src/server/game/Server/Packets/LFGPackets.h | 2 + 2 files changed, 37 insertions(+), 37 deletions(-) diff --git a/src/server/game/Server/Packets/LFGPackets.cpp b/src/server/game/Server/Packets/LFGPackets.cpp index ab67d2ff8d1..182ed0d8e66 100644 --- a/src/server/game/Server/Packets/LFGPackets.cpp +++ b/src/server/game/Server/Packets/LFGPackets.cpp @@ -22,8 +22,8 @@ void WorldPackets::LFG::LFGJoin::Read() { _worldPacket >> Roles; - for (uint8 i = 0; i < 3; ++i) - _worldPacket.read_skip(); + for (uint32& needs : Needs) // Needs count, hardcoded to 3 in client + _worldPacket >> needs; uint32 commentLength = _worldPacket.ReadBits(9); Slots.resize(_worldPacket.ReadBits(24)); @@ -35,31 +35,30 @@ void WorldPackets::LFG::LFGJoin::Read() void WorldPackets::LFG::LFGLeave::Read() { - _worldPacket.read_skip(); + _worldPacket >> Roles; _worldPacket >> Ticket.Time; uint32 type = 0; _worldPacket >> type; Ticket.Type = RideType(type); _worldPacket >> Ticket.Id; - ObjectGuid& requesterGuid = Ticket.RequesterGuid; - requesterGuid[4] = _worldPacket.ReadBit(); - requesterGuid[5] = _worldPacket.ReadBit(); - requesterGuid[0] = _worldPacket.ReadBit(); - requesterGuid[6] = _worldPacket.ReadBit(); - requesterGuid[2] = _worldPacket.ReadBit(); - requesterGuid[7] = _worldPacket.ReadBit(); - requesterGuid[1] = _worldPacket.ReadBit(); - requesterGuid[3] = _worldPacket.ReadBit(); + Ticket.RequesterGuid[4] = _worldPacket.ReadBit(); + Ticket.RequesterGuid[5] = _worldPacket.ReadBit(); + Ticket.RequesterGuid[0] = _worldPacket.ReadBit(); + Ticket.RequesterGuid[6] = _worldPacket.ReadBit(); + Ticket.RequesterGuid[2] = _worldPacket.ReadBit(); + Ticket.RequesterGuid[7] = _worldPacket.ReadBit(); + Ticket.RequesterGuid[1] = _worldPacket.ReadBit(); + Ticket.RequesterGuid[3] = _worldPacket.ReadBit(); - _worldPacket.ReadByteSeq(requesterGuid[7]); - _worldPacket.ReadByteSeq(requesterGuid[4]); - _worldPacket.ReadByteSeq(requesterGuid[3]); - _worldPacket.ReadByteSeq(requesterGuid[2]); - _worldPacket.ReadByteSeq(requesterGuid[6]); - _worldPacket.ReadByteSeq(requesterGuid[0]); - _worldPacket.ReadByteSeq(requesterGuid[1]); - _worldPacket.ReadByteSeq(requesterGuid[5]); + _worldPacket.ReadByteSeq(Ticket.RequesterGuid[7]); + _worldPacket.ReadByteSeq(Ticket.RequesterGuid[4]); + _worldPacket.ReadByteSeq(Ticket.RequesterGuid[3]); + _worldPacket.ReadByteSeq(Ticket.RequesterGuid[2]); + _worldPacket.ReadByteSeq(Ticket.RequesterGuid[6]); + _worldPacket.ReadByteSeq(Ticket.RequesterGuid[0]); + _worldPacket.ReadByteSeq(Ticket.RequesterGuid[1]); + _worldPacket.ReadByteSeq(Ticket.RequesterGuid[5]); } void WorldPackets::LFG::LFGProposalResponse::Read() @@ -71,24 +70,23 @@ void WorldPackets::LFG::LFGProposalResponse::Read() Ticket.Type = RideType(type); _worldPacket >> Ticket.Id; - ObjectGuid& requesterGuid = Ticket.RequesterGuid; - requesterGuid[4] = _worldPacket.ReadBit(); - requesterGuid[5] = _worldPacket.ReadBit(); - requesterGuid[0] = _worldPacket.ReadBit(); - requesterGuid[6] = _worldPacket.ReadBit(); - requesterGuid[2] = _worldPacket.ReadBit(); - requesterGuid[7] = _worldPacket.ReadBit(); - requesterGuid[1] = _worldPacket.ReadBit(); - requesterGuid[3] = _worldPacket.ReadBit(); + Ticket.RequesterGuid[4] = _worldPacket.ReadBit(); + Ticket.RequesterGuid[5] = _worldPacket.ReadBit(); + Ticket.RequesterGuid[0] = _worldPacket.ReadBit(); + Ticket.RequesterGuid[6] = _worldPacket.ReadBit(); + Ticket.RequesterGuid[2] = _worldPacket.ReadBit(); + Ticket.RequesterGuid[7] = _worldPacket.ReadBit(); + Ticket.RequesterGuid[1] = _worldPacket.ReadBit(); + Ticket.RequesterGuid[3] = _worldPacket.ReadBit(); - _worldPacket.ReadByteSeq(requesterGuid[7]); - _worldPacket.ReadByteSeq(requesterGuid[4]); - _worldPacket.ReadByteSeq(requesterGuid[3]); - _worldPacket.ReadByteSeq(requesterGuid[2]); - _worldPacket.ReadByteSeq(requesterGuid[6]); - _worldPacket.ReadByteSeq(requesterGuid[0]); - _worldPacket.ReadByteSeq(requesterGuid[1]); - _worldPacket.ReadByteSeq(requesterGuid[5]); + _worldPacket.ReadByteSeq(Ticket.RequesterGuid[7]); + _worldPacket.ReadByteSeq(Ticket.RequesterGuid[4]); + _worldPacket.ReadByteSeq(Ticket.RequesterGuid[3]); + _worldPacket.ReadByteSeq(Ticket.RequesterGuid[2]); + _worldPacket.ReadByteSeq(Ticket.RequesterGuid[6]); + _worldPacket.ReadByteSeq(Ticket.RequesterGuid[0]); + _worldPacket.ReadByteSeq(Ticket.RequesterGuid[1]); + _worldPacket.ReadByteSeq(Ticket.RequesterGuid[5]); ObjectGuid instaceId; instaceId[7] = _worldPacket.ReadBit(); diff --git a/src/server/game/Server/Packets/LFGPackets.h b/src/server/game/Server/Packets/LFGPackets.h index c068fefea2b..85d5d723fc4 100644 --- a/src/server/game/Server/Packets/LFGPackets.h +++ b/src/server/game/Server/Packets/LFGPackets.h @@ -41,6 +41,7 @@ namespace WorldPackets uint32 Roles = 0; std::string Comment; Array Slots; + std::array Needs = { }; }; class LFGLeave final : public ClientPacket @@ -50,6 +51,7 @@ namespace WorldPackets void Read() override; + uint32 Roles = 0; RideTicket Ticket; };