summaryrefslogtreecommitdiff
path: root/src/net
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-09-05 22:40:22 +0300
committerAndrei Karas <akaras@inbox.ru>2014-09-06 01:18:58 +0300
commita55eae5cf0f031fcbb5be1f2c25226115d302b79 (patch)
tree9a85f037237cbc30e8e3c24d45809af6275124d8 /src/net
parent8dcda5453e7fec40b1f55a66bf5f60f1b8dbd833 (diff)
downloadmanaplus-a55eae5cf0f031fcbb5be1f2c25226115d302b79.tar.gz
manaplus-a55eae5cf0f031fcbb5be1f2c25226115d302b79.tar.bz2
manaplus-a55eae5cf0f031fcbb5be1f2c25226115d302b79.tar.xz
manaplus-a55eae5cf0f031fcbb5be1f2c25226115d302b79.zip
eathena: impliment SMSG_CHAR_LOGIN2 0x082d.
Diffstat (limited to 'src/net')
-rw-r--r--src/net/eathena/charserverhandler.cpp16
-rw-r--r--src/net/eathena/charserverhandler.h2
2 files changed, 18 insertions, 0 deletions
diff --git a/src/net/eathena/charserverhandler.cpp b/src/net/eathena/charserverhandler.cpp
index a7f6fea68..28f3f59d4 100644
--- a/src/net/eathena/charserverhandler.cpp
+++ b/src/net/eathena/charserverhandler.cpp
@@ -71,6 +71,7 @@ CharServerHandler::CharServerHandler() :
static const uint16_t _messages[] =
{
SMSG_CHAR_LOGIN,
+ SMSG_CHAR_LOGIN2,
SMSG_CHAR_LOGIN_ERROR,
SMSG_CHAR_CREATE_SUCCEEDED,
SMSG_CHAR_CREATE_SUCCEEDED2,
@@ -94,6 +95,10 @@ void CharServerHandler::handleMessage(Net::MessageIn &msg)
processCharLogin(msg);
break;
+ case SMSG_CHAR_LOGIN2:
+ processCharLogin2(msg);
+ break;
+
case SMSG_CHAR_LOGIN_ERROR:
processCharLoginError(msg);
break;
@@ -322,6 +327,17 @@ void CharServerHandler::processCharLogin(Net::MessageIn &msg)
client->setState(STATE_CHAR_SELECT);
}
+void CharServerHandler::processCharLogin2(Net::MessageIn &msg)
+{
+ msg.readInt16("len");
+ msg.readUInt8("char slots");
+ msg.readUInt8("left slots");
+ msg.readUInt8("left slots");
+ msg.readUInt8("char slots");
+ msg.readUInt8("char slots");
+ msg.skip(20, "unused");
+}
+
void CharServerHandler::processCharMapInfo(Net::MessageIn &restrict msg)
{
Network *const network = mNetwork;
diff --git a/src/net/eathena/charserverhandler.h b/src/net/eathena/charserverhandler.h
index 1f9cbbcfb..82e13c680 100644
--- a/src/net/eathena/charserverhandler.h
+++ b/src/net/eathena/charserverhandler.h
@@ -75,6 +75,8 @@ class CharServerHandler final : public MessageHandler,
void processPincodeStatus(Net::MessageIn &msg);
+ static void processCharLogin2(Net::MessageIn &msg);
+
private:
uint32_t mPinSeed;
uint32_t mPinAccountId;