Przeglądaj źródła

Merge pull request #1659 from JayFoxRox/apply-config

CitraQt: Apply config at startup
Yuri Kunde Schlesner 10 lat temu
rodzic
commit
9dd3976f9f

+ 4 - 5
src/citra/citra.cpp

@@ -93,14 +93,13 @@ int main(int argc, char **argv) {
 
     log_filter.ParseFilterString(Settings::values.log_filter);
 
-    GDBStub::ToggleServer(use_gdbstub);
-    GDBStub::SetServerPort(gdb_port);
+    // Apply the command line arguments
+    Settings::values.gdbstub_port = gdb_port;
+    Settings::values.use_gdbstub = use_gdbstub;
+    Settings::Apply();
 
     std::unique_ptr<EmuWindow_SDL2> emu_window = std::make_unique<EmuWindow_SDL2>();
 
-    VideoCore::g_hw_renderer_enabled = Settings::values.use_hw_renderer;
-    VideoCore::g_shader_jit_enabled = Settings::values.use_shader_jit;
-
     System::Init(emu_window.get());
     SCOPE_EXIT({ System::Shutdown(); });
 

+ 1 - 0
src/citra_qt/config.cpp

@@ -189,6 +189,7 @@ void Config::SaveValues() {
 
 void Config::Reload() {
     ReadValues();
+    Settings::Apply();
 }
 
 void Config::Save() {

+ 1 - 2
src/citra_qt/configure_debug.cpp

@@ -5,7 +5,6 @@
 #include "citra_qt/configure_debug.h"
 #include "ui_configure_debug.h"
 
-#include "core/gdbstub/gdbstub.h"
 #include "core/settings.h"
 
 ConfigureDebug::ConfigureDebug(QWidget *parent) :
@@ -26,7 +25,7 @@ void ConfigureDebug::setConfiguration() {
 }
 
 void ConfigureDebug::applyConfiguration() {
-    GDBStub::ToggleServer(ui->toogle_gdbstub->isChecked());
     Settings::values.use_gdbstub = ui->toogle_gdbstub->isChecked();
     Settings::values.gdbstub_port = ui->gdbport_spinbox->value();
+    Settings::Apply();
 }

+ 1 - 7
src/citra_qt/configure_general.cpp

@@ -8,8 +8,6 @@
 
 #include "core/settings.h"
 
-#include "video_core/video_core.h"
-
 ConfigureGeneral::ConfigureGeneral(QWidget *parent) :
     QWidget(parent),
     ui(new Ui::ConfigureGeneral)
@@ -32,12 +30,8 @@ void ConfigureGeneral::setConfiguration() {
 void ConfigureGeneral::applyConfiguration() {
     UISettings::values.gamedir_deepscan = ui->toogle_deepscan->isChecked();
     UISettings::values.confirm_before_closing = ui->toogle_check_exit->isChecked();
-
     Settings::values.region_value = ui->region_combobox->currentIndex();
-
-    VideoCore::g_hw_renderer_enabled =
     Settings::values.use_hw_renderer = ui->toogle_hw_renderer->isChecked();
-
-    VideoCore::g_shader_jit_enabled =
     Settings::values.use_shader_jit = ui->toogle_shader_jit->isChecked();
+    Settings::Apply();
 }

+ 0 - 3
src/citra_qt/main.cpp

@@ -141,9 +141,6 @@ GMainWindow::GMainWindow() : config(new Config()), emu_thread(nullptr)
 
     game_list->LoadInterfaceLayout();
 
-    GDBStub::ToggleServer(Settings::values.use_gdbstub);
-    GDBStub::SetServerPort(static_cast<u32>(Settings::values.gdbstub_port));
-
     ui.action_Single_Window_Mode->setChecked(UISettings::values.single_window_mode);
     ToggleWindowMode();
 

+ 14 - 0
src/core/settings.cpp

@@ -4,8 +4,22 @@
 
 #include "settings.h"
 
+#include "core/gdbstub/gdbstub.h"
+
+#include "video_core/video_core.h"
+
 namespace Settings {
 
 Values values = {};
 
+void Apply() {
+
+    GDBStub::SetServerPort(static_cast<u32>(values.gdbstub_port));
+    GDBStub::ToggleServer(values.use_gdbstub);
+
+    VideoCore::g_hw_renderer_enabled = values.use_hw_renderer;
+    VideoCore::g_shader_jit_enabled = values.use_shader_jit;
+
 }
+
+} // namespace

+ 2 - 0
src/core/settings.h

@@ -67,4 +67,6 @@ struct Values {
     u16 gdbstub_port;
 } extern values;
 
+void Apply();
+
 }