diff --git a/CUE4Parse b/CUE4Parse index 3b456a3e..86baae5c 160000 --- a/CUE4Parse +++ b/CUE4Parse @@ -1 +1 @@ -Subproject commit 3b456a3e44c64e6f560a3119f7f65b1b8c57c9c8 +Subproject commit 86baae5c47acb6fddf10294f034b69c5782c4a1d diff --git a/FModel/FModel.csproj b/FModel/FModel.csproj index 861a11fe..af992309 100644 --- a/FModel/FModel.csproj +++ b/FModel/FModel.csproj @@ -156,8 +156,7 @@ - - + diff --git a/FModel/ViewModels/CUE4ParseViewModel.cs b/FModel/ViewModels/CUE4ParseViewModel.cs index 840afb83..f20cd939 100644 --- a/FModel/ViewModels/CUE4ParseViewModel.cs +++ b/FModel/ViewModels/CUE4ParseViewModel.cs @@ -66,7 +66,6 @@ using CUE4Parse_Conversion; using CUE4Parse_Conversion.Sounds; using EpicManifestParser; using EpicManifestParser.UE; -using EpicManifestParser.ZlibngDotNetDecompressor; using FModel.Creator; using FModel.Extensions; using FModel.Framework; @@ -95,6 +94,8 @@ public class CUE4ParseViewModel : ViewModel private readonly Regex _fnLiveRegex = new(@"^FortniteGame[/\\]Content[/\\]Paks[/\\]", RegexOptions.Compiled | RegexOptions.Singleline | RegexOptions.IgnoreCase | RegexOptions.CultureInvariant); + private static readonly HttpClient _chunkClient = ManifestParseOptions.CreateDefaultClient(); + private bool _modelIsOverwritingMaterial; public bool ModelIsOverwritingMaterial { @@ -225,9 +226,9 @@ public class CUE4ParseViewModel : ViewModel { Provider.OnDemandOptions = new IoStoreOnDemandOptions { - ChunkHostUri = new Uri("https://download.epicgames.com/", UriKind.Absolute), + ChunkHostUri = new Uri("https://egdownload.fastly-edge.com/", UriKind.Absolute), ChunkCacheDirectory = Directory.CreateDirectory(Path.Combine(UserSettings.Default.OutputDirectory, ".data")), - Timeout = TimeSpan.FromSeconds(30) + DownloaderClient = _chunkClient }; switch (Provider) @@ -248,9 +249,9 @@ public class CUE4ParseViewModel : ViewModel { ChunkCacheDirectory = cacheDir, ManifestCacheDirectory = cacheDir, - ChunkBaseUrl = "http://download.epicgames.com/Builds/Fortnite/CloudDir/", - Decompressor = ManifestZlibngDotNetDecompressor.Decompress, - DecompressorState = ZlibHelper.Instance, + ChunkBaseUrl = "https://egdownload.fastly-edge.com/Builds/Fortnite/CloudDir/", + Decompressor = Compression.Decompressor, + Client = _chunkClient, CacheChunksAsIs = false }; @@ -261,7 +262,7 @@ public class CUE4ParseViewModel : ViewModel { (manifest, _) = manifestInfo.DownloadAndParseAsync(manifestOptions, cancellationToken: cancellationToken, - elementManifestPredicate: static x => x.Uri.Host == "download.epicgames.com" || x.Uri.Host == "epicgames-download1.akamaized.net" + elementDownloadPredicate: static x => x.Uri.Host is "egdownload.fastly-edge.com" or "epicgames-download1.akamaized.net" or "download.epicgames.com" ).GetAwaiter().GetResult(); } catch (HttpRequestException ex)