Răsfoiți Sursa

settings: Add config option for kiosk (quest) mode

Zach Hilman 7 ani în urmă
părinte
comite
efa7d8d04b

+ 1 - 0
src/core/settings.h

@@ -416,6 +416,7 @@ struct Values {
     bool dump_exefs;
     bool dump_nso;
     bool reporting_services;
+    bool quest_flag;
 
     // WebService
     bool enable_telemetry;

+ 2 - 0
src/yuzu/configuration/config.cpp

@@ -475,6 +475,7 @@ void Config::ReadDebuggingValues() {
     Settings::values.dump_nso = ReadSetting(QStringLiteral("dump_nso"), false).toBool();
     Settings::values.reporting_services =
         ReadSetting(QStringLiteral("reporting_services"), false).toBool();
+    Settings::values.quest_flag = ReadSetting(QStringLiteral("quest_flag"), false).toBool();
 
     qt_config->endGroup();
 }
@@ -858,6 +859,7 @@ void Config::SaveDebuggingValues() {
                  QString::fromStdString(Settings::values.program_args), QStringLiteral(""));
     WriteSetting(QStringLiteral("dump_exefs"), Settings::values.dump_exefs, false);
     WriteSetting(QStringLiteral("dump_nso"), Settings::values.dump_nso, false);
+    WriteSetting(QStringLiteral("quest_flag"), Settings::values.quest_flag, false);
 
     qt_config->endGroup();
 }

+ 2 - 0
src/yuzu/configuration/configure_debug.cpp

@@ -37,6 +37,7 @@ void ConfigureDebug::SetConfiguration() {
     ui->dump_exefs->setChecked(Settings::values.dump_exefs);
     ui->dump_decompressed_nso->setChecked(Settings::values.dump_nso);
     ui->reporting_services->setChecked(Settings::values.reporting_services);
+    ui->quest_flag->setChecked(Settings::values.quest_flag);
 }
 
 void ConfigureDebug::ApplyConfiguration() {
@@ -48,6 +49,7 @@ void ConfigureDebug::ApplyConfiguration() {
     Settings::values.dump_exefs = ui->dump_exefs->isChecked();
     Settings::values.dump_nso = ui->dump_decompressed_nso->isChecked();
     Settings::values.reporting_services = ui->reporting_services->isChecked();
+    Settings::values.quest_flag = ui->quest_flag->isChecked();
     Debugger::ToggleConsole();
     Log::Filter filter;
     filter.ParseFilterString(Settings::values.log_filter);

+ 17 - 1
src/yuzu/configuration/configure_debug.ui

@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>400</width>
-    <height>357</height>
+    <height>474</height>
    </rect>
   </property>
   <property name="windowTitle">
@@ -180,6 +180,22 @@
      </layout>
     </widget>
    </item>
+   <item>
+    <widget class="QGroupBox" name="groupBox_5">
+     <property name="title">
+      <string>Advanced</string>
+     </property>
+     <layout class="QVBoxLayout" name="verticalLayout">
+      <item>
+       <widget class="QCheckBox" name="quest_flag">
+        <property name="text">
+         <string>Kiosk (Quest) Mode</string>
+        </property>
+       </widget>
+      </item>
+     </layout>
+    </widget>
+   </item>
    <item>
     <spacer name="verticalSpacer">
      <property name="orientation">

+ 1 - 0
src/yuzu_cmd/config.cpp

@@ -383,6 +383,7 @@ void Config::ReadValues() {
     Settings::values.dump_nso = sdl2_config->GetBoolean("Debugging", "dump_nso", false);
     Settings::values.reporting_services =
         sdl2_config->GetBoolean("Debugging", "reporting_services", false);
+    Settings::values.quest_flag = sdl2_config->GetBoolean("Debugging", "quest_flag", false);
 
     const auto title_list = sdl2_config->Get("AddOns", "title_ids", "");
     std::stringstream ss(title_list);

+ 3 - 0
src/yuzu_cmd/default_ini.h

@@ -224,6 +224,9 @@ gdbstub_port=24689
 dump_exefs=false
 # Determines whether or not yuzu will dump all NSOs it attempts to load while loading them
 dump_nso=false
+# Determines whether or not yuzu will report to the game that the emulated console is in Kiosk Mode
+# false: Retail/Normal Mode (default), true: Kiosk Mode
+quest_flag =
 
 [WebService]
 # Whether or not to enable telemetry