summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-09-11 20:34:34 +0300
committerAndrei Karas <akaras@inbox.ru>2014-09-11 20:34:34 +0300
commit58adb06d27a8fc69d4010bf61b4a6c9841fa1c5c (patch)
tree9c3c0a8e3e18865786351e275eaf1cdde9e46054
parent2314f78e49bcf92c69b7148cc8e771de01d161cb (diff)
downloadmanaplus-58adb06d27a8fc69d4010bf61b4a6c9841fa1c5c.tar.gz
manaplus-58adb06d27a8fc69d4010bf61b4a6c9841fa1c5c.tar.bz2
manaplus-58adb06d27a8fc69d4010bf61b4a6c9841fa1c5c.tar.xz
manaplus-58adb06d27a8fc69d4010bf61b4a6c9841fa1c5c.zip
eathena: add partial support for packet SMSG_ADMIN_SET_TILE_TYPE 0x0192.
-rw-r--r--src/net/eathena/adminhandler.cpp13
-rw-r--r--src/net/eathena/adminhandler.h2
-rw-r--r--src/net/eathena/protocol.h1
3 files changed, 16 insertions, 0 deletions
diff --git a/src/net/eathena/adminhandler.cpp b/src/net/eathena/adminhandler.cpp
index ca26c7823..6b584269c 100644
--- a/src/net/eathena/adminhandler.cpp
+++ b/src/net/eathena/adminhandler.cpp
@@ -51,6 +51,7 @@ AdminHandler::AdminHandler() :
{
SMSG_ADMIN_KICK_ACK,
SMSG_ADMIN_GET_LOGIN_ACK,
+ SMSG_ADMIN_SET_TILE_TYPE,
0
};
handledMessages = _messages;
@@ -70,6 +71,9 @@ void AdminHandler::handleMessage(Net::MessageIn &msg)
case SMSG_ADMIN_GET_LOGIN_ACK:
processAdminGetLoginAck(msg);
break;
+ case SMSG_ADMIN_SET_TILE_TYPE:
+ processSetTileType(msg);
+ break;
default:
break;
}
@@ -181,4 +185,13 @@ void AdminHandler::processAdminGetLoginAck(Net::MessageIn &msg)
msg.readString(24, "login");
}
+void AdminHandler::processSetTileType(Net::MessageIn &msg)
+{
+ // +++ here need set collision tile for map
+ msg.readInt16("x");
+ msg.readInt16("y");
+ msg.readInt16("type");
+ msg.readString(16, "map name");
+}
+
} // namespace EAthena
diff --git a/src/net/eathena/adminhandler.h b/src/net/eathena/adminhandler.h
index 3ee9be30a..f2eab8a08 100644
--- a/src/net/eathena/adminhandler.h
+++ b/src/net/eathena/adminhandler.h
@@ -73,6 +73,8 @@ class AdminHandler final : public MessageHandler, public Ea::AdminHandler
protected:
void processAdminGetLoginAck(Net::MessageIn &msg);
+
+ void processSetTileType(Net::MessageIn &msg);
};
} // namespace EAthena
diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h
index f8a4564fe..0e5ee60da 100644
--- a/src/net/eathena/protocol.h
+++ b/src/net/eathena/protocol.h
@@ -164,6 +164,7 @@
#define SMSG_ADMIN_KICK_ACK 0x00cd
#define SMSG_ADMIN_GET_LOGIN_ACK 0x01e0
+#define SMSG_ADMIN_SET_TILE_TYPE 0x0192
#define SMSG_GUILD_CREATE_RESPONSE 0x0167
#define SMSG_GUILD_POSITION_INFO 0x016c