summaryrefslogtreecommitdiff
path: root/src/net/eathena
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/eathena')
-rw-r--r--src/net/eathena/messagein.cpp4
-rw-r--r--src/net/eathena/messagein.h2
-rw-r--r--src/net/eathena/network.cpp1
3 files changed, 7 insertions, 0 deletions
diff --git a/src/net/eathena/messagein.cpp b/src/net/eathena/messagein.cpp
index 221a782bb..bd24d8d04 100644
--- a/src/net/eathena/messagein.cpp
+++ b/src/net/eathena/messagein.cpp
@@ -38,6 +38,10 @@ namespace EAthena
MessageIn::MessageIn(const char *const data, const unsigned int length) :
Net::MessageIn(data, length)
{
+}
+
+void MessageIn::postInit()
+{
// Read the message ID
mId = readInt16();
}
diff --git a/src/net/eathena/messagein.h b/src/net/eathena/messagein.h
index a73e4c93b..377ab7b33 100644
--- a/src/net/eathena/messagein.h
+++ b/src/net/eathena/messagein.h
@@ -45,6 +45,8 @@ class MessageIn final : public Net::MessageIn
A_DELETE_COPY(MessageIn)
+ void postInit();
+
int16_t readInt16(); /**< Reads a short. */
int32_t readInt32(); /**< Reads a long. */
};
diff --git a/src/net/eathena/network.cpp b/src/net/eathena/network.cpp
index 481a945ba..9fde34fd0 100644
--- a/src/net/eathena/network.cpp
+++ b/src/net/eathena/network.cpp
@@ -183,6 +183,7 @@ void Network::dispatchMessages()
len = readWord(2);
MessageIn msg(mInBuffer, len);
+ msg.postInit();
SDL_mutexV(mMutexIn);
if (len == 0)