diff --git a/CUE4Parse b/CUE4Parse index afe94b8c..dc0f8183 160000 --- a/CUE4Parse +++ b/CUE4Parse @@ -1 +1 @@ -Subproject commit afe94b8c496eefd8020662ea11fddc63a979fb16 +Subproject commit dc0f8183f6551f9b5bccc8aecee65807362ef297 diff --git a/FModel/Creator/Bases/FN/BaseIcon.cs b/FModel/Creator/Bases/FN/BaseIcon.cs index 985b100a..edf73fce 100644 --- a/FModel/Creator/Bases/FN/BaseIcon.cs +++ b/FModel/Creator/Bases/FN/BaseIcon.cs @@ -36,6 +36,7 @@ public class BaseIcon : UCreator if (Object.TryGetValue(out FInstancedStruct[] dataList, "DataList")) { + GetRarity(dataList); GetSeries(dataList); Preview = Utils.GetBitmap(dataList); } @@ -139,6 +140,12 @@ public class BaseIcon : UCreator GetSeries(export); } + private void GetRarity(FInstancedStruct[] s) + { + if (s.FirstOrDefault(d => d.NonConstStruct?.TryGetValue(out EFortRarity _, "Rarity") == true) is { } dl) + GetRarity(dl.NonConstStruct.Get("Rarity")); + } + private void GetSeries(FInstancedStruct[] s) { if (s.FirstOrDefault(d => d.NonConstStruct?.TryGetValue(out FPackageIndex _, "Series") == true) is { } dl) diff --git a/FModel/ViewModels/CUE4ParseViewModel.cs b/FModel/ViewModels/CUE4ParseViewModel.cs index 6b13ecc4..d9a96a21 100644 --- a/FModel/ViewModels/CUE4ParseViewModel.cs +++ b/FModel/ViewModels/CUE4ParseViewModel.cs @@ -491,7 +491,7 @@ public class CUE4ParseViewModel : ViewModel var ioStoreOnDemandPath = Path.Combine(UserSettings.Default.GameDirectory, "..\\..\\..\\Cloud", inst[0].Value.SubstringAfterLast("/").SubstringBefore("\"")); if (!File.Exists(ioStoreOnDemandPath)) return; - await Provider.RegisterVfsAsync(new IoChunkToc(ioStoreOnDemandPath)); + await Provider.RegisterVfsAsync(new IoChunkToc(ioStoreOnDemandPath, Provider.Versions)); var onDemandCount = await Provider.MountAsync(); FLogger.Append(ELog.Information, () => FLogger.Text($"{onDemandCount} on-demand archive{(onDemandCount > 1 ? "s" : "")} streamed via epicgames.com", Constants.WHITE, true));