diff --git a/Wabbajack.Lib/MO2Compiler.cs b/Wabbajack.Lib/MO2Compiler.cs index 94c92b6e..eeeea422 100644 --- a/Wabbajack.Lib/MO2Compiler.cs +++ b/Wabbajack.Lib/MO2Compiler.cs @@ -376,7 +376,7 @@ namespace Wabbajack.Lib Utils.Log( $"Removing {remove.Count} archives from the compilation state, this is probably not an issue but reference this if you have compilation failures"); - remove.Do(r => Utils.Log($"Resolution failed for: {r.File.FullPath}")); + remove.Do(r => Utils.Log($"Resolution failed for: ({r.File.Size} {r.File.Hash}) {r.File.FullPath}")); IndexedArchives.RemoveAll(a => remove.Contains(a)); } @@ -601,10 +601,6 @@ namespace Wabbajack.Lib new IncludePatches(this), new IncludeDummyESPs(this), - - // If we have no match at this point for a game folder file, skip them, we can't do anything about them - new IgnoreGameFiles(this), - // There are some types of files that will error the compilation, because they're created on-the-fly via tools // so if we don't have a match by this point, just drop them. new IgnoreEndsWith(this, ".ini"), diff --git a/Wabbajack.Test/SanityTests.cs b/Wabbajack.Test/SanityTests.cs index a3495c9e..90a7be4a 100644 --- a/Wabbajack.Test/SanityTests.cs +++ b/Wabbajack.Test/SanityTests.cs @@ -538,8 +538,28 @@ namespace Wabbajack.Test Assert.False(utils.InstallFolder.Combine(Consts.GameFolderFilesDir).IsDirectory); } - - + + [Fact] + public async Task MissingGameFolderFilesBreakInstallation() + { + + var profile = utils.AddProfile(); + var mod = await utils.AddMod(); + var testPex = await utils.AddModFile(mod, @"Data\scripts\test.pex", 10); + + await utils.Configure(); + + utils.MO2Folder.Combine(Consts.GameFolderFilesDir).CreateDirectory(); + await utils.MO2Folder.Combine(Consts.GameFolderFilesDir).Combine("dx4242.dll") + .WriteAllBytesAsync(utils.RandomData()); + + await utils.AddManualDownload( + new Dictionary {{"/baz/biz.pex", await testPex.ReadAllBytesAsync()}}); + + await Assert.ThrowsAsync(async () => await CompileAndInstall(profile)); + } + + /// /// Issue #861 : https://github.com/wabbajack-tools/wabbajack/issues/861 ///