summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-03-12 22:14:49 +0300
committerAndrei Karas <akaras@inbox.ru>2015-03-12 22:14:49 +0300
commitd6c67b73a497d16ac26badd49d6ef3e3a89823db (patch)
tree911a1fa6c998224be87ea2faaff20cd09f229c87
parent042bbddb13934321dd1d44373eb1084732e81bee (diff)
downloadmanaplus-d6c67b73a497d16ac26badd49d6ef3e3a89823db.tar.gz
manaplus-d6c67b73a497d16ac26badd49d6ef3e3a89823db.tar.bz2
manaplus-d6c67b73a497d16ac26badd49d6ef3e3a89823db.tar.xz
manaplus-d6c67b73a497d16ac26badd49d6ef3e3a89823db.zip
eathena: add partial support for packet SMSG_INSTANCE_INFO 0x02cd.
-rw-r--r--src/net/eathena/maphandler.cpp13
-rw-r--r--src/net/eathena/maphandler.h2
-rw-r--r--src/net/eathena/packets.h2
-rw-r--r--src/net/eathena/protocol.h1
4 files changed, 17 insertions, 1 deletions
diff --git a/src/net/eathena/maphandler.cpp b/src/net/eathena/maphandler.cpp
index dfd11c53c..3e65855f3 100644
--- a/src/net/eathena/maphandler.cpp
+++ b/src/net/eathena/maphandler.cpp
@@ -41,6 +41,7 @@ MapHandler::MapHandler() :
{
SMSG_INSTANCE_START,
SMSG_INSTANCE_CREATE,
+ SMSG_INSTANCE_INFO,
0
};
handledMessages = _messages;
@@ -59,6 +60,10 @@ void MapHandler::handleMessage(Net::MessageIn &msg)
processInstanceCreate(msg);
break;
+ case SMSG_INSTANCE_INFO:
+ processInstanceInfo(msg);
+ break;
+
default:
break;
}
@@ -77,4 +82,12 @@ void MapHandler::processInstanceCreate(Net::MessageIn &msg)
msg.readInt16("flag");
}
+void MapHandler::processInstanceInfo(Net::MessageIn &msg)
+{
+ UNIMPLIMENTEDPACKET;
+ msg.readString(61, "instance name");
+ msg.readInt32("remaining time");
+ msg.readInt32("no players close time");
+}
+
} // namespace EAthena
diff --git a/src/net/eathena/maphandler.h b/src/net/eathena/maphandler.h
index 5e60a5527..ddbf45d9a 100644
--- a/src/net/eathena/maphandler.h
+++ b/src/net/eathena/maphandler.h
@@ -42,6 +42,8 @@ class MapHandler final : public MessageHandler, public Net::MapHandler
void processInstanceStart(Net::MessageIn &msg);
void processInstanceCreate(Net::MessageIn &msg);
+
+ void processInstanceInfo(Net::MessageIn &msg);
};
} // namespace EAthena
diff --git a/src/net/eathena/packets.h b/src/net/eathena/packets.h
index b3512bf82..46db6fc2f 100644
--- a/src/net/eathena/packets.h
+++ b/src/net/eathena/packets.h
@@ -98,7 +98,7 @@ int16_t packet_lengths[] =
0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, -1, -1, 107, 6, -1, 0, 7, 22, 191, 0, 8, 0, 0, 0, 0,
// #0x02C0
- 0, -1, 0, 0, 0, 30, 30, 0, 0, 3, 0, 65, 4, 0, 0, 0,
+ 0, -1, 0, 0, 0, 30, 30, 0, 0, 3, 0, 65, 4, 71, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0,
0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0,
10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h
index 847f7b67a..22440e11d 100644
--- a/src/net/eathena/protocol.h
+++ b/src/net/eathena/protocol.h
@@ -416,6 +416,7 @@
#define SMSG_INSTANCE_START 0x02cb
#define SMSG_INSTANCE_CREATE 0x02cc
+#define SMSG_INSTANCE_INFO 0x02cd
/**********************************
* Packets from client to server *