From a091e57428367f0fee4130cda66867fe56e0e12e Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Tue, 4 Nov 2014 13:43:28 +0300 Subject: eathena: update to hercules changes for packets version 20141022. --- src/net/eathena/charserverhandler.cpp | 2 +- src/net/eathena/gamehandler.cpp | 1 + src/net/eathena/packets.h | 7 ++++++- src/net/eathena/playerhandler.cpp | 1 + src/net/eathena/protocol.h | 6 +++--- src/net/eathena/questhandler.cpp | 3 +++ 6 files changed, 15 insertions(+), 5 deletions(-) (limited to 'src/net') diff --git a/src/net/eathena/charserverhandler.cpp b/src/net/eathena/charserverhandler.cpp index 760683073..4d90e4505 100644 --- a/src/net/eathena/charserverhandler.cpp +++ b/src/net/eathena/charserverhandler.cpp @@ -204,7 +204,7 @@ void CharServerHandler::readPlayerData(Net::MessageIn &msg, msg.readInt16("speed"); tempPlayer->setSubtype(msg.readInt16("class"), 0); const int hairStyle = msg.readInt16("hair style"); - const uint16_t weapon = msg.readInt16("weapon"); + const uint16_t weapon = msg.readInt32("weapon"); tempPlayer->setSprite(SPRITE_WEAPON, weapon, "", 1, true); diff --git a/src/net/eathena/gamehandler.cpp b/src/net/eathena/gamehandler.cpp index 3df214464..42910d964 100644 --- a/src/net/eathena/gamehandler.cpp +++ b/src/net/eathena/gamehandler.cpp @@ -185,6 +185,7 @@ void GameHandler::processMapLogin(Net::MessageIn &msg) "(%d, %d), Direction: %d", x, y, direction); msg.readInt16("font"); + msg.readUInt8("sex"); mLastHost &= 0xffffff; diff --git a/src/net/eathena/packets.h b/src/net/eathena/packets.h index 5211e5ea3..11f928ff7 100644 --- a/src/net/eathena/packets.h +++ b/src/net/eathena/packets.h @@ -245,7 +245,7 @@ int16_t packet_lengths[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 31, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 288, 0, 0, + 31, 0, 0, 0, 0, 0, 0, 14, 0, 0, -1, 0, 0, 288, 0, 0, // #0x0980 0, 0, 0, 29, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, -1, -1, 0, 0, -1, -1, 0, 0, 11, 9, 8, 0, 0, 0, 0, @@ -258,6 +258,11 @@ int16_t packet_lengths[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //0 1 2 3 4 5 6 7 8 9 a b c d e f //0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 +// #0x0A00 +269, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 7, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; } // namespace EAthena diff --git a/src/net/eathena/playerhandler.cpp b/src/net/eathena/playerhandler.cpp index 4f4e21e5b..65c213dda 100644 --- a/src/net/eathena/playerhandler.cpp +++ b/src/net/eathena/playerhandler.cpp @@ -274,6 +274,7 @@ void PlayerHandler::setMemo() const void PlayerHandler::processPlayerShortcuts(Net::MessageIn &msg) { + msg.readUInt8("unused?"); for (int f = 0; f < 27; f ++) { msg.readUInt8("type 0: item, 1: skill"); diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h index 9a6824ba4..4328941be 100644 --- a/src/net/eathena/protocol.h +++ b/src/net/eathena/protocol.h @@ -54,7 +54,7 @@ #define SMSG_CHAR_SWITCH_RESPONSE 0x00b3 #define SMSG_CHANGE_MAP_SERVER 0x0092 -#define SMSG_MAP_LOGIN_SUCCESS 0x02eb /**< Contains starting location */ +#define SMSG_MAP_LOGIN_SUCCESS 0x0a18 /**< Contains starting location */ #define SMSG_MAP_QUIT_RESPONSE 0x018b #define SMSG_PLAYER_UPDATE_1 0x01d8 #define SMSG_PLAYER_UPDATE_2 0x01d9 @@ -228,7 +228,7 @@ #define SMSG_GUILD_UPDATE_COORDS 0x01eb #define SMSG_QUEST_ADD 0x02b3 -#define SMSG_QUEST_LIST 0x02b1 +#define SMSG_QUEST_LIST 0x097a #define SMSG_QUEST_LIST_OBJECTIVES 0x02b2 #define SMSG_QUEST_UPDATE_OBJECTIVES 0x02b5 #define SMSG_QUEST_REMOVE 0x02b4 @@ -280,7 +280,7 @@ #define SMSG_NPC_COMMAND 0x0212 #define SMSG_MAP_ACCOUNT_ID 0x0283 -#define SMSG_PLAYER_SHORTCUTS 0x07d9 +#define SMSG_PLAYER_SHORTCUTS 0x0a00 #define SMSG_PLAYER_SHOW_EQUIP 0x02da #define SMSG_NPC_CUTIN 0x01b3 #define SMSG_NPC_VIEWPOINT 0x0144 diff --git a/src/net/eathena/questhandler.cpp b/src/net/eathena/questhandler.cpp index 796663bde..cd1521d6d 100644 --- a/src/net/eathena/questhandler.cpp +++ b/src/net/eathena/questhandler.cpp @@ -128,6 +128,9 @@ void QuestHandler::processAddQuests(Net::MessageIn &msg) { const int var = msg.readInt32("quest id"); const int val = msg.readUInt8("state"); + msg.readInt32("time diff"); + msg.readInt32("time"); + msg.readInt16("objectives count"); if (questsWindow) questsWindow->updateQuest(var, val); if (skillDialog) -- cgit v1.2.3-60-g2f50