mirror of
https://github.com/wabbajack-tools/wabbajack.git
synced 2024-08-30 18:42:17 +00:00
Merge pull request #2604 from wabbajack-tools/fo3-bsa-fix
Fix FO3 / FNV / Skyrim LE files with special characters in the path corrupting when being packed
This commit is contained in:
commit
ec36b8ab4a
@ -1,5 +1,11 @@
|
|||||||
### Changelog
|
### Changelog
|
||||||
|
|
||||||
|
#### Version - 3.7.1.0 - ?
|
||||||
|
* Fixed file paths with special characters corrupting when packed into BSAs
|
||||||
|
* This issue only affected Fallout 3, Fallout NV and Skyrim LE
|
||||||
|
* Added logging to determine which downloaded files cannot be hashed
|
||||||
|
* This could occur in the downloading phase when installing a modlist when there are broken/corrupted files in the downloads folder
|
||||||
|
|
||||||
#### Version - 3.7.0.0 - 6/21/2024
|
#### Version - 3.7.0.0 - 6/21/2024
|
||||||
* Added Starfield support
|
* Added Starfield support
|
||||||
* Note: Hashes were added earlier, but the earlier version was not fully compatible due to Wabbajack extracting the BA2 archives incorrectly. This has been fixed.
|
* Note: Hashes were added earlier, but the earlier version was not fully compatible due to Wabbajack extracting the BA2 archives incorrectly. This has been fixed.
|
||||||
|
@ -23,6 +23,7 @@ public static class BinaryHelperExtensions
|
|||||||
return version switch
|
return version switch
|
||||||
{
|
{
|
||||||
VersionType.TES3 => Encoding.ASCII,
|
VersionType.TES3 => Encoding.ASCII,
|
||||||
|
VersionType.FO3 => Encoding.UTF8,
|
||||||
VersionType.SSE => Windows1252,
|
VersionType.SSE => Windows1252,
|
||||||
_ => Encoding.UTF7
|
_ => Encoding.UTF7
|
||||||
};
|
};
|
||||||
|
@ -247,7 +247,16 @@ public class StandardInstaller : AInstaller<StandardInstaller>
|
|||||||
var metaFile = download.WithExtension(Ext.Meta);
|
var metaFile = download.WithExtension(Ext.Meta);
|
||||||
|
|
||||||
var found = bySize[download.Size()];
|
var found = bySize[download.Size()];
|
||||||
var hash = await FileHashCache.FileHashCachedAsync(download, token);
|
Hash hash = default;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
hash = await FileHashCache.FileHashCachedAsync(download, token);
|
||||||
|
}
|
||||||
|
catch(Exception ex)
|
||||||
|
{
|
||||||
|
_logger.LogError($"Failed to get hash for file {download}!");
|
||||||
|
throw;
|
||||||
|
}
|
||||||
var archive = found.FirstOrDefault(f => f.Hash == hash);
|
var archive = found.FirstOrDefault(f => f.Hash == hash);
|
||||||
|
|
||||||
IEnumerable<string> meta;
|
IEnumerable<string> meta;
|
||||||
|
Loading…
Reference in New Issue
Block a user