summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2016-04-02 21:51:54 +0300
committerAndrei Karas <akaras@inbox.ru>2016-04-02 21:51:54 +0300
commit3a64766c14254cafd22e5ecf1e1bf6dcdc9f6ea5 (patch)
tree8d342fa6fe5a29052dada546b5d342b1cc4697bc
parentebde0a771c4e0d2a7ef06de4a39c9ae2ab47bd58 (diff)
downloadplus-3a64766c14254cafd22e5ecf1e1bf6dcdc9f6ea5.tar.gz
plus-3a64766c14254cafd22e5ecf1e1bf6dcdc9f6ea5.tar.bz2
plus-3a64766c14254cafd22e5ecf1e1bf6dcdc9f6ea5.tar.xz
plus-3a64766c14254cafd22e5ecf1e1bf6dcdc9f6ea5.zip
Sort more packets. Add version checks inside packets.
-rw-r--r--src/net/eathena/chatrecv.cpp3
-rw-r--r--src/net/eathena/packetsin.inc18
2 files changed, 13 insertions, 8 deletions
diff --git a/src/net/eathena/chatrecv.cpp b/src/net/eathena/chatrecv.cpp
index 854647749..707012c0f 100644
--- a/src/net/eathena/chatrecv.cpp
+++ b/src/net/eathena/chatrecv.cpp
@@ -325,7 +325,8 @@ void ChatRecv::processWhisperResponse(Net::MessageIn &msg)
BLOCK_START("ChatRecv::processWhisperResponse")
const uint8_t type = msg.readUInt8("response");
- msg.readInt32("unknown");
+ if (msg.getVersion() >= 20131223)
+ msg.readInt32("unknown");
if (type == 1 && chatWindow)
{
const std::string nick = Ea::ChatRecv::getLastWhisperNick();
diff --git a/src/net/eathena/packetsin.inc b/src/net/eathena/packetsin.inc
index 6e1f7b21b..8e6d87c07 100644
--- a/src/net/eathena/packetsin.inc
+++ b/src/net/eathena/packetsin.inc
@@ -23,6 +23,7 @@
// very outdated packets
packet(SMSG_BEING_FAKE_NAME, 0x0078, 54, &BeingRecv::processBeingFakeName, 1);
packet(SMSG_WHISPER, 0x0097, -1, &ChatRecv::processWhisper, 1);
+packet(SMSG_WHISPER_RESPONSE, 0x0098, 3, &ChatRecv::processWhisperResponse, 1);
packet(SMSG_BEING_CHANGE_LOOKS_OUTDATED, 0x00c3, 8, nullptr, 1);
packet(SMSG_TRADE_REQUEST, 0x00e5, 26, &TradeRecv::processTradeRequest, 1);
packet(SMSG_TRADE_RESPONSE_OUTDATED, 0x00e7, 3, nullptr, 0);
@@ -411,12 +412,16 @@ if (packetVersion >= 20130731)
}
// 20131223
-packet(SMSG_BEING_ACTION2, 0x08c8, 34, &BeingRecv::processBeingAction2, 20131223);
-packet(SMSG_NPC_MARKET_OPEN, 0x09d5, -1, &MarketRecv::processMarketOpen, 20131223);
-packet(SMSG_NPC_MARKET_BUY_ACK, 0x09d7, -1, &MarketRecv::processMarketBuyAck, 20131223);
-packet(SMSG_BEING_MOVE, 0x09db, -1, &BeingRecv::processBeingMove, 20131223);
-packet(SMSG_BEING_SPAWN, 0x09dc, -1, &BeingRecv::processBeingSpawn, 20131223);
-packet(SMSG_BEING_VISIBLE, 0x09dd, -1, &BeingRecv::processBeingVisible, 20131223);
+if (packetVersion >= 20131223)
+{
+ packet(SMSG_BEING_ACTION2, 0x08c8, 34, &BeingRecv::processBeingAction2, 20131223);
+ packet(SMSG_NPC_MARKET_OPEN, 0x09d5, -1, &MarketRecv::processMarketOpen, 20131223);
+ packet(SMSG_NPC_MARKET_BUY_ACK, 0x09d7, -1, &MarketRecv::processMarketBuyAck, 20131223);
+ packet(SMSG_BEING_MOVE, 0x09db, -1, &BeingRecv::processBeingMove, 20131223);
+ packet(SMSG_BEING_SPAWN, 0x09dc, -1, &BeingRecv::processBeingSpawn, 20131223);
+ packet(SMSG_BEING_VISIBLE, 0x09dd, -1, &BeingRecv::processBeingVisible, 20131223);
+ packet(SMSG_WHISPER_RESPONSE, 0x09df, 7, &ChatRecv::processWhisperResponse, 20131223);
+}
// 20141016
packet(SMSG_ROULETTE_OPEN_ACK, 0x0a1a, 23, &RouletteRecv::processRouletteOpenAck, 20141016);
@@ -659,7 +664,6 @@ packet(SMSG_WALK_RESPONSE, 0x0087, 12, &PlayerRecv::processWalk
packet(SMSG_WEDDING_EFFECT, 0x01ea, 6, &BeingRecv::processWddingEffect, 0);
// 20150000 or near
-packet(SMSG_WHISPER_RESPONSE, 0x09df, 7, &ChatRecv::processWhisperResponse, 0);
packet(SMSG_WHO_ANSWER, 0x00c2, 6, &Ea::GameRecv::processWhoAnswer, 0);
// evol packets