summaryrefslogtreecommitdiff
path: root/src/client.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/client.cpp')
-rw-r--r--src/client.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/client.cpp b/src/client.cpp
index 0a66645e..49266a4e 100644
--- a/src/client.cpp
+++ b/src/client.cpp
@@ -523,14 +523,14 @@ int Client::exec()
if (mLimitFps)
SDL_framerateDelay(&mFpsManager);
-
// TODO: Add connect timeouts
if (mState == STATE_CONNECT_GAME &&
Net::getGameHandler()->isConnected())
{
Net::getLoginHandler()->disconnect();
}
- else if (mState == STATE_CONNECT_SERVER && mOldState == STATE_CHOOSE_SERVER)
+ else if (mState == STATE_CONNECT_SERVER &&
+ mOldState == STATE_CHOOSE_SERVER)
{
Net::connectToServer(mCurrentServer);
}
@@ -775,7 +775,8 @@ int Client::exec()
Net::getGameHandler()->connect();
mCurrentDialog = new ConnectionDialog(
_("Connecting to the game server"),
- STATE_GET_CHARACTERS);
+ Net::getNetworkType() == ServerInfo::EATHENA ?
+ STATE_CHOOSE_SERVER : STATE_SWITCH_CHARACTER);
break;
case STATE_CHANGE_MAP:
@@ -927,7 +928,7 @@ int Client::exec()
// Done with game
Net::getGameHandler()->disconnect();
- Net::getCharHandler()->requestCharacters();
+ mState = STATE_GET_CHARACTERS;
break;
case STATE_LOGOUT_ATTEMPT: