Change Skyrim SE's LOOT game folder

To "Skyrim Special Edition", matching the game's folder naming and that
used by other mod utilities, for simpler interoperability. Also upgrade
existing SkyrimSE folders gracefully.
This commit is contained in:
Oliver Hamlet
2016-11-08 18:09:12 +00:00
parent 779e268d71
commit 15a65caaa1
2 changed files with 10 additions and 2 deletions
+9 -1
View File
@@ -28,6 +28,7 @@
#include <boost/filesystem/fstream.hpp>
#include "backend/app/loot_paths.h"
#include "loot/loot_version.h"
using std::lock_guard;
@@ -94,7 +95,7 @@ void LootSettings::load(YAML::Node& settings) {
gameSettings_.push_back(GameSettings(GameType::tes5));
if (find(begin(gameSettings_), end(gameSettings_), GameSettings(GameType::tes5se)) == end(gameSettings_))
gameSettings_.push_back(GameSettings(GameType::tes5se));
gameSettings_.push_back(GameSettings(GameType::tes5se));
if (find(begin(gameSettings_), end(gameSettings_), GameSettings(GameType::fo3)) == end(gameSettings_))
gameSettings_.push_back(GameSettings(GameType::fo3));
@@ -272,6 +273,13 @@ void LootSettings::upgradeYaml(YAML::Node& yaml) {
YAML::Node validGames;
for (auto node : yaml["games"]) {
try {
if (node["type"].as<string>() == "SkyrimSE" && node["folder"].as<string>() == "SkyrimSE") {
node["type"] = GameSettings(GameType::tes5se).FolderName();
node["folder"] = GameSettings(GameType::tes5se).FolderName();
boost::filesystem::rename(LootPaths::getLootDataPath() / "SkyrimSE", LootPaths::getLootDataPath() / node["folder"].as<string>());
}
GameSettings settings(node.as<GameSettings>());
if (!yaml["Games"]) {
+1 -1
View File
@@ -58,7 +58,7 @@ GameSettings::GameSettings(const GameType gameCode, const std::string& folder) :
} else if (Type() == GameType::tes5se) {
name_ = "TES V: Skyrim Special Edition";
registryKey_ = "Software\\Bethesda Softworks\\Skyrim Special Edition\\Installed Path";
lootFolderName_ = "SkyrimSE";
lootFolderName_ = "Skyrim Special Edition";
masterFile_ = "Skyrim.esm";
repositoryURL_ = "https://github.com/loot/skyrimse.git";
} else if (Type() == GameType::fo3) {