Add option to save logfiles seperate for each game (#2504)

* add option to split log

* better naming

* fix

* fix

* fix formatting

* fix misspelling

* make clang conform

* clang fix
This commit is contained in:
Fire Cube 2025-02-23 21:30:11 +01:00 committed by GitHub
parent 84a614dddc
commit c38e1635ea
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 108 additions and 76 deletions

View file

@ -425,6 +425,8 @@ void SettingsDialog::LoadValuesFromConfig() {
QString::fromStdString(toml::find_or<std::string>(data, "Keys", "TrophyKey", "")));
ui->trophyKeyLineEdit->setEchoMode(QLineEdit::Password);
ui->debugDump->setChecked(toml::find_or<bool>(data, "Debug", "DebugDump", false));
ui->separateLogFilesCheckbox->setChecked(
toml::find_or<bool>(data, "Debug", "isSeparateLogFilesEnabled", false));
ui->vkValidationCheckBox->setChecked(toml::find_or<bool>(data, "Vulkan", "validation", false));
ui->vkSyncValidationCheckBox->setChecked(
toml::find_or<bool>(data, "Vulkan", "validation_sync", false));
@ -648,7 +650,8 @@ void SettingsDialog::updateNoteTextEdit(const QString& elementName) {
text = tr("Copy GPU Buffers:\\nGets around race conditions involving GPU submits.\\nMay or may not help with PM4 type 0 crashes.");
} else if (elementName == "collectShaderCheckBox") {
text = tr("Collect Shaders:\\nYou need this enabled to edit shaders with the debug menu (Ctrl + F10).");
}
} else if (elementName == "separateLogFilesCheckbox") {
text = tr("Separate Log Files:\\nWrites a separate logfile for each game.");}
// clang-format on
ui->descriptionText->setText(text.replace("\\n", "\n"));
}
@ -700,6 +703,7 @@ void SettingsDialog::UpdateSettings() {
Config::setLoadGameSizeEnabled(ui->gameSizeCheckBox->isChecked());
Config::setShowSplash(ui->showSplashCheckBox->isChecked());
Config::setDebugDump(ui->debugDump->isChecked());
Config::setSeparateLogFilesEnabled(ui->separateLogFilesCheckbox->isChecked());
Config::setVkValidation(ui->vkValidationCheckBox->isChecked());
Config::setVkSyncValidation(ui->vkSyncValidationCheckBox->isChecked());
Config::setRdocEnabled(ui->rdocCheckBox->isChecked());

View file

@ -59,7 +59,7 @@
</size>
</property>
<property name="currentIndex">
<number>0</number>
<number>6</number>
</property>
<widget class="QScrollArea" name="generalTab">
<property name="widgetResizable">
@ -73,8 +73,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>946</width>
<height>536</height>
<width>718</width>
<height>332</height>
</rect>
</property>
<layout class="QVBoxLayout" name="generalTabVLayout" stretch="0">
@ -454,8 +454,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>946</width>
<height>536</height>
<width>646</width>
<height>395</height>
</rect>
</property>
<layout class="QVBoxLayout" name="guiTabVLayout" stretch="0">
@ -903,8 +903,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>946</width>
<height>536</height>
<width>545</width>
<height>141</height>
</rect>
</property>
<layout class="QVBoxLayout" name="graphicsTabVLayout" stretch="0,0">
@ -1198,8 +1198,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>946</width>
<height>536</height>
<width>234</width>
<height>292</height>
</rect>
</property>
<layout class="QVBoxLayout" name="userTabVLayout" stretch="0,0,1">
@ -1342,8 +1342,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>946</width>
<height>536</height>
<width>455</width>
<height>252</height>
</rect>
</property>
<layout class="QVBoxLayout" name="inputTabVLayout" stretch="0,0">
@ -1626,8 +1626,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>946</width>
<height>536</height>
<width>216</width>
<height>254</height>
</rect>
</property>
<layout class="QVBoxLayout" name="pathsTabLayout">
@ -1888,39 +1888,50 @@
</property>
<layout class="QVBoxLayout" name="advancedLayout">
<item>
<widget class="QCheckBox" name="crashDiagnosticsCheckBox">
<property name="text">
<string>Enable Crash Diagnostics</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="collectShaderCheckBox">
<property name="text">
<string>Collect Shaders</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="copyGPUBuffersCheckBox">
<property name="text">
<string>Copy GPU Buffers</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="hostMarkersCheckBox">
<property name="text">
<string>Host Debug Markers</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="guestMarkersCheckBox">
<property name="text">
<string>Guest Debug Markers</string>
</property>
</widget>
<layout class="QFormLayout" name="formLayout">
<item row="0" column="0">
<widget class="QCheckBox" name="collectShaderCheckBox">
<property name="text">
<string>Collect Shaders</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QCheckBox" name="copyGPUBuffersCheckBox">
<property name="text">
<string>Copy GPU Buffers</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QCheckBox" name="crashDiagnosticsCheckBox">
<property name="text">
<string>Enable Crash Diagnostics</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QCheckBox" name="hostMarkersCheckBox">
<property name="text">
<string>Host Debug Markers</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QCheckBox" name="guestMarkersCheckBox">
<property name="text">
<string>Guest Debug Markers</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QCheckBox" name="separateLogFilesCheckbox">
<property name="text">
<string>Separate Log Files</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>