|
|
|
@ -668,23 +668,27 @@ void KeyManager::WriteKeyToFile(KeyCategory category, std::string_view keyname, |
|
|
|
const std::array<u8, Size>& key) { |
|
|
|
const std::string yuzu_keys_dir = FileUtil::GetUserPath(FileUtil::UserPath::KeysDir); |
|
|
|
std::string filename = "title.keys_autogenerated"; |
|
|
|
if (category == KeyCategory::Standard) |
|
|
|
if (category == KeyCategory::Standard) { |
|
|
|
filename = dev_mode ? "dev.keys_autogenerated" : "prod.keys_autogenerated"; |
|
|
|
else if (category == KeyCategory::Console) |
|
|
|
} else if (category == KeyCategory::Console) { |
|
|
|
filename = "console.keys_autogenerated"; |
|
|
|
const auto add_info_text = !FileUtil::Exists(yuzu_keys_dir + DIR_SEP + filename); |
|
|
|
FileUtil::CreateFullPath(yuzu_keys_dir + DIR_SEP + filename); |
|
|
|
std::ofstream file(yuzu_keys_dir + DIR_SEP + filename, std::ios::app); |
|
|
|
if (!file.is_open()) |
|
|
|
} |
|
|
|
|
|
|
|
const auto path = yuzu_keys_dir + DIR_SEP + filename; |
|
|
|
const auto add_info_text = !FileUtil::Exists(path); |
|
|
|
FileUtil::CreateFullPath(path); |
|
|
|
FileUtil::IOFile file{path, "a"}; |
|
|
|
if (!file.IsOpen()) { |
|
|
|
return; |
|
|
|
} |
|
|
|
if (add_info_text) { |
|
|
|
file |
|
|
|
<< "# This file is autogenerated by Yuzu\n" |
|
|
|
<< "# It serves to store keys that were automatically generated from the normal keys\n" |
|
|
|
<< "# If you are experiencing issues involving keys, it may help to delete this file\n"; |
|
|
|
file.WriteString( |
|
|
|
"# This file is autogenerated by Yuzu\n" |
|
|
|
"# It serves to store keys that were automatically generated from the normal keys\n" |
|
|
|
"# If you are experiencing issues involving keys, it may help to delete this file\n"); |
|
|
|
} |
|
|
|
|
|
|
|
file << fmt::format("\n{} = {}", keyname, Common::HexToString(key)); |
|
|
|
file.WriteString(fmt::format("\n{} = {}", keyname, Common::HexToString(key))); |
|
|
|
AttemptLoadKeyFile(yuzu_keys_dir, yuzu_keys_dir, filename, category == KeyCategory::Title); |
|
|
|
} |
|
|
|
|
|
|
|
|