From 4a7787f389a0b0a6fc0feaee83fc7902658569c6 Mon Sep 17 00:00:00 2001 From: wheremyfoodat <44909372+wheremyfoodat@users.noreply.github.com> Date: Sat, 30 Sep 2023 00:02:47 +0300 Subject: [PATCH] Split Qt and SDL frontends --- CMakeLists.txt | 14 ++++++++++++-- src/panda_qt/main.cpp | 12 ++++++++++++ src/{ => panda_sdl}/main.cpp | 10 +--------- 3 files changed, 25 insertions(+), 11 deletions(-) create mode 100644 src/panda_qt/main.cpp rename src/{ => panda_sdl}/main.cpp (76%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7c0d22c8..2cd190ec 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -137,7 +137,7 @@ else() message(FATAL_ERROR "Currently unsupported CPU architecture") endif() -set(SOURCE_FILES src/main.cpp src/emulator.cpp src/io_file.cpp src/config.cpp +set(SOURCE_FILES src/emulator.cpp src/io_file.cpp src/config.cpp src/core/CPU/cpu_dynarmic.cpp src/core/CPU/dynarmic_cycles.cpp src/core/memory.cpp src/renderer.cpp src/core/renderer_null/renderer_null.cpp src/http_server.cpp src/stb_image_write.c src/core/cheats.cpp src/core/action_replay.cpp @@ -177,6 +177,15 @@ set(FS_SOURCE_FILES src/core/fs/archive_self_ncch.cpp src/core/fs/archive_save_d set(APPLET_SOURCE_FILES src/core/applets/applet.cpp src/core/applets/mii_selector.cpp src/core/applets/software_keyboard.cpp src/core/applets/applet_manager.cpp) set(RENDERER_SW_SOURCE_FILES src/core/renderer_sw/renderer_sw.cpp) +# Frontend files +if(ENABLE_QT_GUI) + # Qt frontend files + set(FRONTEND_SOURCE_FILES src/panda_qt/main.cpp) +else() + # SDL frontend files + set(FRONTEND_SOURCE_FILES src/panda_sdl/main.cpp) +endif() + set(HEADER_FILES include/emulator.hpp include/helpers.hpp include/termcolor.hpp include/cpu.hpp include/cpu_dynarmic.hpp include/memory.hpp include/renderer.hpp include/kernel/kernel.hpp include/dynarmic_cp15.hpp include/kernel/resource_limits.hpp include/kernel/kernel_types.hpp @@ -226,6 +235,7 @@ set(THIRD_PARTY_SOURCE_FILES third_party/imgui/imgui.cpp third_party/xxhash/xxhash.c ) source_group("Source Files\\Core" FILES ${SOURCE_FILES}) +source_group("Source Files\\Frontend" FILES ${FRONTEND_SOURCE_FILES}) source_group("Source Files\\Core\\Crypto" FILES ${CRYPTO_SOURCE_FILES}) source_group("Source Files\\Core\\Filesystem" FILES ${FS_SOURCE_FILES}) source_group("Source Files\\Core\\Kernel" FILES ${KERNEL_SOURCE_FILES}) @@ -331,7 +341,7 @@ if(ENABLE_VULKAN) endif() source_group("Header Files\\Core" FILES ${HEADER_FILES}) -set(ALL_SOURCES ${SOURCE_FILES} ${FS_SOURCE_FILES} ${CRYPTO_SOURCE_FILES} ${KERNEL_SOURCE_FILES} ${LOADER_SOURCE_FILES} ${SERVICE_SOURCE_FILES} +set(ALL_SOURCES ${SOURCE_FILES} ${FRONTEND_SOURCE_FILES} ${FS_SOURCE_FILES} ${CRYPTO_SOURCE_FILES} ${KERNEL_SOURCE_FILES} ${LOADER_SOURCE_FILES} ${SERVICE_SOURCE_FILES} ${APPLET_SOURCE_FILES} ${RENDERER_SW_SOURCE_FILES} ${PICA_SOURCE_FILES} ${THIRD_PARTY_SOURCE_FILES} ${HEADER_FILES}) if(ENABLE_OPENGL) diff --git a/src/panda_qt/main.cpp b/src/panda_qt/main.cpp new file mode 100644 index 00000000..02addfb7 --- /dev/null +++ b/src/panda_qt/main.cpp @@ -0,0 +1,12 @@ +#include +#include + +int main(int argc, char *argv[]) { + QApplication app(argc, argv); + QWidget window; + + window.resize(320, 240); + window.show(); + window.setWindowTitle("Alber"); + return app.exec(); +} \ No newline at end of file diff --git a/src/main.cpp b/src/panda_sdl/main.cpp similarity index 76% rename from src/main.cpp rename to src/panda_sdl/main.cpp index 9356a257..34aa2aa6 100644 --- a/src/main.cpp +++ b/src/panda_sdl/main.cpp @@ -1,15 +1,7 @@ #include "emulator.hpp" -#ifdef PANDA3DS_FRONTEND_QT -#include -#endif int main(int argc, char *argv[]) { Emulator emu; -#ifdef PANDA3DS_FRONTEND_QT - QApplication app(argc, argv); - return app.exec(); -#endif - emu.initGraphicsContext(); if (argc > 1) { @@ -23,4 +15,4 @@ int main(int argc, char *argv[]) { } emu.run(); -} +} \ No newline at end of file