From b571c2682d768d66217358c7a0b3528d6a0679ba Mon Sep 17 00:00:00 2001 From: Timothy Baldridge Date: Mon, 9 Dec 2019 06:18:02 -0700 Subject: [PATCH 1/5] Hide the startup time behind a splash screen --- Branding/PNGs/Wabba_Mouth_Small.png | Bin 0 -> 59068 bytes Wabbajack/Resources/Wabba_Mouth_Small.png | Bin 0 -> 59068 bytes Wabbajack/Wabbajack.csproj | 3 +++ 3 files changed, 3 insertions(+) create mode 100644 Branding/PNGs/Wabba_Mouth_Small.png create mode 100644 Wabbajack/Resources/Wabba_Mouth_Small.png diff --git a/Branding/PNGs/Wabba_Mouth_Small.png b/Branding/PNGs/Wabba_Mouth_Small.png new file mode 100644 index 0000000000000000000000000000000000000000..88c5c6d0547ed00e3fe1261723a76493da9ffe98 GIT binary patch literal 59068 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≈!n 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≈!n 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 + + + \ No newline at end of file From ba556be9942925935460e9cc44c7ffc6de5c5ce0 Mon Sep 17 00:00:00 2001 From: Timothy Baldridge Date: Mon, 9 Dec 2019 15:38:26 -0700 Subject: [PATCH 2/5] Every steam install has the root steam folder as a implicit game location --- Wabbajack.Common/GameMetaData.cs | 5 +++-- Wabbajack.Common/SteamHandler.cs | 3 +++ Wabbajack.Lib/MO2Installer.cs | 4 ++-- Wabbajack.Lib/VortexInstaller.cs | 2 +- 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/Wabbajack.Common/GameMetaData.cs b/Wabbajack.Common/GameMetaData.cs index 11f24dcb..1a315d99 100644 --- a/Wabbajack.Common/GameMetaData.cs +++ b/Wabbajack.Common/GameMetaData.cs @@ -67,12 +67,13 @@ namespace Wabbajack.Common public List RequiredFiles { get; internal set; } public bool Disabled { get; internal set; } - public string GameLocation(bool steam) + public string GameLocation() { if (Consts.TestMode) return Directory.GetCurrentDirectory(); - return steam ? SteamHandler.Instance.Games.FirstOrDefault(g => g.Game == Game)?.InstallDir : GOGHandler.Instance.Games.FirstOrDefault(g => g.Game == Game)?.Path; + return SteamHandler.Instance.Games.FirstOrDefault(g => g.Game == Game)?.InstallDir ?? + GOGHandler.Instance.Games.FirstOrDefault(g => g.Game == Game)?.Path; } } diff --git a/Wabbajack.Common/SteamHandler.cs b/Wabbajack.Common/SteamHandler.cs index ae187bfb..35934868 100644 --- a/Wabbajack.Common/SteamHandler.cs +++ b/Wabbajack.Common/SteamHandler.cs @@ -95,6 +95,9 @@ namespace Wabbajack.Common paths.Add(s); }); + // Default path in the Steam folder isn't in the configs + paths.Add(Path.Combine(SteamPath, "steamapps")); + InstallFolders = paths; } diff --git a/Wabbajack.Lib/MO2Installer.cs b/Wabbajack.Lib/MO2Installer.cs index f55e4d84..e50e385b 100644 --- a/Wabbajack.Lib/MO2Installer.cs +++ b/Wabbajack.Lib/MO2Installer.cs @@ -38,10 +38,10 @@ namespace Wabbajack.Lib protected override bool _Begin() { ConfigureProcessor(18, RecommendQueueSize()); - var game = GameRegistry.Games[ModList.GameType]; + var game = ModList.GameType.MetaData(); if (GameFolder == null) - GameFolder = game.GameLocation(SteamHandler.Instance.Games.Any(g => g.Game == game.Game)); + GameFolder = game.GameLocation(); if (GameFolder == null) { diff --git a/Wabbajack.Lib/VortexInstaller.cs b/Wabbajack.Lib/VortexInstaller.cs index 98e933f9..8b276874 100644 --- a/Wabbajack.Lib/VortexInstaller.cs +++ b/Wabbajack.Lib/VortexInstaller.cs @@ -85,7 +85,7 @@ namespace Wabbajack.Lib var manualFilesDir = Path.Combine(OutputFolder, Consts.ManualGameFilesDir); - var gameFolder = GameInfo.GameLocation(SteamHandler.Instance.Games.Any(g => g.Game == GameInfo.Game)); + var gameFolder = GameInfo.GameLocation(); Info($"Copying files from {manualFilesDir} " + $"to the game folder at {gameFolder}"); From df4dcfa761f6d43429151553a7c15e56c5d01a88 Mon Sep 17 00:00:00 2001 From: Timothy Baldridge Date: Mon, 9 Dec 2019 15:46:03 -0700 Subject: [PATCH 3/5] Use extension methods to get game metadata --- Compression.BSA.Test/BSATests.cs | 2 +- Wabbajack.Lib/NexusApi/NexusApi.cs | 4 ++-- Wabbajack.Lib/NexusApi/NexusApiUtils.cs | 2 +- Wabbajack.Lib/Validation/ValidateModlist.cs | 2 +- Wabbajack.Lib/VortexCompiler.cs | 12 ++++++------ Wabbajack.Lib/VortexInstaller.cs | 2 +- Wabbajack.Test/EndToEndTests.cs | 2 +- Wabbajack.Test/TestUtils.cs | 2 +- 8 files changed, 14 insertions(+), 14 deletions(-) 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}" }); From ed41308f12f87aa68caee54751031a5f77f10dd1 Mon Sep 17 00:00:00 2001 From: Timothy Baldridge Date: Mon, 9 Dec 2019 16:52:17 -0700 Subject: [PATCH 4/5] Can now "download" archives from the game folder. This is useful if installers need to repack game files, they can source the files from the main game archive and then build a new BSA modifying/adding files as needed --- .../Downloaders/DownloadDispatcher.cs | 1 + .../Downloaders/GameFileSourceDownloader.cs | 83 +++++++++++++++++++ Wabbajack.Lib/Wabbajack.Lib.csproj | 1 + Wabbajack.Test/DownloaderTests.cs | 28 ++++++- 4 files changed, 112 insertions(+), 1 deletion(-) create mode 100644 Wabbajack.Lib/Downloaders/GameFileSourceDownloader.cs diff --git a/Wabbajack.Lib/Downloaders/DownloadDispatcher.cs b/Wabbajack.Lib/Downloaders/DownloadDispatcher.cs index c1e7c229..e7a016ea 100644 --- a/Wabbajack.Lib/Downloaders/DownloadDispatcher.cs +++ b/Wabbajack.Lib/Downloaders/DownloadDispatcher.cs @@ -9,6 +9,7 @@ namespace Wabbajack.Lib.Downloaders { public static readonly List Downloaders = new List() { + new GameFileSourceDownloader(), new MegaDownloader(), new DropboxDownloader(), new GoogleDriveDownloader(), diff --git a/Wabbajack.Lib/Downloaders/GameFileSourceDownloader.cs b/Wabbajack.Lib/Downloaders/GameFileSourceDownloader.cs new file mode 100644 index 00000000..dea6961d --- /dev/null +++ b/Wabbajack.Lib/Downloaders/GameFileSourceDownloader.cs @@ -0,0 +1,83 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Alphaleonis.Win32.Filesystem; +using Wabbajack.Common; +using Wabbajack.Lib.Validation; +using File = Alphaleonis.Win32.Filesystem.File; +using Game = Wabbajack.Common.Game; + +namespace Wabbajack.Lib.Downloaders +{ + public class GameFileSourceDownloader : IDownloader + { + public AbstractDownloadState GetDownloaderState(dynamic archiveINI) + { + var gameName = (string)archiveINI?.General?.gameName; + var gameFile = (string)archiveINI?.General?.gameFile; + var game = GameRegistry.GetByMO2ArchiveName(gameName); + if (gameFile == null || gameFile == null || game == null) + return null; + + var path = game.GameLocation(); + var filePath = Path.Combine(path, gameFile); + + if (!File.Exists(filePath)) + return null; + + var hash = filePath.FileHashCached(); + + return new State + { + Game = GameRegistry.GetByMO2ArchiveName(gameName).Game, + GameFile = gameFile, + Hash = hash, + }; + } + + public void Prepare() + { + } + + public class State : AbstractDownloadState + { + public Game Game { get; set; } + public string GameFile { get; set; } + public string Hash { get; set; } + + internal string SourcePath => Path.Combine(Game.MetaData().GameLocation(), GameFile); + + public override bool IsWhitelisted(ServerWhitelist whitelist) + { + return true; + } + + public override void Download(Archive a, string destination) + { + using(var src = File.OpenRead(SourcePath)) + using (var dest = File.OpenWrite(destination)) + { + var size = new FileInfo(SourcePath).Length; + src.CopyToWithStatus(size, dest, "Copying from Game folder"); + } + } + + public override bool Verify() + { + return File.Exists(SourcePath) && SourcePath.FileHash() == Hash; + } + + public override IDownloader GetDownloader() + { + return DownloadDispatcher.GetInstance(); + } + + public override string GetReportEntry(Archive a) + { + return $"* Game File {Game} - {GameFile}"; + } + } + } +} diff --git a/Wabbajack.Lib/Wabbajack.Lib.csproj b/Wabbajack.Lib/Wabbajack.Lib.csproj index ce951b6c..de25b312 100644 --- a/Wabbajack.Lib/Wabbajack.Lib.csproj +++ b/Wabbajack.Lib/Wabbajack.Lib.csproj @@ -116,6 +116,7 @@ + diff --git a/Wabbajack.Test/DownloaderTests.cs b/Wabbajack.Test/DownloaderTests.cs index 0480f5a6..0a52f563 100644 --- a/Wabbajack.Test/DownloaderTests.cs +++ b/Wabbajack.Test/DownloaderTests.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Reactive.Disposables; using System.Reactive.Linq; +using Alphaleonis.Win32.Filesystem; using Microsoft.VisualStudio.TestTools.UnitTesting; using Wabbajack.Common; using Wabbajack.Common.StatusFeed; @@ -11,6 +12,7 @@ using Wabbajack.Lib.LibCefHelpers; using Wabbajack.Lib.NexusApi; using Wabbajack.Lib.Validation; using File = Alphaleonis.Win32.Filesystem.File; +using Game = Wabbajack.Common.Game; namespace Wabbajack.Test { @@ -298,8 +300,32 @@ namespace Wabbajack.Test Assert.AreEqual("eSIyd+KOG3s=", Utils.FileHash(filename)); Assert.AreEqual(File.ReadAllText(filename), "Cheese for Everyone!"); - } + + [TestMethod] + public void GameFileSourceDownload() + { + DownloadDispatcher.GetInstance().Prepare(); + var ini = $@"[General] + gameName={Game.SkyrimSpecialEdition.MetaData().MO2ArchiveName} + gameFile=Data/Update.esm"; + + var state = (AbstractDownloadState)DownloadDispatcher.ResolveArchive(ini.LoadIniString()); + + Assert.IsNotNull(state); + + var converted = state.ViaJSON(); + Assert.IsTrue(converted.Verify()); + var filename = Guid.NewGuid().ToString(); + + Assert.IsTrue(converted.IsWhitelisted(new ServerWhitelist { AllowedPrefixes = new List() })); + + converted.Download(new Archive { Name = "Update.esm" }, filename); + + Assert.AreEqual("/DLG/LjdGXI=", Utils.FileHash(filename)); + CollectionAssert.AreEqual(File.ReadAllBytes(Path.Combine(Game.SkyrimSpecialEdition.MetaData().GameLocation(), "Data/Update.esm")), File.ReadAllBytes(filename)); + } + } From f6e9d672d2184b4fbdc5032d2b6f4c0cc404fb65 Mon Sep 17 00:00:00 2001 From: Timothy Baldridge Date: Tue, 10 Dec 2019 05:26:49 -0700 Subject: [PATCH 5/5] Create .metas automatically for source-from-game files. --- Wabbajack.Common/BSDiff.cs | 2 +- Wabbajack.Common/Utils.cs | 1 + Wabbajack.Lib/CerasConfig.cs | 2 +- .../Downloaders/GameFileSourceDownloader.cs | 9 ++-- Wabbajack.Lib/MO2Compiler.cs | 53 ++++++++++++++++++- 5 files changed, 60 insertions(+), 7 deletions(-) diff --git a/Wabbajack.Common/BSDiff.cs b/Wabbajack.Common/BSDiff.cs index d0352127..e17f9184 100644 --- a/Wabbajack.Common/BSDiff.cs +++ b/Wabbajack.Common/BSDiff.cs @@ -677,4 +677,4 @@ namespace Wabbajack.Common return a < b ? b < c ? b : a < c ? c : a : b > c ? b : a > c ? c : a; } } -} \ No newline at end of file +} diff --git a/Wabbajack.Common/Utils.cs b/Wabbajack.Common/Utils.cs index b9a5a2d1..4a227f8c 100644 --- a/Wabbajack.Common/Utils.cs +++ b/Wabbajack.Common/Utils.cs @@ -665,6 +665,7 @@ namespace Wabbajack.Common using (var f = File.OpenWrite(tmpName)) { + Status("Creating Patch"); BSDiff.Create(a, b, f); } diff --git a/Wabbajack.Lib/CerasConfig.cs b/Wabbajack.Lib/CerasConfig.cs index 1b08961f..290bc843 100644 --- a/Wabbajack.Lib/CerasConfig.cs +++ b/Wabbajack.Lib/CerasConfig.cs @@ -24,7 +24,7 @@ namespace Wabbajack.Lib typeof(BSAStateObject), typeof(BSAFileStateObject), typeof(BA2StateObject), typeof(BA2DX10EntryState), typeof(BA2FileEntryState), typeof(MediaFireDownloader.State), typeof(ArchiveMeta), typeof(PropertyFile), typeof(SteamMeta), typeof(SteamWorkshopDownloader), typeof(SteamWorkshopDownloader.State), - typeof(LoversLabDownloader.State) + typeof(LoversLabDownloader.State), typeof(GameFileSourceDownloader.State) } }; diff --git a/Wabbajack.Lib/Downloaders/GameFileSourceDownloader.cs b/Wabbajack.Lib/Downloaders/GameFileSourceDownloader.cs index dea6961d..430371dc 100644 --- a/Wabbajack.Lib/Downloaders/GameFileSourceDownloader.cs +++ b/Wabbajack.Lib/Downloaders/GameFileSourceDownloader.cs @@ -17,10 +17,13 @@ namespace Wabbajack.Lib.Downloaders { var gameName = (string)archiveINI?.General?.gameName; var gameFile = (string)archiveINI?.General?.gameFile; - var game = GameRegistry.GetByMO2ArchiveName(gameName); - if (gameFile == null || gameFile == null || game == null) + + if (gameFile == null || gameFile == null) return null; + var game = GameRegistry.GetByMO2ArchiveName(gameName); + if (game == null) return null; + var path = game.GameLocation(); var filePath = Path.Combine(path, gameFile); @@ -66,7 +69,7 @@ namespace Wabbajack.Lib.Downloaders public override bool Verify() { - return File.Exists(SourcePath) && SourcePath.FileHash() == Hash; + return File.Exists(SourcePath) && SourcePath.FileHashCached() == Hash; } public override IDownloader GetDownloader() diff --git a/Wabbajack.Lib/MO2Compiler.cs b/Wabbajack.Lib/MO2Compiler.cs index 952c2e25..a200c24d 100644 --- a/Wabbajack.Lib/MO2Compiler.cs +++ b/Wabbajack.Lib/MO2Compiler.cs @@ -5,12 +5,15 @@ using System.Collections.Generic; using System.IO; using System.Linq; using System.Threading.Tasks; +using Alphaleonis.Win32.Filesystem; using Wabbajack.Common; using Wabbajack.Lib.CompilationSteps; using Wabbajack.Lib.NexusApi; using Wabbajack.Lib.Validation; using Directory = Alphaleonis.Win32.Filesystem.Directory; using File = Alphaleonis.Win32.Filesystem.File; +using FileInfo = Alphaleonis.Win32.Filesystem.FileInfo; +using Game = Wabbajack.Common.Game; using Path = Alphaleonis.Win32.Filesystem.Path; namespace Wabbajack.Lib @@ -29,6 +32,8 @@ namespace Wabbajack.Lib public override string GamePath { get; } + public GameMetaData CompilingGame { get; set; } + public override string ModListOutputFolder => "output_folder"; public override string ModListOutputFile { get; } @@ -38,6 +43,8 @@ namespace Wabbajack.Lib MO2Folder = mo2Folder; MO2Profile = mo2Profile; MO2Ini = Path.Combine(MO2Folder, "ModOrganizer.ini").LoadIniFile(); + var mo2game = (string)MO2Ini.General.gameName; + CompilingGame = GameRegistry.Games.First(g => g.Value.MO2Name == mo2game).Value; GamePath = ((string)MO2Ini.General.gamePath).Replace("\\\\", "\\"); ModListOutputFile = outputFile; } @@ -72,7 +79,7 @@ namespace Wabbajack.Lib protected override bool _Begin() { - ConfigureProcessor(16); + ConfigureProcessor(18); UpdateTracker.Reset(); UpdateTracker.NextStep("Gathering information"); Info("Looking for other profiles"); @@ -116,6 +123,13 @@ namespace Wabbajack.Lib if (Directory.Exists(ModListOutputFolder)) Utils.DeleteDirectory(ModListOutputFolder); + UpdateTracker.NextStep("Inferring metas for game file downloads"); + InferMetas(); + + UpdateTracker.NextStep("Reindexing downloads after meta inferring"); + VFS.AddRoot(MO2DownloadsFolder); + VFS.WriteToFile(_vfsCacheName); + UpdateTracker.NextStep("Finding Install Files"); Directory.CreateDirectory(ModListOutputFolder); @@ -244,7 +258,7 @@ namespace Wabbajack.Lib ModList = new ModList { - GameType = GameRegistry.Games.Values.First(f => f.MO2Name == MO2Ini.General.gameName).Game, + GameType = CompilingGame.Game, WabbajackVersion = WabbajackVersion, Archives = SelectedArchives.ToList(), ModManager = ModManager.MO2, @@ -275,6 +289,41 @@ namespace Wabbajack.Lib return true; } + private void InferMetas() + { + var to_find = Directory.EnumerateFiles(MO2DownloadsFolder) + .Where(f => !f.EndsWith(".meta") && !f.EndsWith(Consts.HashFileExtension)) + .Where(f => !File.Exists(f + ".meta")) + .ToList(); + + if (to_find.Count == 0) return; + + var games = new[]{CompilingGame}.Concat(GameRegistry.Games.Values.Where(g => g != CompilingGame)); + var game_files = games + .Where(g => g.GameLocation() != null) + .SelectMany(game => Directory.EnumerateFiles(game.GameLocation(), "*", DirectoryEnumerationOptions.Recursive).Select(name => (game, name))) + .GroupBy(f => (Path.GetFileName(f.name), new FileInfo(f.name).Length)) + .ToDictionary(f => f.Key); + + to_find.PMap(Queue, f => + { + var vf = VFS.Index.ByFullPath[f]; + if (!game_files.TryGetValue((Path.GetFileName(f), vf.Size), out var found)) + return; + + var (game, name) = found.FirstOrDefault(ff => ff.name.FileHash() == vf.Hash); + if (name == null) + return; + + File.WriteAllLines(f+".meta", new[] + { + "[General]", + $"gameName={game.MO2ArchiveName}", + $"gameFile={name.RelativeTo(game.GameLocation()).Replace("\\", "/")}" + }); + }); + + } private void IncludeArchiveMetadata()