#include "stdafx.h" #include "pad_config.h" #include "Emu/System.h" cfg_input::cfg_input() : cfg_name(fs::get_config_dir() + "/config_input.yml") { } bool cfg_input::load(const std::string& title_id) { cfg_name = Emulator::GetCustomInputConfigPath(title_id); if (!fs::is_file(cfg_name)) { cfg_name = fs::get_config_dir() + "/config_input.yml"; } if (fs::file cfg_file{ cfg_name, fs::read }) { return from_string(cfg_file.to_string()); } else { // Add keyboard by default player[0]->handler.from_string(fmt::format("%s", pad_handler::keyboard)); player[0]->device.from_string(pad::keyboard_device_name.data()); } return false; } void cfg_input::save(const std::string& title_id) { if (title_id.empty()) { cfg_name = fs::get_config_dir() + "/config_input.yml"; } else { cfg_name = Emulator::GetCustomInputConfigPath(title_id); } fs::file(cfg_name, fs::rewrite).write(to_string()); } bool pad_config::exist() const { return fs::is_file(cfg_name); } bool pad_config::load() { if (fs::file cfg_file{ cfg_name, fs::read }) { return from_string(cfg_file.to_string()); } return false; } void pad_config::save() const { fs::file(cfg_name, fs::rewrite).write(to_string()); }