diff --git a/Compression.BSA.Test/BSATests.cs b/Compression.BSA.Test/BSATests.cs index 8e2d2916..8f383e5d 100644 --- a/Compression.BSA.Test/BSATests.cs +++ b/Compression.BSA.Test/BSATests.cs @@ -73,7 +73,7 @@ namespace Compression.BSA.Test var state = new NexusDownloader.State { ModID = info.Item2.ToString(), - GameName = GameRegistry.Games[info.Item1].NexusName, + GameName = info.Item1.MetaData().NexusName, FileID = file.file_id.ToString() }; state.Download(src); diff --git a/Wabbajack.Lib/NexusApi/NexusApi.cs b/Wabbajack.Lib/NexusApi/NexusApi.cs index 757d13d7..5cc3dafd 100644 --- a/Wabbajack.Lib/NexusApi/NexusApi.cs +++ b/Wabbajack.Lib/NexusApi/NexusApi.cs @@ -322,13 +322,13 @@ namespace Wabbajack.Lib.NexusApi public GetModFilesResponse GetModFiles(Game game, int modid) { - var url = $"https://api.nexusmods.com/v1/games/{GameRegistry.Games[game].NexusName}/mods/{modid}/files.json"; + var url = $"https://api.nexusmods.com/v1/games/{game.MetaData().NexusName}/mods/{modid}/files.json"; return GetCached(url); } public List GetModInfoFromMD5(Game game, string md5Hash) { - var url = $"https://api.nexusmods.com/v1/games/{GameRegistry.Games[game].NexusName}/mods/md5_search/{md5Hash}.json"; + var url = $"https://api.nexusmods.com/v1/games/{game.MetaData().NexusName}/mods/md5_search/{md5Hash}.json"; return Get>(url); } diff --git a/Wabbajack.Lib/NexusApi/NexusApiUtils.cs b/Wabbajack.Lib/NexusApi/NexusApiUtils.cs index 29915564..f29959e4 100644 --- a/Wabbajack.Lib/NexusApi/NexusApiUtils.cs +++ b/Wabbajack.Lib/NexusApi/NexusApiUtils.cs @@ -14,7 +14,7 @@ namespace Wabbajack.Lib.NexusApi public static string GetModURL(Game game, string argModId) { - return $"https://nexusmods.com/{GameRegistry.Games[game].NexusName}/mods/{argModId}"; + return $"https://nexusmods.com/{game.MetaData().NexusName}/mods/{argModId}"; } public static string FixupSummary(string argSummary) diff --git a/Wabbajack.Lib/Validation/ValidateModlist.cs b/Wabbajack.Lib/Validation/ValidateModlist.cs index 51ff03de..5233707f 100644 --- a/Wabbajack.Lib/Validation/ValidateModlist.cs +++ b/Wabbajack.Lib/Validation/ValidateModlist.cs @@ -140,7 +140,7 @@ namespace Wabbajack.Lib.Validation } }); - var nexus = NexusApi.NexusApiUtils.ConvertGameName(GameRegistry.Games[modlist.GameType].NexusName); + var nexus = NexusApi.NexusApiUtils.ConvertGameName(modlist.GameType.MetaData().NexusName); modlist.Archives .Where(a => a.State is NexusDownloader.State) diff --git a/Wabbajack.Lib/VortexCompiler.cs b/Wabbajack.Lib/VortexCompiler.cs index 9031a699..8ce00592 100644 --- a/Wabbajack.Lib/VortexCompiler.cs +++ b/Wabbajack.Lib/VortexCompiler.cs @@ -50,7 +50,7 @@ namespace Wabbajack.Lib Game = game; GamePath = gamePath; - GameName = GameRegistry.Games[game].NexusName; + GameName = game.MetaData().NexusName; VortexFolder = vortexFolder; DownloadsFolder = downloadsFolder; StagingFolder = stagingFolder; @@ -261,7 +261,7 @@ namespace Wabbajack.Lib Directory.EnumerateFiles(GamePath, "vortex.deployment.json", SearchOption.AllDirectories) .Where(File.Exists) .Do(f => deploymentFile = f); - var currentGame = GameRegistry.Games[Game]; + var currentGame = Game.MetaData(); if (currentGame.AdditionalFolders != null && currentGame.AdditionalFolders.Count != 0) currentGame.AdditionalFolders.Do(f => Directory.EnumerateFiles(f, "vortex.deployment.json", SearchOption.AllDirectories) .Where(File.Exists) @@ -300,7 +300,7 @@ namespace Wabbajack.Lib /// private void AddExternalFolder() { - var currentGame = GameRegistry.Games[Game]; + var currentGame = Game.MetaData(); if (currentGame.AdditionalFolders == null || currentGame.AdditionalFolders.Count == 0) return; currentGame.AdditionalFolders.Do(f => { @@ -472,13 +472,13 @@ namespace Wabbajack.Lib public static string RetrieveDownloadLocation(Game game, string vortexFolderPath = null) { vortexFolderPath = vortexFolderPath ?? TypicalVortexFolder(); - return Path.Combine(vortexFolderPath, "downloads", GameRegistry.Games[game].NexusName); + return Path.Combine(vortexFolderPath, "downloads", game.MetaData().NexusName); } public static string RetrieveStagingLocation(Game game, string vortexFolderPath = null) { vortexFolderPath = vortexFolderPath ?? TypicalVortexFolder(); - var gameName = GameRegistry.Games[game].NexusName; + var gameName = game.MetaData().NexusName; return Path.Combine(vortexFolderPath, gameName, "mods"); } @@ -508,7 +508,7 @@ namespace Wabbajack.Lib public static bool IsActiveVortexGame(Game g) { - return GameRegistry.Games[g].SupportedModManager == ModManager.Vortex && !GameRegistry.Games[g].Disabled; + return g.MetaData().SupportedModManager == ModManager.Vortex && !GameRegistry.Games[g].Disabled; } } diff --git a/Wabbajack.Lib/VortexInstaller.cs b/Wabbajack.Lib/VortexInstaller.cs index 8b276874..93a35335 100644 --- a/Wabbajack.Lib/VortexInstaller.cs +++ b/Wabbajack.Lib/VortexInstaller.cs @@ -29,7 +29,7 @@ namespace Wabbajack.Lib IgnoreMissingFiles = true; #endif - GameInfo = GameRegistry.Games[ModList.GameType]; + GameInfo = ModList.GameType.MetaData(); } protected override bool _Begin() diff --git a/Wabbajack.Test/EndToEndTests.cs b/Wabbajack.Test/EndToEndTests.cs index 7395403d..91c5df2c 100644 --- a/Wabbajack.Test/EndToEndTests.cs +++ b/Wabbajack.Test/EndToEndTests.cs @@ -112,7 +112,7 @@ namespace Wabbajack.Test new List { "[General]", - $"gameName={GameRegistry.Games[game].MO2ArchiveName}", + $"gameName={game.MetaData().MO2ArchiveName}", $"modID={modid}", $"fileID={file.file_id}" }); diff --git a/Wabbajack.Test/TestUtils.cs b/Wabbajack.Test/TestUtils.cs index 2020a40f..0f68c4f0 100644 --- a/Wabbajack.Test/TestUtils.cs +++ b/Wabbajack.Test/TestUtils.cs @@ -46,7 +46,7 @@ namespace Wabbajack.Test File.WriteAllLines(Path.Combine(MO2Folder, "ModOrganizer.ini"), new [] { "[General]", - $"gameName={GameRegistry.Games[Game].MO2Name}", + $"gameName={Game.MetaData().MO2Name}", $"gamePath={GameFolder.Replace("\\", "\\\\")}", $"download_directory={DownloadsFolder}" });