summaryrefslogtreecommitdiff
path: root/src/progs
diff options
context:
space:
mode:
Diffstat (limited to 'src/progs')
-rw-r--r--src/progs/dyecmd/client.cpp19
-rw-r--r--src/progs/manaverse/client.cpp44
2 files changed, 46 insertions, 17 deletions
diff --git a/src/progs/dyecmd/client.cpp b/src/progs/dyecmd/client.cpp
index 40eaa71cd..a1d69fd30 100644
--- a/src/progs/dyecmd/client.cpp
+++ b/src/progs/dyecmd/client.cpp
@@ -79,7 +79,7 @@
#include "net/ipc.h"
-#ifdef WIN32
+#ifdef _WIN32
PRAGMA48(GCC diagnostic push)
PRAGMA48(GCC diagnostic ignored "-Wshadow")
#include <SDL_syswm.h>
@@ -87,9 +87,9 @@ PRAGMA48(GCC diagnostic pop)
#include <sys/time.h>
#include "fs/specialfolder.h"
#undef ERROR
-#else // WIN32
+#else // _WIN32
#include <ctime>
-#endif // WIN32
+#endif // _WIN32
#ifdef ANDROID
#ifndef USE_SDL2
@@ -261,9 +261,10 @@ void Client::gameInit()
eventsManager.init();
eventsManager.enableEvents();
-#ifdef WIN32
+#ifdef _WIN32
Dirs::mountDataDir();
-#endif // WIN32
+#endif // _WIN32
+
#ifndef USE_SDL2
WindowManager::setIcon();
#endif // USE_SDL2
@@ -287,10 +288,10 @@ void Client::gameInit()
SDL::allowScreenSaver(config.getBoolValue("allowscreensaver"));
initGraphics();
-#ifndef WIN32
+#ifndef _WIN32
Dirs::extractDataDir();
Dirs::mountDataDir();
-#endif // WIN32
+#endif // _WIN32
Dirs::updateDataPath();
@@ -776,7 +777,7 @@ void Client::moveButtons(const int width)
{
int x = width - mSetupButton->getWidth() - mButtonPadding;
mSetupButton->setPosition(x, mButtonPadding);
-#ifndef WIN32
+#ifndef _WIN32
x -= mPerfomanceButton->getWidth() + mButtonSpacing;
mPerfomanceButton->setPosition(x, mButtonPadding);
@@ -795,7 +796,7 @@ void Client::moveButtons(const int width)
x -= mCloseButton->getWidth() + mButtonSpacing;
mCloseButton->setPosition(x, mButtonPadding);
#endif // ANDROID
-#endif // WIN32
+#endif // _WIN32
}
}
diff --git a/src/progs/manaverse/client.cpp b/src/progs/manaverse/client.cpp
index 9430bcf5d..980ffdc91 100644
--- a/src/progs/manaverse/client.cpp
+++ b/src/progs/manaverse/client.cpp
@@ -146,14 +146,14 @@
#include "configuration.h"
#endif // USE_OPENGL
-#ifdef WIN32
+#ifdef _WIN32
PRAGMA48(GCC diagnostic push)
PRAGMA48(GCC diagnostic ignored "-Wshadow")
#include <SDL_syswm.h>
PRAGMA48(GCC diagnostic pop)
#include "fs/specialfolder.h"
#undef ERROR
-#endif // WIN32
+#endif // _WIN32
#ifdef ANDROID
#ifndef USE_SDL2
@@ -393,9 +393,9 @@ void Client::gameInit()
eventsManager.init();
eventsManager.enableEvents();
-#ifdef WIN32
+#ifdef _WIN32
Dirs::mountDataDir();
-#endif // WIN32
+#endif // _WIN32
#ifndef USE_SDL2
WindowManager::setIcon();
#endif // USE_SDL2
@@ -425,10 +425,10 @@ void Client::gameInit()
touchManager.init();
-#ifndef WIN32
+#ifndef _WIN32
Dirs::extractDataDir();
Dirs::mountDataDir();
-#endif // WIN32
+#endif // _WIN32
Dirs::updateDataPath();
@@ -1580,6 +1580,34 @@ int Client::gameExec()
BLOCK_END("Client::gameExec State::SWITCH_SERVER")
break;
+ case State::SWITCH_WORLD:
+ BLOCK_START("Client::gameExec State::SWITCH_WORLD")
+ logger->log1("State: SWITCH WORLD");
+
+ if (loginHandler != nullptr)
+ {
+ loginHandler->logout();
+ loginHandler->disconnect();
+ }
+ if (gameHandler != nullptr)
+ gameHandler->disconnect();
+ if (loginHandler != nullptr)
+ loginHandler->connect();
+
+ if (loginHandler != nullptr &&
+ loginHandler->getWorlds().size() > 1)
+ {
+ mState = State::LOGIN_ATTEMPT;
+ }
+ else
+ {
+ settings.login.clear();
+ WindowManager::updateTitle();
+ mState = State::LOGIN;
+ }
+ BLOCK_END("Client::gameExec State::SWITCH_WORLD")
+ break;
+
case State::SWITCH_LOGIN:
BLOCK_START("Client::gameExec State::SWITCH_LOGIN")
logger->log1("State: SWITCH LOGIN");
@@ -1881,7 +1909,7 @@ void Client::moveButtons(const int width)
{
int x = width - mSetupButton->getWidth() - mButtonPadding;
mSetupButton->setPosition(x, mButtonPadding);
-#ifndef WIN32
+#ifndef _WIN32
x -= mPerfomanceButton->getWidth() + mButtonSpacing;
mPerfomanceButton->setPosition(x, mButtonPadding);
@@ -1900,7 +1928,7 @@ void Client::moveButtons(const int width)
x -= mCloseButton->getWidth() + mButtonSpacing;
mCloseButton->setPosition(x, mButtonPadding);
#endif // ANDROID
-#endif // WIN32
+#endif // _WIN32
}
}