summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-09-11 19:56:17 +0300
committerAndrei Karas <akaras@inbox.ru>2014-09-11 19:56:17 +0300
commitc4a5e0d7762aec9654e851cdae8ff57a06be881c (patch)
treefc387acb3a40dd8a44ce71d6e634a8f7c63cc8ac
parentffac5076dcc94ee88ce68d351de071ab8f830a77 (diff)
downloadmanaplus-c4a5e0d7762aec9654e851cdae8ff57a06be881c.tar.gz
manaplus-c4a5e0d7762aec9654e851cdae8ff57a06be881c.tar.bz2
manaplus-c4a5e0d7762aec9654e851cdae8ff57a06be881c.tar.xz
manaplus-c4a5e0d7762aec9654e851cdae8ff57a06be881c.zip
eathena: add partial support for packet CMSG_ADMIN_GET_LOGIN_ACK 0x01e0.
-rw-r--r--src/net/eathena/adminhandler.cpp10
-rw-r--r--src/net/eathena/adminhandler.h3
-rw-r--r--src/net/eathena/protocol.h1
3 files changed, 14 insertions, 0 deletions
diff --git a/src/net/eathena/adminhandler.cpp b/src/net/eathena/adminhandler.cpp
index 0d677a413..4e33c8f84 100644
--- a/src/net/eathena/adminhandler.cpp
+++ b/src/net/eathena/adminhandler.cpp
@@ -50,6 +50,7 @@ AdminHandler::AdminHandler() :
static const uint16_t _messages[] =
{
SMSG_ADMIN_KICK_ACK,
+ CMSG_ADMIN_GET_LOGIN_ACK,
0
};
handledMessages = _messages;
@@ -66,6 +67,9 @@ void AdminHandler::handleMessage(Net::MessageIn &msg)
else
NotifyManager::notify(NotifyTypes::KICK_SUCCEED);
break;
+ case CMSG_ADMIN_GET_LOGIN_ACK:
+ processAdminGetLoginAck(msg);
+ break;
default:
break;
}
@@ -162,4 +166,10 @@ void AdminHandler::requestLogin(const Being *const being) const
outMsg.writeInt32(being->getId(), "account id");
}
+void AdminHandler::processAdminGetLoginAck(Net::MessageIn &msg)
+{
+ msg.readInt32("account id");
+ msg.readString(24, "login");
+}
+
} // namespace EAthena
diff --git a/src/net/eathena/adminhandler.h b/src/net/eathena/adminhandler.h
index 59dec3cdf..2dd12f162 100644
--- a/src/net/eathena/adminhandler.h
+++ b/src/net/eathena/adminhandler.h
@@ -67,6 +67,9 @@ class AdminHandler final : public MessageHandler, public Ea::AdminHandler
void muteName(const std::string &name) const override final;
void requestLogin(const Being *const being) const override final;
+
+ protected:
+ void processAdminGetLoginAck(Net::MessageIn &msg);
};
} // namespace EAthena
diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h
index d93d3698e..b057fbdb7 100644
--- a/src/net/eathena/protocol.h
+++ b/src/net/eathena/protocol.h
@@ -163,6 +163,7 @@
#define SMSG_PLAYER_STORAGE_CLOSE 0x00f8 /**< Storage access closed */
#define SMSG_ADMIN_KICK_ACK 0x00cd
+#define CMSG_ADMIN_GET_LOGIN_ACK 0x01e0
#define SMSG_GUILD_CREATE_RESPONSE 0x0167
#define SMSG_GUILD_POSITION_INFO 0x016c