summaryrefslogtreecommitdiff
path: root/src/net
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-10-07 21:32:06 +0300
committerAndrei Karas <akaras@inbox.ru>2014-10-07 21:32:06 +0300
commitd91a8fd5d574454265c9a6088f7aa089d7905ba0 (patch)
tree9d4398e2dfad3b17c2d80e078f58293afe6d8698 /src/net
parentc277f3e829217cd7469a4a5c742ef617a57e8e3f (diff)
downloadmanaplus-d91a8fd5d574454265c9a6088f7aa089d7905ba0.tar.gz
manaplus-d91a8fd5d574454265c9a6088f7aa089d7905ba0.tar.bz2
manaplus-d91a8fd5d574454265c9a6088f7aa089d7905ba0.tar.xz
manaplus-d91a8fd5d574454265c9a6088f7aa089d7905ba0.zip
eathena: add partial support for packet SMSG_FAMILY_DIVORCED 0x0205.
Diffstat (limited to 'src/net')
-rw-r--r--src/net/eathena/familyhandler.cpp10
-rw-r--r--src/net/eathena/familyhandler.h2
-rw-r--r--src/net/eathena/packets.h2
-rw-r--r--src/net/eathena/protocol.h1
4 files changed, 14 insertions, 1 deletions
diff --git a/src/net/eathena/familyhandler.cpp b/src/net/eathena/familyhandler.cpp
index d32ce8409..950762573 100644
--- a/src/net/eathena/familyhandler.cpp
+++ b/src/net/eathena/familyhandler.cpp
@@ -41,6 +41,7 @@ FamilyHandler::FamilyHandler() :
{
SMSG_FAMILY_ASK_FOR_CHILD,
SMSG_FAMILY_CALL_PARTNER,
+ SMSG_FAMILY_DIVORCED,
0
};
handledMessages = _messages;
@@ -59,6 +60,10 @@ void FamilyHandler::handleMessage(Net::MessageIn &msg)
processCallPartner(msg);
break;
+ case SMSG_FAMILY_DIVORCED:
+ processDivorced(msg);
+ break;
+
default:
break;
}
@@ -93,4 +98,9 @@ void FamilyHandler::askForChildReply(const bool accept)
outMsg.writeInt32(accept ? 0: 1, "result");
}
+void FamilyHandler::processDivorced(Net::MessageIn &msg)
+{
+ msg.readString(24, "name");
+}
+
} // namespace EAthena
diff --git a/src/net/eathena/familyhandler.h b/src/net/eathena/familyhandler.h
index 90a6f4afa..e2c5be154 100644
--- a/src/net/eathena/familyhandler.h
+++ b/src/net/eathena/familyhandler.h
@@ -46,6 +46,8 @@ class FamilyHandler final : public MessageHandler,
void processCallPartner(Net::MessageIn &msg);
+ void processDivorced(Net::MessageIn &msg);
+
private:
int mParent1;
int mParent2;
diff --git a/src/net/eathena/packets.h b/src/net/eathena/packets.h
index 08859997b..93252025c 100644
--- a/src/net/eathena/packets.h
+++ b/src/net/eathena/packets.h
@@ -83,7 +83,7 @@ int16_t packet_lengths[] =
//0 1 2 3 4 5 6 7 8 9 a b c d e f
//0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
// #0x0200
- 26, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 19, 10, 0, 0, 0,
+ 26, 0, 0, 0, 18, 26, 0, 0, 0, 0, 0, 19, 10, 0, 0, 0,
22, -1, 16, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-1, 122, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 19, 71, 5,
12, 0, 0, 0, 0, -1, 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 ae1bec131..65bc4c2f5 100644
--- a/src/net/eathena/protocol.h
+++ b/src/net/eathena/protocol.h
@@ -237,6 +237,7 @@
#define SMSG_FAMILY_ASK_FOR_CHILD 0x01f6
#define SMSG_FAMILY_CALL_PARTNER 0x01e6
+#define SMSG_FAMILY_DIVORCED 0x0205
#define SMSG_PET_MESSAGE 0x01aa
#define SMSG_PET_ROULETTE 0x01a0