diff --git a/client/CMT.cpp b/client/CMT.cpp index 5754814b8..ffeea5d7a 100644 --- a/client/CMT.cpp +++ b/client/CMT.cpp @@ -170,7 +170,7 @@ int main(int argc, char * argv[]) setenv("LANG", "C", 1); #endif -#ifndef VCMI_ANDROID +#if !defined(VCMI_ANDROID) && !defined(VCMI_IOS) // Correct working dir executable folder (not bundle folder) so we can use executable relative paths boost::filesystem::current_path(boost::filesystem::system_complete(argv[0]).parent_path()); #endif diff --git a/client/CServerHandler.cpp b/client/CServerHandler.cpp index d24903da6..93d44cefa 100644 --- a/client/CServerHandler.cpp +++ b/client/CServerHandler.cpp @@ -21,10 +21,12 @@ #include "mainmenu/CMainMenu.h" -#ifndef VCMI_ANDROID -#include "../lib/Interprocess.h" -#else +#ifdef VCMI_ANDROID #include "../lib/CAndroidVMHelper.h" +#elif defined(VCMI_IOS) +//TODO +#else +#include "../lib/Interprocess.h" #endif #include "../lib/CConfigHandler.h" #include "../lib/CGeneralTextHandler.h" @@ -132,7 +134,7 @@ void CServerHandler::resetStateForLobby(const StartInfo::EMode mode, const std:: else myNames.push_back(settings["general"]["playerName"].String()); -#ifndef VCMI_ANDROID +#if !defined(VCMI_ANDROID) && !defined(VCMI_IOS) shm.reset(); if(!settings["session"]["disable-shm"].Bool()) @@ -181,6 +183,8 @@ void CServerHandler::startLocalServerAndConnect() CAndroidVMHelper envHelper; envHelper.callStaticVoidMethod(CAndroidVMHelper::NATIVE_METHODS_DEFAULT_CLASS, "startServer", true); } +#elif defined(VCMI_IOS) + // TODO #else threadRunLocalServer = std::make_shared(&CServerHandler::threadRunServer, this); //runs server executable; #endif @@ -188,10 +192,7 @@ void CServerHandler::startLocalServerAndConnect() th->update(); -#ifndef VCMI_ANDROID - if(shm) - shm->sr->waitTillReady(); -#else +#ifdef VCMI_ANDROID logNetwork->info("waiting for server"); while(!androidTestServerReadyFlag.load()) { @@ -200,12 +201,17 @@ void CServerHandler::startLocalServerAndConnect() } logNetwork->info("waiting for server finished..."); androidTestServerReadyFlag = false; +#elif defined(VCMI_IOS) + //TODO +#else + if(shm) + shm->sr->waitTillReady(); #endif logNetwork->trace("Waiting for server: %d ms", th->getDiff()); th->update(); //put breakpoint here to attach to server before it does something stupid -#ifndef VCMI_ANDROID +#if !defined(VCMI_ANDROID) && !defined(VCMI_IOS) justConnectToServer(settings["server"]["server"].String(), shm ? shm->sr->port : 0); #else justConnectToServer(settings["server"]["server"].String()); diff --git a/server/CVCMIServer.cpp b/server/CVCMIServer.cpp index 5cef5f553..71b78b153 100644 --- a/server/CVCMIServer.cpp +++ b/server/CVCMIServer.cpp @@ -29,6 +29,8 @@ #include "../lib/rmg/CMapGenOptions.h" #ifdef VCMI_ANDROID #include "lib/CAndroidVMHelper.h" +#elif defined(VCMI_IOS) + //TODO #else #include "../lib/Interprocess.h" #endif @@ -55,7 +57,7 @@ #include "../lib/CGameState.h" -#if defined(__GNUC__) && !defined(__MINGW32__) && !defined(VCMI_ANDROID) +#if defined(__GNUC__) && !defined(__MINGW32__) && !defined(VCMI_ANDROID) && !defined(VCMI_IOS) #include #endif @@ -157,7 +159,7 @@ void CVCMIServer::run() if(!restartGameplay) { this->announceLobbyThread = vstd::make_unique(&CVCMIServer::threadAnnounceLobby, this); -#ifndef VCMI_ANDROID +#if !defined(VCMI_ANDROID) && !defined(VCMI_IOS) if(cmdLineOptions.count("enable-shm")) { std::string sharedMemoryName = "vcmi_memory"; @@ -171,14 +173,11 @@ void CVCMIServer::run() startAsyncAccept(); -#ifndef VCMI_ANDROID +#if !defined(VCMI_ANDROID) && !defined(VCMI_IOS) if(shm) { shm->sr->setToReadyAndNotify(port); } -#else - CAndroidVMHelper vmHelper; - vmHelper.callStaticVoidMethod(CAndroidVMHelper::NATIVE_METHODS_DEFAULT_CLASS, "onServerReady"); #endif } @@ -829,7 +828,7 @@ ui8 CVCMIServer::getIdOfFirstUnallocatedPlayer() const return 0; } -#if defined(__GNUC__) && !defined(__MINGW32__) && !defined(VCMI_ANDROID) +#if defined(__GNUC__) && !defined(__MINGW32__) && !defined(VCMI_ANDROID) && !defined(VCMI_IOS) void handleLinuxSignal(int sig) { const int STACKTRACE_SIZE = 100; @@ -904,13 +903,13 @@ static void handleCommandOptions(int argc, char * argv[], boost::program_options int main(int argc, char * argv[]) { -#ifndef VCMI_ANDROID +#if !defined(VCMI_ANDROID) && !defined(VCMI_IOS) // Correct working dir executable folder (not bundle folder) so we can use executable relative paths boost::filesystem::current_path(boost::filesystem::system_complete(argv[0]).parent_path()); #endif // Installs a sig sev segmentation violation handler // to log stacktrace -#if defined(__GNUC__) && !defined(__MINGW32__) && !defined(VCMI_ANDROID) +#if defined(__GNUC__) && !defined(__MINGW32__) && !defined(VCMI_ANDROID) && !defined(VCMI_IOS) signal(SIGSEGV, handleLinuxSignal); #endif @@ -966,6 +965,7 @@ int main(int argc, char * argv[]) return 0; } +// TODO iOS #ifdef VCMI_ANDROID void CVCMIServer::create() {