diff --git a/src/common/settings.cpp b/src/common/settings.cpp index d4e55f9888..5b3596188c 100644 --- a/src/common/settings.cpp +++ b/src/common/settings.cpp @@ -99,6 +99,7 @@ void LogSettings() { log_path("DataStorage_LoadDir", Common::FS::GetYuzuPath(Common::FS::YuzuPath::LoadDir)); log_path("DataStorage_NANDDir", Common::FS::GetYuzuPath(Common::FS::YuzuPath::NANDDir)); log_path("DataStorage_SDMCDir", Common::FS::GetYuzuPath(Common::FS::YuzuPath::SDMCDir)); + log_path("DataStorage_ShaderDir", Common::FS::GetYuzuPath(Common::FS::YuzuPath::ShaderDir)); log_setting("Debugging_ProgramArgs", values.program_args.GetValue()); log_setting("Debugging_GDBStub", values.use_gdbstub.GetValue()); log_setting("Input_EnableMotion", values.motion_enabled.GetValue()); diff --git a/src/yuzu/configuration/config.cpp b/src/yuzu/configuration/config.cpp index 195d3556c9..d4e5e1bb06 100644 --- a/src/yuzu/configuration/config.cpp +++ b/src/yuzu/configuration/config.cpp @@ -576,6 +576,13 @@ void Config::ReadDataStorageValues() { QString::fromStdString(FS::GetYuzuPathString(FS::YuzuPath::SDMCDir))) .toString() .toStdString()); + FS::SetYuzuPath( + FS::YuzuPath::ShaderDir, + qt_config + ->value(QStringLiteral("shader_directory"), + QString::fromStdString(FS::GetYuzuPathString(FS::YuzuPath::ShaderDir))) + .toString() + .toStdString()); FS::SetYuzuPath( FS::YuzuPath::LoadDir, qt_config @@ -1255,6 +1262,9 @@ void Config::SaveDataStorageValues() { WriteSetting(QStringLiteral("sdmc_directory"), QString::fromStdString(FS::GetYuzuPathString(FS::YuzuPath::SDMCDir)), QString::fromStdString(FS::GetYuzuPathString(FS::YuzuPath::SDMCDir))); + WriteSetting(QStringLiteral("shader_directory"), + QString::fromStdString(FS::GetYuzuPathString(FS::YuzuPath::ShaderDir)), + QString::fromStdString(FS::GetYuzuPathString(FS::YuzuPath::ShaderDir))); WriteSetting(QStringLiteral("load_directory"), QString::fromStdString(FS::GetYuzuPathString(FS::YuzuPath::LoadDir)), QString::fromStdString(FS::GetYuzuPathString(FS::YuzuPath::LoadDir))); diff --git a/src/yuzu/configuration/configure_filesystem.cpp b/src/yuzu/configuration/configure_filesystem.cpp index ad19517546..5c105f91e5 100644 --- a/src/yuzu/configuration/configure_filesystem.cpp +++ b/src/yuzu/configuration/configure_filesystem.cpp @@ -19,6 +19,8 @@ ConfigureFilesystem::ConfigureFilesystem(QWidget* parent) [this] { SetDirectory(DirectoryTarget::NAND, ui->nand_directory_edit); }); connect(ui->sdmc_directory_button, &QToolButton::pressed, this, [this] { SetDirectory(DirectoryTarget::SD, ui->sdmc_directory_edit); }); + connect(ui->shader_directory_button, &QToolButton::pressed, this, + [this] { SetDirectory(DirectoryTarget::Shader, ui->shader_directory_edit); }); connect(ui->gamecard_path_button, &QToolButton::pressed, this, [this] { SetDirectory(DirectoryTarget::Gamecard, ui->gamecard_path_edit); }); connect(ui->dump_path_button, &QToolButton::pressed, this, @@ -50,6 +52,8 @@ void ConfigureFilesystem::SetConfiguration() { QString::fromStdString(Common::FS::GetYuzuPathString(Common::FS::YuzuPath::NANDDir))); ui->sdmc_directory_edit->setText( QString::fromStdString(Common::FS::GetYuzuPathString(Common::FS::YuzuPath::SDMCDir))); + ui->shader_directory_edit->setText( + QString::fromStdString(Common::FS::GetYuzuPathString(Common::FS::YuzuPath::ShaderDir))); ui->gamecard_path_edit->setText( QString::fromStdString(Settings::values.gamecard_path.GetValue())); ui->dump_path_edit->setText( @@ -72,6 +76,8 @@ void ConfigureFilesystem::ApplyConfiguration() { ui->nand_directory_edit->text().toStdString()); Common::FS::SetYuzuPath(Common::FS::YuzuPath::SDMCDir, ui->sdmc_directory_edit->text().toStdString()); + Common::FS::SetYuzuPath(Common::FS::YuzuPath::ShaderDir, + ui->shader_directory_edit->text().toStdString()); Common::FS::SetYuzuPath(Common::FS::YuzuPath::DumpDir, ui->dump_path_edit->text().toStdString()); Common::FS::SetYuzuPath(Common::FS::YuzuPath::LoadDir, @@ -95,6 +101,9 @@ void ConfigureFilesystem::SetDirectory(DirectoryTarget target, QLineEdit* edit) case DirectoryTarget::SD: caption = tr("Select Emulated SD Directory..."); break; + case DirectoryTarget::Shader: + caption = tr("Select Shader Directory..."); + break; case DirectoryTarget::Gamecard: caption = tr("Select Gamecard Path..."); break; diff --git a/src/yuzu/configuration/configure_filesystem.h b/src/yuzu/configuration/configure_filesystem.h index 31d2f1d56d..c976498d95 100644 --- a/src/yuzu/configuration/configure_filesystem.h +++ b/src/yuzu/configuration/configure_filesystem.h @@ -30,6 +30,7 @@ private: enum class DirectoryTarget { NAND, SD, + Shader, Gamecard, Dump, Load, diff --git a/src/yuzu/configuration/configure_filesystem.ui b/src/yuzu/configuration/configure_filesystem.ui index 2f6030b5c4..e8f388dfdf 100644 --- a/src/yuzu/configuration/configure_filesystem.ui +++ b/src/yuzu/configuration/configure_filesystem.ui @@ -25,40 +25,6 @@ Storage Directories - - - - NAND - - - - - - - ... - - - - - - - - - - - - - SD Card - - - - - - - ... - - - @@ -75,6 +41,57 @@ + + + + NAND + + + + + + + SD Card + + + + + + + + + + ... + + + + + + + ... + + + + + + + + + + Shaders + + + + + + + + + + ... + + +