diff options
author | lat9nq <lat9nq@gmail.com> | 2022-03-15 01:05:55 -0400 |
---|---|---|
committer | lat9nq <lat9nq@gmail.com> | 2022-03-15 03:48:40 -0400 |
commit | 24d51e1c925896e18e4536916b8c80f0b41e54fb (patch) | |
tree | f9fa18cfbfbeb28484ac257f11de3ab836883e33 /src/yuzu_cmd/config.cpp | |
parent | cd07a43724d55617988ad75085847345a837a372 (diff) |
yuzu_cmd: Allow user to specify config file location
Adds an option `-c` or `--config` with one required argument that allows
the user to specify to where the config file is located. Useful for
scripts that run specific games with different preferences for settings.
Diffstat (limited to 'src/yuzu_cmd/config.cpp')
-rw-r--r-- | src/yuzu_cmd/config.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/yuzu_cmd/config.cpp b/src/yuzu_cmd/config.cpp index b74411c84..131bc2201 100644 --- a/src/yuzu_cmd/config.cpp +++ b/src/yuzu_cmd/config.cpp @@ -3,6 +3,7 @@ // Refer to the license.txt file included. #include <memory> +#include <optional> #include <sstream> // Ignore -Wimplicit-fallthrough due to https://github.com/libsdl-org/SDL/issues/4307 @@ -29,11 +30,12 @@ namespace FS = Common::FS; -Config::Config() { - // TODO: Don't hardcode the path; let the frontend decide where to put the config files. - sdl2_config_loc = FS::GetYuzuPath(FS::YuzuPath::ConfigDir) / "sdl2-config.ini"; - sdl2_config = std::make_unique<INIReader>(FS::PathToUTF8String(sdl2_config_loc)); +const std::filesystem::path default_config_path = + FS::GetYuzuPath(FS::YuzuPath::ConfigDir) / "sdl2-config.ini"; +Config::Config(std::optional<std::filesystem::path> config_path) + : sdl2_config_loc{config_path.value_or(default_config_path)}, + sdl2_config{std::make_unique<INIReader>(FS::PathToUTF8String(sdl2_config_loc))} { Reload(); } |