aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/frontend/qt_sdl/main.cpp85
-rw-r--r--src/frontend/qt_sdl/main.h24
-rw-r--r--src/libui_sdl/main.cpp39
3 files changed, 110 insertions, 38 deletions
diff --git a/src/frontend/qt_sdl/main.cpp b/src/frontend/qt_sdl/main.cpp
new file mode 100644
index 0000000..0b9d15e
--- /dev/null
+++ b/src/frontend/qt_sdl/main.cpp
@@ -0,0 +1,85 @@
+/*
+ Copyright 2016-2020 Arisotura
+
+ This file is part of melonDS.
+
+ melonDS is free software: you can redistribute it and/or modify it under
+ the terms of the GNU General Public License as published by the Free
+ Software Foundation, either version 3 of the License, or (at your option)
+ any later version.
+
+ melonDS is distributed in the hope that it will be useful, but WITHOUT ANY
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with melonDS. If not, see http://www.gnu.org/licenses/.
+*/
+
+#include <stdlib.h>
+#include <time.h>
+#include <stdio.h>
+#include <string.h>
+
+// Qt includes and shit here, I guess
+#include <QtCore/QBitArray>
+
+#include "main.h"
+
+#include "../../version.h"
+
+
+//
+
+
+int main(int argc, char** argv)
+{
+ srand(time(NULL));
+
+ printf("melonDS " MELONDS_VERSION "\n");
+ printf(MELONDS_URL "\n");
+
+ printf("Arisotura hereby admits defeat\n");
+ printf("NI DIEU NI MAITRE\n");
+
+ return 0;
+}
+
+#ifdef __WIN32__
+
+#include <windows.h>
+
+int CALLBACK WinMain(HINSTANCE hinst, HINSTANCE hprev, LPSTR cmdline, int cmdshow)
+{
+ int argc = 0;
+ wchar_t** argv_w = CommandLineToArgvW(GetCommandLineW(), &argc);
+ char* nullarg = "";
+
+ char** argv = new char*[argc];
+ for (int i = 0; i < argc; i++)
+ {
+ int len = WideCharToMultiByte(CP_UTF8, 0, argv_w[i], -1, NULL, 0, NULL, NULL);
+ if (len < 1) return NULL;
+ argv[i] = new char[len];
+ int res = WideCharToMultiByte(CP_UTF8, 0, argv_w[i], -1, argv[i], len, NULL, NULL);
+ if (res != len) { delete[] argv[i]; argv[i] = nullarg; }
+ }
+
+ if (AttachConsole(ATTACH_PARENT_PROCESS))
+ {
+ freopen("CONOUT$", "w", stdout);
+ freopen("CONOUT$", "w", stderr);
+ printf("\n");
+ }
+
+ int ret = main(argc, argv);
+
+ printf("\n\n>");
+
+ for (int i = 0; i < argc; i++) if (argv[i] != nullarg) delete[] argv[i];
+ delete[] argv;
+
+ return ret;
+}
+
+#endif
diff --git a/src/frontend/qt_sdl/main.h b/src/frontend/qt_sdl/main.h
new file mode 100644
index 0000000..65d6518
--- /dev/null
+++ b/src/frontend/qt_sdl/main.h
@@ -0,0 +1,24 @@
+/*
+ Copyright 2016-2020 Arisotura
+
+ This file is part of melonDS.
+
+ melonDS is free software: you can redistribute it and/or modify it under
+ the terms of the GNU General Public License as published by the Free
+ Software Foundation, either version 3 of the License, or (at your option)
+ any later version.
+
+ melonDS is distributed in the hope that it will be useful, but WITHOUT ANY
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with melonDS. If not, see http://www.gnu.org/licenses/.
+*/
+
+#ifndef MAIN_H
+#define MAIN_H
+
+// put the class shit here
+
+#endif // MAIN_H
diff --git a/src/libui_sdl/main.cpp b/src/libui_sdl/main.cpp
index 8e8bf9e..64bc532 100644
--- a/src/libui_sdl/main.cpp
+++ b/src/libui_sdl/main.cpp
@@ -2678,7 +2678,7 @@ void RecreateMainWindow(bool opengl)
}
-int main(int argc, char** argv)
+int ___main(int argc, char** argv)
{
srand(time(NULL));
@@ -3026,41 +3026,4 @@ int main(int argc, char** argv)
return 0;
}
-#ifdef __WIN32__
-#include <windows.h>
-
-int CALLBACK WinMain(HINSTANCE hinst, HINSTANCE hprev, LPSTR cmdline, int cmdshow)
-{
- int argc = 0;
- wchar_t** argv_w = CommandLineToArgvW(GetCommandLineW(), &argc);
- char* nullarg = "";
-
- char** argv = new char*[argc];
- for (int i = 0; i < argc; i++)
- {
- int len = WideCharToMultiByte(CP_UTF8, 0, argv_w[i], -1, NULL, 0, NULL, NULL);
- if (len < 1) return NULL;
- argv[i] = new char[len];
- int res = WideCharToMultiByte(CP_UTF8, 0, argv_w[i], -1, argv[i], len, NULL, NULL);
- if (res != len) { delete[] argv[i]; argv[i] = nullarg; }
- }
-
- if (AttachConsole(ATTACH_PARENT_PROCESS))
- {
- freopen("CONOUT$", "w", stdout);
- freopen("CONOUT$", "w", stderr);
- printf("\n");
- }
-
- int ret = main(argc, argv);
-
- printf("\n\n>");
-
- for (int i = 0; i < argc; i++) if (argv[i] != nullarg) delete[] argv[i];
- delete[] argv;
-
- return ret;
-}
-
-#endif