diff options
author | lat9nq <22451773+lat9nq@users.noreply.github.com> | 2021-05-25 20:06:06 -0400 |
---|---|---|
committer | lat9nq <22451773+lat9nq@users.noreply.github.com> | 2021-05-25 20:10:41 -0400 |
commit | cfb9bcbe422e02a5274b5edbefdbfc6c026f185a (patch) | |
tree | d16b8f9414ebe503cd757b3fe2f1f37683ca6bab /src/yuzu/configuration/configure_per_game.cpp | |
parent | 065867e2c24e9856c360fc2d6b9a86c92aedc43e (diff) |
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.
Diffstat (limited to 'src/yuzu/configuration/configure_per_game.cpp')
-rw-r--r-- | src/yuzu/configuration/configure_per_game.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
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 <algorithm> #include <memory> +#include <string> #include <utility> #include <QCheckBox> @@ -14,6 +15,7 @@ #include <QTimer> #include <QTreeView> +#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<Ui::ConfigurePerGame>()), title_id(title_id) { - game_config = std::make_unique<Config>(fmt::format("{:016X}", title_id), - Config::ConfigType::PerGameConfig); + if (title_id == 0) { + game_config = std::make_unique<Config>(Common::FS::GetFilename(file_name), + Config::ConfigType::PerGameConfig); + } else { + game_config = std::make_unique<Config>(fmt::format("{:016X}", title_id), + Config::ConfigType::PerGameConfig); + } Settings::SetConfiguringGlobal(false); |