diff --git a/FModel/Grabber/Aes/AesData.cs b/FModel/Grabber/Aes/AesData.cs index 859df722..ee1039e3 100644 --- a/FModel/Grabber/Aes/AesData.cs +++ b/FModel/Grabber/Aes/AesData.cs @@ -14,7 +14,11 @@ namespace FModel.Grabber.Aes { if (NetworkInterface.GetIsNetworkAvailable()) { - BenResponse data = await Endpoints.GetJsonEndpoint(Endpoints.BENBOT_AES).ConfigureAwait(false); + (_, string fortniteVersion, string _) = Utils.Paks.GetFortnitePakFilesPath(); + BenResponse data = !string.IsNullOrEmpty(fortniteVersion) + ? await Endpoints.GetJsonEndpoint(Endpoints.BENBOT_AES, fortniteVersion) + .ConfigureAwait(false) + : await Endpoints.GetJsonEndpoint(Endpoints.BENBOT_AES).ConfigureAwait(false); return data; } else diff --git a/FModel/Utils/Endpoints.cs b/FModel/Utils/Endpoints.cs index 49a29a02..6a58e201 100644 --- a/FModel/Utils/Endpoints.cs +++ b/FModel/Utils/Endpoints.cs @@ -47,8 +47,8 @@ namespace FModel.Utils { if (url.Equals(BENBOT_HOTFIXES) && !string.IsNullOrEmpty(query)) url += $"?lang={Uri.EscapeDataString(query)}"; - /*else if (url.Equals(BENBOT_AES) && !string.IsNullOrEmpty(query)) - url += $"?version={Uri.EscapeDataString(query)}";*/ + else if (url.Equals(BENBOT_AES) && !string.IsNullOrEmpty(query)) + url += $"?version={Uri.EscapeDataString(query)}"; DebugHelper.WriteLine("{0} {1} {2} {3}", "[FModel]", "[Endpoints]", "[GET]", url); using (HttpClient client = new HttpClient { Timeout = TimeSpan.FromSeconds(3) }) diff --git a/FModel/ViewModels/MenuItem/PakMenuItemViewModel.cs b/FModel/ViewModels/MenuItem/PakMenuItemViewModel.cs index 2536de7b..b44cc752 100644 --- a/FModel/ViewModels/MenuItem/PakMenuItemViewModel.cs +++ b/FModel/ViewModels/MenuItem/PakMenuItemViewModel.cs @@ -15,6 +15,7 @@ using PakReader.Parsers.Objects; using System; using System.Collections.Generic; using System.Collections.ObjectModel; +using System.Diagnostics.Eventing.Reader; using System.IO; using System.Linq; using System.Threading.Tasks; @@ -253,12 +254,22 @@ namespace FModel.ViewModels.MenuItem var oldFilesTemp = new Dictionary(); using FileStream fileStream = new FileStream(ofd.FileName, FileMode.Open); - using LZ4DecoderStream compressionStream = LZ4Stream.Decode(fileStream); - using (var target = new MemoryStream()) + BinaryReader checkReader = new BinaryReader(fileStream); + bool isLz4 = checkReader.ReadUInt32() == 0x184D2204u; + fileStream.Seek(0, SeekOrigin.Begin); + var target = new MemoryStream(); + if (isLz4) { + using LZ4DecoderStream compressionStream = LZ4Stream.Decode(fileStream); compressionStream.CopyTo(target); + } + else + { + fileStream.CopyTo(target); + } + using (target) + { target.Position = 0; - using BinaryReader reader = new BinaryReader(target); while (reader.BaseStream.Position < reader.BaseStream.Length) {