1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-04-21 12:06:49 +02:00

exclude some code similar to android

This commit is contained in:
Andrey Filipenkov 2021-03-02 06:56:57 +03:00
parent 8249171066
commit c4233ad706
3 changed files with 25 additions and 19 deletions

View File

@ -170,7 +170,7 @@ int main(int argc, char * argv[])
setenv("LANG", "C", 1); setenv("LANG", "C", 1);
#endif #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 // 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()); boost::filesystem::current_path(boost::filesystem::system_complete(argv[0]).parent_path());
#endif #endif

View File

@ -21,10 +21,12 @@
#include "mainmenu/CMainMenu.h" #include "mainmenu/CMainMenu.h"
#ifndef VCMI_ANDROID #ifdef VCMI_ANDROID
#include "../lib/Interprocess.h"
#else
#include "../lib/CAndroidVMHelper.h" #include "../lib/CAndroidVMHelper.h"
#elif defined(VCMI_IOS)
//TODO
#else
#include "../lib/Interprocess.h"
#endif #endif
#include "../lib/CConfigHandler.h" #include "../lib/CConfigHandler.h"
#include "../lib/CGeneralTextHandler.h" #include "../lib/CGeneralTextHandler.h"
@ -132,7 +134,7 @@ void CServerHandler::resetStateForLobby(const StartInfo::EMode mode, const std::
else else
myNames.push_back(settings["general"]["playerName"].String()); myNames.push_back(settings["general"]["playerName"].String());
#ifndef VCMI_ANDROID #if !defined(VCMI_ANDROID) && !defined(VCMI_IOS)
shm.reset(); shm.reset();
if(!settings["session"]["disable-shm"].Bool()) if(!settings["session"]["disable-shm"].Bool())
@ -181,6 +183,8 @@ void CServerHandler::startLocalServerAndConnect()
CAndroidVMHelper envHelper; CAndroidVMHelper envHelper;
envHelper.callStaticVoidMethod(CAndroidVMHelper::NATIVE_METHODS_DEFAULT_CLASS, "startServer", true); envHelper.callStaticVoidMethod(CAndroidVMHelper::NATIVE_METHODS_DEFAULT_CLASS, "startServer", true);
} }
#elif defined(VCMI_IOS)
// TODO
#else #else
threadRunLocalServer = std::make_shared<boost::thread>(&CServerHandler::threadRunServer, this); //runs server executable; threadRunLocalServer = std::make_shared<boost::thread>(&CServerHandler::threadRunServer, this); //runs server executable;
#endif #endif
@ -188,10 +192,7 @@ void CServerHandler::startLocalServerAndConnect()
th->update(); th->update();
#ifndef VCMI_ANDROID #ifdef VCMI_ANDROID
if(shm)
shm->sr->waitTillReady();
#else
logNetwork->info("waiting for server"); logNetwork->info("waiting for server");
while(!androidTestServerReadyFlag.load()) while(!androidTestServerReadyFlag.load())
{ {
@ -200,12 +201,17 @@ void CServerHandler::startLocalServerAndConnect()
} }
logNetwork->info("waiting for server finished..."); logNetwork->info("waiting for server finished...");
androidTestServerReadyFlag = false; androidTestServerReadyFlag = false;
#elif defined(VCMI_IOS)
//TODO
#else
if(shm)
shm->sr->waitTillReady();
#endif #endif
logNetwork->trace("Waiting for server: %d ms", th->getDiff()); logNetwork->trace("Waiting for server: %d ms", th->getDiff());
th->update(); //put breakpoint here to attach to server before it does something stupid 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); justConnectToServer(settings["server"]["server"].String(), shm ? shm->sr->port : 0);
#else #else
justConnectToServer(settings["server"]["server"].String()); justConnectToServer(settings["server"]["server"].String());

View File

@ -29,6 +29,8 @@
#include "../lib/rmg/CMapGenOptions.h" #include "../lib/rmg/CMapGenOptions.h"
#ifdef VCMI_ANDROID #ifdef VCMI_ANDROID
#include "lib/CAndroidVMHelper.h" #include "lib/CAndroidVMHelper.h"
#elif defined(VCMI_IOS)
//TODO
#else #else
#include "../lib/Interprocess.h" #include "../lib/Interprocess.h"
#endif #endif
@ -55,7 +57,7 @@
#include "../lib/CGameState.h" #include "../lib/CGameState.h"
#if defined(__GNUC__) && !defined(__MINGW32__) && !defined(VCMI_ANDROID) #if defined(__GNUC__) && !defined(__MINGW32__) && !defined(VCMI_ANDROID) && !defined(VCMI_IOS)
#include <execinfo.h> #include <execinfo.h>
#endif #endif
@ -157,7 +159,7 @@ void CVCMIServer::run()
if(!restartGameplay) if(!restartGameplay)
{ {
this->announceLobbyThread = vstd::make_unique<boost::thread>(&CVCMIServer::threadAnnounceLobby, this); this->announceLobbyThread = vstd::make_unique<boost::thread>(&CVCMIServer::threadAnnounceLobby, this);
#ifndef VCMI_ANDROID #if !defined(VCMI_ANDROID) && !defined(VCMI_IOS)
if(cmdLineOptions.count("enable-shm")) if(cmdLineOptions.count("enable-shm"))
{ {
std::string sharedMemoryName = "vcmi_memory"; std::string sharedMemoryName = "vcmi_memory";
@ -171,14 +173,11 @@ void CVCMIServer::run()
startAsyncAccept(); startAsyncAccept();
#ifndef VCMI_ANDROID #if !defined(VCMI_ANDROID) && !defined(VCMI_IOS)
if(shm) if(shm)
{ {
shm->sr->setToReadyAndNotify(port); shm->sr->setToReadyAndNotify(port);
} }
#else
CAndroidVMHelper vmHelper;
vmHelper.callStaticVoidMethod(CAndroidVMHelper::NATIVE_METHODS_DEFAULT_CLASS, "onServerReady");
#endif #endif
} }
@ -829,7 +828,7 @@ ui8 CVCMIServer::getIdOfFirstUnallocatedPlayer() const
return 0; 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) void handleLinuxSignal(int sig)
{ {
const int STACKTRACE_SIZE = 100; 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[]) 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 // 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()); boost::filesystem::current_path(boost::filesystem::system_complete(argv[0]).parent_path());
#endif #endif
// Installs a sig sev segmentation violation handler // Installs a sig sev segmentation violation handler
// to log stacktrace // 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); signal(SIGSEGV, handleLinuxSignal);
#endif #endif
@ -966,6 +965,7 @@ int main(int argc, char * argv[])
return 0; return 0;
} }
// TODO iOS
#ifdef VCMI_ANDROID #ifdef VCMI_ANDROID
void CVCMIServer::create() void CVCMIServer::create()
{ {