summaryrefslogtreecommitdiff
path: root/src/net/eathena/gamehandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/eathena/gamehandler.cpp')
-rw-r--r--src/net/eathena/gamehandler.cpp18
1 files changed, 18 insertions, 0 deletions
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