aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2015-09-25 00:11:54 +0200
committerShauren <shauren.trinity@gmail.com>2015-09-25 00:11:54 +0200
commit074b00af373de61d462314c4355b3aa3f3312482 (patch)
tree1f65c3cd95caee0d0cb284892c334c996dd0de9b /src
parent5cf28316ff67e254d8055b4681c91dd8e5a146c3 (diff)
Core/PacketIO: Updated and enabled SupportTicketSubmitComplaint, SupportTicketSubmitSuggestion
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Server/Packets/TicketPackets.cpp75
-rw-r--r--src/server/game/Server/Packets/TicketPackets.h27
-rw-r--r--src/server/game/Server/Protocol/Opcodes.cpp4
-rw-r--r--src/server/shared/Packets/ByteBuffer.h2
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;