diff options
author | Shauren <shauren.trinity@gmail.com> | 2015-09-25 00:11:54 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2015-09-25 00:11:54 +0200 |
commit | 074b00af373de61d462314c4355b3aa3f3312482 (patch) | |
tree | 1f65c3cd95caee0d0cb284892c334c996dd0de9b /src | |
parent | 5cf28316ff67e254d8055b4681c91dd8e5a146c3 (diff) |
Core/PacketIO: Updated and enabled SupportTicketSubmitComplaint, SupportTicketSubmitSuggestion
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Server/Packets/TicketPackets.cpp | 75 | ||||
-rw-r--r-- | src/server/game/Server/Packets/TicketPackets.h | 27 | ||||
-rw-r--r-- | src/server/game/Server/Protocol/Opcodes.cpp | 4 | ||||
-rw-r--r-- | src/server/shared/Packets/ByteBuffer.h | 2 |
4 files changed, 48 insertions, 60 deletions
diff --git a/src/server/game/Server/Packets/TicketPackets.cpp b/src/server/game/Server/Packets/TicketPackets.cpp index 443692d5ebb..df7ea8e0afa 100644 --- a/src/server/game/Server/Packets/TicketPackets.cpp +++ b/src/server/game/Server/Packets/TicketPackets.cpp @@ -78,9 +78,7 @@ void WorldPackets::Ticket::SupportTicketSubmitSuggestion::Read() WorldPackets::Ticket::SupportTicketSubmitComplaint::SupportTicketChatLine::SupportTicketChatLine(ByteBuffer& data) { data >> Timestamp; - uint16 textLength = data.ReadBits(12); - data.ResetBitPos(); - Text = data.ReadString(textLength); + Text = data.ReadString(data.ReadBits(12)); } WorldPackets::Ticket::SupportTicketSubmitComplaint::SupportTicketChatLine::SupportTicketChatLine(uint32 timestamp, std::string const& text) : @@ -90,9 +88,7 @@ WorldPackets::Ticket::SupportTicketSubmitComplaint::SupportTicketChatLine::Suppo ByteBuffer& operator>>(ByteBuffer& data, WorldPackets::Ticket::SupportTicketSubmitComplaint::SupportTicketChatLine& line) { data >> line.Timestamp; - uint16 textLength = data.ReadBits(12); - data.ResetBitPos(); - line.Text = data.ReadString(textLength); + line.Text = data.ReadString(data.ReadBits(12)); return data; } @@ -118,9 +114,8 @@ ByteBuffer& operator>>(ByteBuffer& data, Optional<WorldPackets::Ticket::SupportT mail = boost::in_place(); data >> mail->MailID; - uint16 bodyLength = data.ReadBits(13); - uint16 subjectLength = data.ReadBits(9); - + uint32 bodyLength = data.ReadBits(13); + uint32 subjectLength = data.ReadBits(9); mail->MailBody = data.ReadString(bodyLength); mail->MailSubject = data.ReadString(subjectLength); @@ -133,9 +128,7 @@ ByteBuffer& operator>>(ByteBuffer& data, Optional<WorldPackets::Ticket::SupportT data >> event->EventID; data >> event->InviteID; - uint8 titleLength = data.ReadBits(8); - - event->EventTitle = data.ReadString(titleLength); + event->EventTitle = data.ReadString(data.ReadBits(8)); return data; } @@ -145,9 +138,7 @@ ByteBuffer& operator>>(ByteBuffer& data, Optional<WorldPackets::Ticket::SupportT pet = boost::in_place(); data >> pet->PetID; - uint8 nameLength = data.ReadBits(8); - - pet->PetName = data.ReadString(nameLength); + pet->PetName = data.ReadString(data.ReadBits(8)); return data; } @@ -156,44 +147,40 @@ ByteBuffer& operator>>(ByteBuffer& data, Optional<WorldPackets::Ticket::SupportT { guild = boost::in_place(); + uint32 nameLength = data.ReadBits(7); data >> guild->GuildID; - uint8 nameLength = data.ReadBits(8); - guild->GuildName = data.ReadString(nameLength); return data; } -ByteBuffer& operator>>(ByteBuffer& data, Optional<WorldPackets::Ticket::SupportTicketSubmitComplaint::Struct5E4383>& str) +ByteBuffer& operator>>(ByteBuffer& data, Optional<WorldPackets::Ticket::SupportTicketSubmitComplaint::SupportTicketLFGListSearchResult>& lfgListSearchResult) { - str = boost::in_place(); + lfgListSearchResult = boost::in_place(); - data >> str->RideTicket; - data >> str->_40; - data >> str->_56; - data >> str->_72; + data >> lfgListSearchResult->RideTicket; + data >> lfgListSearchResult->GroupFinderActivityID; + data >> lfgListSearchResult->LastTitleAuthorGuid; + data >> lfgListSearchResult->LastDescriptionAuthorGuid; + data >> lfgListSearchResult->LastVoiceChatAuthorGuid; - uint8 _88Length = data.ReadBits(8); - uint8 _217Length = data.ReadBits(8); - uint8 _1242Length = data.ReadBits(8); + uint32 titleLength = data.ReadBits(8); + uint32 descriptionLength = data.ReadBits(11); + uint32 voiceChatLength = data.ReadBits(8); - str->_88 = data.ReadString(_88Length); - str->_217 = data.ReadString(_217Length); - str->_1242 = data.ReadString(_1242Length); + lfgListSearchResult->Title = data.ReadString(titleLength); + lfgListSearchResult->Description = data.ReadString(descriptionLength); + lfgListSearchResult->VoiceChat = data.ReadString(voiceChatLength); return data; } -ByteBuffer& operator>>(ByteBuffer& data, Optional<WorldPackets::Ticket::SupportTicketSubmitComplaint::Struct5E3DFB>& str) +ByteBuffer& operator>>(ByteBuffer& data, Optional<WorldPackets::Ticket::SupportTicketSubmitComplaint::SupportTicketLFGListApplicant>& lfgListApplicant) { - str = boost::in_place(); - - data >> str->RideTicket; - - uint16 _32Length = data.ReadBits(9); - data.ResetBitPos(); + lfgListApplicant = boost::in_place(); - str->_32 = data.ReadString(_32Length); + data >> lfgListApplicant->RideTicket; + lfgListApplicant->Comment = data.ReadString(data.ReadBits(9)); return data; } @@ -205,13 +192,13 @@ void WorldPackets::Ticket::SupportTicketSubmitComplaint::Read() _worldPacket >> TargetCharacterGUID; ComplaintType = _worldPacket.ReadBits(5); - uint16 noteLength = _worldPacket.ReadBits(10); + uint32 noteLength = _worldPacket.ReadBits(10); bool hasMailInfo = _worldPacket.ReadBit(); bool hasCalendarInfo = _worldPacket.ReadBit(); bool hasPetInfo = _worldPacket.ReadBit(); bool hasGuildInfo = _worldPacket.ReadBit(); - bool has5E4383 = _worldPacket.ReadBit(); - bool has5E3DFB = _worldPacket.ReadBit(); + bool hasLFGListSearchResult = _worldPacket.ReadBit(); + bool hasLFGListApplicant = _worldPacket.ReadBit(); _worldPacket.ResetBitPos(); @@ -229,11 +216,11 @@ void WorldPackets::Ticket::SupportTicketSubmitComplaint::Read() if (hasGuildInfo) _worldPacket >> GuildInfo; - if (has5E4383) - _worldPacket >> _5E4383; + if (hasLFGListSearchResult) + _worldPacket >> LFGListSearchResult; - if (has5E3DFB) - _worldPacket >> _5E3DFB; + if (hasLFGListApplicant) + _worldPacket >> LFGListApplicant; } WorldPacket const* WorldPackets::Ticket::ComplaintResult::Write() diff --git a/src/server/game/Server/Packets/TicketPackets.h b/src/server/game/Server/Packets/TicketPackets.h index 08e7c5fac63..b07413adb8e 100644 --- a/src/server/game/Server/Packets/TicketPackets.h +++ b/src/server/game/Server/Packets/TicketPackets.h @@ -140,8 +140,8 @@ namespace WorldPackets struct SupportTicketCalendarEventInfo { - ObjectGuid EventID; - ObjectGuid InviteID; + uint64 EventID; + uint64 InviteID; std::string EventTitle; }; @@ -157,21 +157,22 @@ namespace WorldPackets std::string GuildName; }; - struct Struct5E4383 + struct SupportTicketLFGListSearchResult { WorldPackets::LFG::RideTicket RideTicket; - ObjectGuid _40; - ObjectGuid _56; - ObjectGuid _72; - std::string _88; - std::string _217; - std::string _1242; + uint32 GroupFinderActivityID = 0; + ObjectGuid LastTitleAuthorGuid; + ObjectGuid LastDescriptionAuthorGuid; + ObjectGuid LastVoiceChatAuthorGuid; + std::string Title; + std::string Description; + std::string VoiceChat; }; - struct Struct5E3DFB + struct SupportTicketLFGListApplicant { WorldPackets::LFG::RideTicket RideTicket; - std::string _32; + std::string Comment; }; SupportTicketSubmitComplaint(WorldPacket&& packet) : ClientPacket(CMSG_SUPPORT_TICKET_SUBMIT_COMPLAINT, std::move(packet)) { } @@ -187,8 +188,8 @@ namespace WorldPackets Optional<SupportTicketCalendarEventInfo> CalenderInfo; Optional<SupportTicketPetInfo> PetInfo; Optional<SupportTicketGuildInfo> GuildInfo; - Optional<Struct5E4383> _5E4383; - Optional<Struct5E3DFB> _5E3DFB; + Optional<SupportTicketLFGListSearchResult> LFGListSearchResult; + Optional<SupportTicketLFGListApplicant> LFGListApplicant; }; diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp index 9b9691d7602..3ebaaefb86c 100644 --- a/src/server/game/Server/Protocol/Opcodes.cpp +++ b/src/server/game/Server/Protocol/Opcodes.cpp @@ -768,8 +768,8 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_START_WAR_GAME, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_SUMMON_RESPONSE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Movement::SummonResponse, &WorldSession::HandleSummonResponseOpcode); DEFINE_HANDLER(CMSG_SUPPORT_TICKET_SUBMIT_BUG, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Ticket::SupportTicketSubmitBug, &WorldSession::HandleSupportTicketSubmitBug); - DEFINE_HANDLER(CMSG_SUPPORT_TICKET_SUBMIT_COMPLAINT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Ticket::SupportTicketSubmitComplaint, &WorldSession::HandleSupportTicketSubmitComplaint); - DEFINE_HANDLER(CMSG_SUPPORT_TICKET_SUBMIT_SUGGESTION, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Ticket::SupportTicketSubmitSuggestion, &WorldSession::HandleSupportTicketSubmitSuggestion); + DEFINE_HANDLER(CMSG_SUPPORT_TICKET_SUBMIT_COMPLAINT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Ticket::SupportTicketSubmitComplaint, &WorldSession::HandleSupportTicketSubmitComplaint); + DEFINE_HANDLER(CMSG_SUPPORT_TICKET_SUBMIT_SUGGESTION, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Ticket::SupportTicketSubmitSuggestion, &WorldSession::HandleSupportTicketSubmitSuggestion); DEFINE_HANDLER(CMSG_SUSPEND_COMMS_ACK, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_SUSPEND_TOKEN_RESPONSE, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_SWAP_INV_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Item::SwapInvItem, &WorldSession::HandleSwapInvItemOpcode); diff --git a/src/server/shared/Packets/ByteBuffer.h b/src/server/shared/Packets/ByteBuffer.h index 417e2f4b7b4..ca978d78224 100644 --- a/src/server/shared/Packets/ByteBuffer.h +++ b/src/server/shared/Packets/ByteBuffer.h @@ -527,10 +527,10 @@ class ByteBuffer if (_rpos + length > size()) throw ByteBufferPositionException(false, _rpos, length, size()); + ResetBitPos(); if (!length) return std::string(); - ResetBitPos(); std::string str((char const*)&_storage[_rpos], length); _rpos += length; return str; |