From cfb9bcbe422e02a5274b5edbefdbfc6c026f185a Mon Sep 17 00:00:00 2001 From: lat9nq <22451773+lat9nq@users.noreply.github.com> Date: Tue, 25 May 2021 20:06:06 -0400 Subject: yuzu qt: Handle per-game configs for title id 0 Currently with programs that have a 0 title id, yuzu loads the custom configuration 0000000000000000.ini for per-game configs. This is not ideal since many homebrews share this id. Instead for these programs, we load a config that is simply the file name and `.ini` appended to it. --- src/yuzu/configuration/configure_per_game.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'src/yuzu/configuration/configure_per_game.cpp') diff --git a/src/yuzu/configuration/configure_per_game.cpp b/src/yuzu/configuration/configure_per_game.cpp index 3e13bd438..a7b7698f2 100644 --- a/src/yuzu/configuration/configure_per_game.cpp +++ b/src/yuzu/configuration/configure_per_game.cpp @@ -4,6 +4,7 @@ #include #include +#include #include #include @@ -14,6 +15,7 @@ #include #include +#include "common/fs/path_util.h" #include "core/core.h" #include "core/file_sys/control_metadata.h" #include "core/file_sys/patch_manager.h" @@ -26,10 +28,15 @@ #include "yuzu/uisettings.h" #include "yuzu/util/util.h" -ConfigurePerGame::ConfigurePerGame(QWidget* parent, u64 title_id) +ConfigurePerGame::ConfigurePerGame(QWidget* parent, u64 title_id, std::string_view file_name) : QDialog(parent), ui(std::make_unique()), title_id(title_id) { - game_config = std::make_unique(fmt::format("{:016X}", title_id), - Config::ConfigType::PerGameConfig); + if (title_id == 0) { + game_config = std::make_unique(Common::FS::GetFilename(file_name), + Config::ConfigType::PerGameConfig); + } else { + game_config = std::make_unique(fmt::format("{:016X}", title_id), + Config::ConfigType::PerGameConfig); + } Settings::SetConfiguringGlobal(false); -- cgit v1.2.3 From bc38d4c81baba258ecef3a9ce9d76c4b6a4c5429 Mon Sep 17 00:00:00 2001 From: lat9nq <22451773+lat9nq@users.noreply.github.com> Date: Tue, 25 May 2021 21:39:57 -0400 Subject: yuzu qt: Restore const qualifiers This addresses review comments. Co-authored-by: LC --- src/yuzu/configuration/configure_per_game.cpp | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'src/yuzu/configuration/configure_per_game.cpp') diff --git a/src/yuzu/configuration/configure_per_game.cpp b/src/yuzu/configuration/configure_per_game.cpp index a7b7698f2..007d93c77 100644 --- a/src/yuzu/configuration/configure_per_game.cpp +++ b/src/yuzu/configuration/configure_per_game.cpp @@ -30,13 +30,9 @@ ConfigurePerGame::ConfigurePerGame(QWidget* parent, u64 title_id, std::string_view file_name) : QDialog(parent), ui(std::make_unique()), title_id(title_id) { - if (title_id == 0) { - game_config = std::make_unique(Common::FS::GetFilename(file_name), - Config::ConfigType::PerGameConfig); - } else { - game_config = std::make_unique(fmt::format("{:016X}", title_id), - Config::ConfigType::PerGameConfig); - } + const auto config_file_name = + title_id == 0 ? Common::FS::GetFilename(file_name) : fmt::format("{:016X}", title_id); + game_config = std::make_unique(config_file_name, Config::ConfigType::PerGameConfig); Settings::SetConfiguringGlobal(false); -- cgit v1.2.3