From 6b843ca86b4854c75f26ded160f0930ea6a77803 Mon Sep 17 00:00:00 2001 From: LordJZ Date: Sat, 14 Jul 2012 07:14:39 +0400 Subject: Allow for GM ticket response text up to 15999 characters. --- src/server/game/Tickets/TicketMgr.cpp | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) (limited to 'src/server') diff --git a/src/server/game/Tickets/TicketMgr.cpp b/src/server/game/Tickets/TicketMgr.cpp index f82c01adf31..68786ad0cec 100755 --- a/src/server/game/Tickets/TicketMgr.cpp +++ b/src/server/game/Tickets/TicketMgr.cpp @@ -144,11 +144,24 @@ void GmTicket::SendResponse(WorldSession* session) const data << uint32(1); // responseID data << uint32(_id); // ticketID data << _message.c_str(); - data << _response.c_str(); - // 3 null strings (unused) - data << uint8(0); - data << uint8(0); - data << uint8(0); + + size_t len = _response.size(); + char const* s = _response.c_str(); + + for (int i = 0; i < 4; i++) + { + if (len) + { + size_t writeLen = std::min(len, 3999); + data.append(s, writeLen); + + len -= writeLen; + s += writeLen; + } + + data << uint8(0); + } + session->SendPacket(&data); } -- cgit v1.2.3 From 513550aedfc91e9cc86767f1b0c2637f23f3a6e2 Mon Sep 17 00:00:00 2001 From: LordJZ Date: Sat, 14 Jul 2012 07:15:39 +0400 Subject: Drop obsolete check. --- src/server/game/Tickets/TicketMgr.cpp | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) (limited to 'src/server') diff --git a/src/server/game/Tickets/TicketMgr.cpp b/src/server/game/Tickets/TicketMgr.cpp index 68786ad0cec..e43d6ca5443 100755 --- a/src/server/game/Tickets/TicketMgr.cpp +++ b/src/server/game/Tickets/TicketMgr.cpp @@ -384,17 +384,7 @@ void TicketMgr::SendTicket(WorldSession* session, GmTicket* ticket) const // we've got the easy stuff done by now. // Now we need to go through the client logic for displaying various levels of ticket load - if (ticket) - ticket->WritePacket(data); - else - { - // we can't actually get any numbers here... - data << float(0); - data << float(0); - data << float(1); - data << uint8(0); - data << uint8(0); - } + ticket->WritePacket(data); } session->SendPacket(&data); } -- cgit v1.2.3