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.
This commit is contained in:
lat9nq 2022-03-15 01:05:55 -04:00
parent cd07a43724
commit 24d51e1c92
3 changed files with 27 additions and 10 deletions

View file

@ -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();
}