summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/net/ea/gamehandler.cpp18
-rw-r--r--src/net/ea/gamehandler.h2
-rw-r--r--src/net/eathena/gamehandler.cpp18
-rw-r--r--src/net/eathena/gamehandler.h3
-rw-r--r--src/net/tmwa/gamehandler.cpp18
-rw-r--r--src/net/tmwa/gamehandler.h3
6 files changed, 42 insertions, 20 deletions
diff --git a/src/net/ea/gamehandler.cpp b/src/net/ea/gamehandler.cpp
index 653a014c7..cce62c1af 100644
--- a/src/net/ea/gamehandler.cpp
+++ b/src/net/ea/gamehandler.cpp
@@ -58,24 +58,6 @@ void GameHandler::setMap(const std::string &map)
mMap = map.substr(0, map.rfind("."));
}
-void GameHandler::processMapLogin(Net::MessageIn &msg) const
-{
- unsigned char direction;
- uint16_t x, y;
- msg.readInt32(); // server tick
- msg.readCoordinates(x, y, direction);
- msg.skip(2); // 0x0505
- logger->log("Protocol: Player start position: (%d, %d),"
- " Direction: %d", x, y, direction);
-
- mLastHost &= 0xffffff;
-
- // Switch now or we'll have problems
- client->setState(STATE_GAME);
- if (localPlayer)
- localPlayer->setTileCoords(x, y);
-}
-
void GameHandler::processWhoAnswer(Net::MessageIn &msg) const
{
NotifyManager::notify(NotifyTypes::ONLINE_USERS, msg.readInt32());
diff --git a/src/net/ea/gamehandler.h b/src/net/ea/gamehandler.h
index a10b244c7..68de36c70 100644
--- a/src/net/ea/gamehandler.h
+++ b/src/net/ea/gamehandler.h
@@ -50,8 +50,6 @@ class GameHandler notfinal : public Net::GameHandler
virtual bool canUseMagicBar() const override final A_WARN_UNUSED
{ return true; }
- virtual void processMapLogin(Net::MessageIn &msg) const;
-
virtual void processWhoAnswer(Net::MessageIn &msg) const;
virtual void processCharSwitchResponse(Net::MessageIn &msg) const;
diff --git a/src/net/eathena/gamehandler.cpp b/src/net/eathena/gamehandler.cpp
index 31c883158..0da88d8b4 100644
--- a/src/net/eathena/gamehandler.cpp
+++ b/src/net/eathena/gamehandler.cpp
@@ -176,4 +176,22 @@ void GameHandler::processMapAccountId(Net::MessageIn &msg)
msg.readInt32("account id");
}
+void GameHandler::processMapLogin(Net::MessageIn &msg) const
+{
+ unsigned char direction;
+ uint16_t x, y;
+ msg.readInt32(); // server tick
+ msg.readCoordinates(x, y, direction);
+ msg.skip(2); // 0x0505
+ logger->log("Protocol: Player start position: (%d, %d),"
+ " Direction: %d", x, y, direction);
+
+ mLastHost &= 0xffffff;
+
+ // Switch now or we'll have problems
+ client->setState(STATE_GAME);
+ if (localPlayer)
+ localPlayer->setTileCoords(x, y);
+}
+
} // namespace EAthena
diff --git a/src/net/eathena/gamehandler.h b/src/net/eathena/gamehandler.h
index 56af1979b..c6b222f0c 100644
--- a/src/net/eathena/gamehandler.h
+++ b/src/net/eathena/gamehandler.h
@@ -57,6 +57,9 @@ class GameHandler final : public MessageHandler, public Ea::GameHandler
bool mustPing() const override final A_WARN_UNUSED
{ return true; }
+
+ protected:
+ void processMapLogin(Net::MessageIn &msg) const;
};
} // namespace EAthena
diff --git a/src/net/tmwa/gamehandler.cpp b/src/net/tmwa/gamehandler.cpp
index fabd15b1b..e74315b44 100644
--- a/src/net/tmwa/gamehandler.cpp
+++ b/src/net/tmwa/gamehandler.cpp
@@ -171,4 +171,22 @@ void GameHandler::disconnect2() const
MessageOut outMsg(CMSG_CLIENT_DISCONNECT);
}
+void GameHandler::processMapLogin(Net::MessageIn &msg) const
+{
+ unsigned char direction;
+ uint16_t x, y;
+ msg.readInt32(); // server tick
+ msg.readCoordinates(x, y, direction);
+ msg.skip(2); // 0x0505
+ logger->log("Protocol: Player start position: (%d, %d),"
+ " Direction: %d", x, y, direction);
+
+ mLastHost &= 0xffffff;
+
+ // Switch now or we'll have problems
+ client->setState(STATE_GAME);
+ if (localPlayer)
+ localPlayer->setTileCoords(x, y);
+}
+
} // namespace TmwAthena
diff --git a/src/net/tmwa/gamehandler.h b/src/net/tmwa/gamehandler.h
index fdbb4cf17..b3736289e 100644
--- a/src/net/tmwa/gamehandler.h
+++ b/src/net/tmwa/gamehandler.h
@@ -55,6 +55,9 @@ class GameHandler final : public MessageHandler, public Ea::GameHandler
bool mustPing() const override final A_WARN_UNUSED
{ return false; }
+
+ protected:
+ void processMapLogin(Net::MessageIn &msg) const;
};
} // namespace TmwAthena