summaryrefslogtreecommitdiff
path: root/src/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp111
1 files changed, 2 insertions, 109 deletions
diff --git a/src/main.cpp b/src/main.cpp
index 40d7bc676..de2b1a7a1 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -20,51 +20,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-
-#include "main.h"
-
-#include "client.h"
-#include "commandline.h"
-#include "settings.h"
-
-#include "utils/delete2.h"
-#ifdef ANDROID
-#include "utils/mkdir.h"
-#endif
-#include "utils/physfscheckutils.h"
-#include "utils/physfsrwops.h"
-#include "utils/process.h"
-#include "utils/xml.h"
-
-#ifdef UNITTESTS
-#include <gtest/gtest.h>
-#endif
-
-#ifdef __MINGW32__
-#include <windows.h>
-#endif
-
-#include <getopt.h>
-#include <iostream>
-#include <unistd.h>
-
-#include <SDL_image.h>
-#include <SDL_mixer.h>
-#include <SDL_version.h>
-
-#define SDL_IMAGE_COMPILEDVERSION \
- SDL_VERSIONNUM(SDL_IMAGE_MAJOR_VERSION, \
- SDL_IMAGE_MINOR_VERSION, SDL_IMAGE_PATCHLEVEL)
-
-#define SDL_IMAGE_VERSION_ATLEAST(X, Y, Z) \
- (SDL_IMAGE_COMPILEDVERSION >= SDL_VERSIONNUM(X, Y, Z))
-
-#define SDL_MIXER_COMPILEDVERSION \
- SDL_VERSIONNUM(SDL_MIXER_MAJOR_VERSION, \
- SDL_MIXER_MINOR_VERSION, SDL_MIXER_PATCHLEVEL)
-
-#define SDL_MIXER_VERSION_ATLEAST(X, Y, Z) \
- (SDL_MIXER_COMPILEDVERSION >= SDL_VERSIONNUM(X, Y, Z))
+#include "maingui.h"
#ifdef UNITTESTS
#define CATCH_CONFIG_MAIN
@@ -72,72 +28,9 @@
#endif
#include "debug.h"
-char *selfName = nullptr;
-
-#ifdef WIN32
-extern "C" char const *_nl_locale_name_default(void);
-#endif
-
#ifndef UNITTESTS
-// main for normal game usage
int main(int argc, char *argv[])
{
-#if defined(__MINGW32__)
- // load mingw crash handler. Won't fail if dll is not present.
- // may load libray from current dir, it may not same as program dir
- LoadLibrary("exchndl.dll");
-#endif
-
- selfName = argv[0];
-
- parseOptions(argc, argv);
-
- std::ios::sync_with_stdio(false);
-
-#ifdef ANDROID
- mkdir_r(getSdStoragePath().c_str());
-#endif
-
- PhysFs::init(argv[0]);
- XML::initXML();
-#if SDL_IMAGE_VERSION_ATLEAST(1, 2, 11)
- IMG_Init(IMG_INIT_PNG);
-#endif
-#if SDL_MIXER_VERSION_ATLEAST(1, 2, 11)
- Mix_Init(MIX_INIT_OGG);
-#endif
-
-#ifdef WIN32
- SetCurrentDirectory(PhysFs::getBaseDir());
-#endif
- setPriority(true);
- client = new Client;
- int ret = 0;
- if (!settings.options.testMode)
- {
- client->gameInit();
- ret = client->gameExec();
- }
- else
- {
- client->testsInit();
- ret = client->testsExec();
- }
- delete2(client);
-
-#if SDL_MIXER_VERSION_ATLEAST(1, 2, 11)
- Mix_Quit();
-#endif
-#if SDL_IMAGE_VERSION_ATLEAST(1, 2, 11)
- IMG_Quit();
-#endif
-
-#ifdef DUMP_LEAKED_RESOURCES
- reportRWops();
-#endif
-#ifdef DEBUG_PHYSFS
- reportPhysfsLeaks();
-#endif
- return ret;
+ return mainGui(argc, argv);
}
#endif