Merge pull request #1126 from wabbajack-tools/fix-fomod-extraction

Fix fomod extraction
This commit is contained in:
Timothy Baldridge 2020-10-13 05:31:01 -06:00 committed by GitHub
commit adafb12451
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 32 additions and 11 deletions

View File

@ -1,5 +1,8 @@
### Changelog
#### Version - 2.3.0.4 - 10/13/2020
* Fix FOMOD extraction (for FNV)
#### Version - 2.3.0.3 - 10/12/2020
* Revert some 7zip changes due to 7zip crashing the app

View File

@ -6,8 +6,8 @@
<AssemblyName>wabbajack-cli</AssemblyName>
<Company>Wabbajack</Company>
<Platforms>x64</Platforms>
<AssemblyVersion>2.3.0.3</AssemblyVersion>
<FileVersion>2.3.0.3</FileVersion>
<AssemblyVersion>2.3.0.4</AssemblyVersion>
<FileVersion>2.3.0.4</FileVersion>
<Copyright>Copyright © 2019-2020</Copyright>
<Description>An automated ModList installer</Description>
<PublishReadyToRun>true</PublishReadyToRun>

View File

@ -4,8 +4,8 @@
<OutputType>WinExe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<UseWPF>true</UseWPF>
<AssemblyVersion>2.3.0.3</AssemblyVersion>
<FileVersion>2.3.0.3</FileVersion>
<AssemblyVersion>2.3.0.4</AssemblyVersion>
<FileVersion>2.3.0.4</FileVersion>
<Copyright>Copyright © 2019-2020</Copyright>
<Description>Wabbajack Application Launcher</Description>
<PublishReadyToRun>true</PublishReadyToRun>

View File

@ -3,8 +3,8 @@
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<AssemblyVersion>2.3.0.3</AssemblyVersion>
<FileVersion>2.3.0.3</FileVersion>
<AssemblyVersion>2.3.0.4</AssemblyVersion>
<FileVersion>2.3.0.4</FileVersion>
<Copyright>Copyright © 2019-2020</Copyright>
<Description>Wabbajack Server</Description>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>

View File

@ -168,6 +168,21 @@ namespace Wabbajack.VirtualFileSystem.Test
});
}
[Fact]
public async Task CanExtractFOMODFiles()
{
var tmpFolder = await TempFolder.Create();
var src = await DownloadMod(Game.FalloutNewVegas, 52510);
var newName = src.FileName.RelativeTo(tmpFolder.Dir);
await src.CopyToAsync(newName);
var ctx = new Context(_queue);
await ctx.AddRoot(tmpFolder.Dir);
Assert.NotEmpty(ctx.Index.ByName.Where(f => f.Key.FileName == (RelativePath)"Alternative Repairing.esp"));
}
[Fact]
public async Task SmallZipNoLongerCrashes()
{

View File

@ -27,6 +27,8 @@ namespace Wabbajack.VirtualFileSystem
Definitions.FileType._7Z);
private static Extension OMODExtension = new Extension(".omod");
private static Extension FOMODExtension = new Extension(".fomod");
private static Extension BSAExtension = new Extension(".bsa");
public static readonly HashSet<Extension> ExtractableExtensions = new HashSet<Extension>
@ -37,7 +39,8 @@ namespace Wabbajack.VirtualFileSystem
new Extension(".7zip"),
new Extension(".rar"),
new Extension(".zip"),
OMODExtension
OMODExtension,
FOMODExtension
};
@ -109,7 +112,7 @@ namespace Wabbajack.VirtualFileSystem
}
return results;
}
private static async Task<Dictionary<RelativePath,T>> GatheringExtractWithOMOD<T>(Stream archive, Predicate<RelativePath> shouldExtract, Func<RelativePath,IExtractedFile,ValueTask<T>> mapfn)
{
var tmpFile = new TempFile();
@ -119,7 +122,7 @@ namespace Wabbajack.VirtualFileSystem
Framework.Settings.TempPath = (string)dest.Dir;
Framework.Settings.CodeProgress = new OMODProgress();
var omod = new OMOD((string)tmpFile.Path);
omod.GetDataFiles();
omod.GetPlugins();

View File

@ -6,8 +6,8 @@
<UseWPF>true</UseWPF>
<Platforms>x64</Platforms>
<RuntimeIdentifier>win10-x64</RuntimeIdentifier>
<AssemblyVersion>2.3.0.3</AssemblyVersion>
<FileVersion>2.3.0.3</FileVersion>
<AssemblyVersion>2.3.0.4</AssemblyVersion>
<FileVersion>2.3.0.4</FileVersion>
<Copyright>Copyright © 2019-2020</Copyright>
<Description>An automated ModList installer</Description>
<PublishReadyToRun>true</PublishReadyToRun>