From 15a65caaa1e26e2ac2e559dfef8cbe214ab44c37 Mon Sep 17 00:00:00 2001 From: Oliver Hamlet Date: Tue, 8 Nov 2016 18:09:12 +0000 Subject: [PATCH] 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. --- src/backend/app/loot_settings.cpp | 10 +++++++++- src/backend/game/game_settings.cpp | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/backend/app/loot_settings.cpp b/src/backend/app/loot_settings.cpp index 817dc583..ad69dd71 100644 --- a/src/backend/app/loot_settings.cpp +++ b/src/backend/app/loot_settings.cpp @@ -28,6 +28,7 @@ #include +#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() == "SkyrimSE" && node["folder"].as() == "SkyrimSE") { + node["type"] = GameSettings(GameType::tes5se).FolderName(); + node["folder"] = GameSettings(GameType::tes5se).FolderName(); + + boost::filesystem::rename(LootPaths::getLootDataPath() / "SkyrimSE", LootPaths::getLootDataPath() / node["folder"].as()); + } + GameSettings settings(node.as()); if (!yaml["Games"]) { diff --git a/src/backend/game/game_settings.cpp b/src/backend/game/game_settings.cpp index d8fa5e8e..cac4d7c1 100644 --- a/src/backend/game/game_settings.cpp +++ b/src/backend/game/game_settings.cpp @@ -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) {