Browse Source

[settings] move program_args and debug_knobs back to debugging category and make them pergameable (#4378)

- [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions).
- [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md)
- [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md) to the best of my ability.

-------------------

I have moved debug_knobs and program_args to System category, to make them pergameable without hassle.
But the hassle came: They were automatically readded to Qt's System tab, doubling them.
If it were to face hassle either way, the right thing is to move them back to Debugging category, then make them exceptionally pergameable.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4378
Reviewed-by: lizzie <lizzie@eden-emu.dev>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
xbzk/bundled-application-program-IDs-fix
xbzk 22 hours ago
committed by crueter
parent
commit
ecb2ae4076
No known key found for this signature in database GPG Key ID: 425ACD2D4830EBC6
  1. 4
      src/common/settings.h
  2. 32
      src/frontend_common/config.cpp

4
src/common/settings.h

@ -858,7 +858,7 @@ struct Values {
SwitchableSetting<std::string> program_args{linkage,
std::string(),
"program_args",
Category::System,
Category::Debugging,
Specialization::Default,
true, // save_ - persist in config file
false}; // runtime_modifiable_ - startup-only
@ -904,7 +904,7 @@ struct Values {
0,
65535,
"debug_knobs",
Category::System,
Category::Debugging,
Specialization::Countable,
true,
true};

32
src/frontend_common/config.cpp

@ -299,12 +299,17 @@ void Config::ReadDataStorageValues() {
void Config::ReadDebuggingValues() {
BeginGroup(Settings::TranslateCategory(Settings::Category::Debugging));
// Intentionally not using the QT default setting as this is intended to be changed in the ini
Settings::values.record_frame_times =
ReadBooleanSetting(std::string("record_frame_times"), std::make_optional(false));
if (global) {
// Intentionally not using the QT default setting as this is intended to be changed in the ini
Settings::values.record_frame_times =
ReadBooleanSetting(std::string("record_frame_times"), std::make_optional(false));
ReadCategory(Settings::Category::Debugging);
ReadCategory(Settings::Category::DebuggingGraphics);
ReadCategory(Settings::Category::Debugging);
ReadCategory(Settings::Category::DebuggingGraphics);
} else {
ReadSettingGeneric(&Settings::values.program_args);
ReadSettingGeneric(&Settings::values.debug_knobs);
}
EndGroup();
}
@ -415,12 +420,12 @@ void Config::ReadLibraryAppletValues() {
void Config::ReadValues() {
if (global) {
ReadDataStorageValues();
ReadDebuggingValues();
ReadDisabledAddOnValues();
ReadServiceValues();
ReadWebServiceValues();
ReadMiscellaneousValues();
}
ReadDebuggingValues();
ReadLibraryAppletValues();
ReadNetworkValues();
ReadControlValues();
@ -511,13 +516,13 @@ void Config::SaveValues() {
if (global) {
LOG_DEBUG(Config, "Saving global generic configuration values");
SaveDataStorageValues();
SaveDebuggingValues();
SaveDisabledAddOnValues();
SaveWebServiceValues();
SaveMiscellaneousValues();
} else {
LOG_DEBUG(Config, "Saving only generic configuration values");
}
SaveDebuggingValues();
SaveLibraryAppletValues();
SaveNetworkValues();
SaveControlValues();
@ -600,11 +605,16 @@ void Config::SaveDataStorageValues() {
void Config::SaveDebuggingValues() {
BeginGroup(Settings::TranslateCategory(Settings::Category::Debugging));
// Intentionally not using the QT default setting as this is intended to be changed in the ini
WriteBooleanSetting(std::string("record_frame_times"), Settings::values.record_frame_times);
if (global) {
// Intentionally not using the QT default setting as this is intended to be changed in the ini
WriteBooleanSetting(std::string("record_frame_times"), Settings::values.record_frame_times);
WriteCategory(Settings::Category::Debugging);
WriteCategory(Settings::Category::DebuggingGraphics);
WriteCategory(Settings::Category::Debugging);
WriteCategory(Settings::Category::DebuggingGraphics);
} else {
WriteSettingGeneric(&Settings::values.program_args);
WriteSettingGeneric(&Settings::values.debug_knobs);
}
EndGroup();
}

Loading…
Cancel
Save