summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-09-24 11:39:45 +0300
committerAndrei Karas <akaras@inbox.ru>2014-09-24 11:39:45 +0300
commit0d588890a6cd3cc9034614504ae6f18b6c5f0682 (patch)
treebe3a3935ae3159f86b015570c64f1e3e055b376e /src
parent03548e276d033939449abb9b3a94a57803a57964 (diff)
downloadplus-0d588890a6cd3cc9034614504ae6f18b6c5f0682.tar.gz
plus-0d588890a6cd3cc9034614504ae6f18b6c5f0682.tar.bz2
plus-0d588890a6cd3cc9034614504ae6f18b6c5f0682.tar.xz
plus-0d588890a6cd3cc9034614504ae6f18b6c5f0682.zip
eathena: add partial support for packet SMSG_BUYINGSTORE_OPEN 0x0810.
Diffstat (limited to 'src')
-rw-r--r--src/net/eathena/buyingstorehandler.cpp11
-rw-r--r--src/net/eathena/buyingstorehandler.h3
-rw-r--r--src/net/eathena/packets.h2
-rw-r--r--src/net/eathena/protocol.h2
4 files changed, 17 insertions, 1 deletions
diff --git a/src/net/eathena/buyingstorehandler.cpp b/src/net/eathena/buyingstorehandler.cpp
index cc3972d40..346f81b07 100644
--- a/src/net/eathena/buyingstorehandler.cpp
+++ b/src/net/eathena/buyingstorehandler.cpp
@@ -39,6 +39,7 @@ BuyingStoreHandler::BuyingStoreHandler() :
{
static const uint16_t _messages[] =
{
+ SMSG_BUYINGSTORE_OPEN,
0
};
handledMessages = _messages;
@@ -49,9 +50,19 @@ void BuyingStoreHandler::handleMessage(Net::MessageIn &msg)
{
switch (msg.getId())
{
+ case SMSG_BUYINGSTORE_OPEN:
+ processBuyingStoreOpen(msg);
+ break;
+
default:
break;
}
}
+void BuyingStoreHandler::processBuyingStoreOpen(Net::MessageIn &msg)
+{
+ // +++ need create store dialog
+ msg.readUInt8("slots");
+}
+
} // namespace EAthena
diff --git a/src/net/eathena/buyingstorehandler.h b/src/net/eathena/buyingstorehandler.h
index 0a0337939..2b64adf64 100644
--- a/src/net/eathena/buyingstorehandler.h
+++ b/src/net/eathena/buyingstorehandler.h
@@ -38,6 +38,9 @@ class BuyingStoreHandler final : public MessageHandler,
A_DELETE_COPY(BuyingStoreHandler)
void handleMessage(Net::MessageIn &msg) override final;
+
+ protected:
+ void processBuyingStoreOpen(Net::MessageIn &msg);
};
} // namespace EAthena
diff --git a/src/net/eathena/packets.h b/src/net/eathena/packets.h
index 3f2da4d33..d12377763 100644
--- a/src/net/eathena/packets.h
+++ b/src/net/eathena/packets.h
@@ -216,7 +216,7 @@ int16_t packet_lengths[] =
//0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
// #0x0800
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 20,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 3, 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, -1, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0,
// #0x0840
diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h
index 5c57a7643..3fa1bbb5c 100644
--- a/src/net/eathena/protocol.h
+++ b/src/net/eathena/protocol.h
@@ -138,6 +138,8 @@
#define SMSG_GM_CHAT2 0x01c3
#define SMSG_WALK_RESPONSE 0x0087
+#define SMSG_BUYINGSTORE_OPEN 0x0810
+
// Receiving a request to trade
#define SMSG_TRADE_REQUEST 0x01f4
#define SMSG_TRADE_RESPONSE 0x00e7