mirror of
https://github.com/4sval/FModel.git
synced 2026-09-24 18:24:10 -05:00
Add support for new IoStore on-demand TOC format. (#662)
Some checks failed
FModel QA Builder / build (push) Has been cancelled
Some checks failed
FModel QA Builder / build (push) Has been cancelled
Co-authored-by: Krowe Moh <27891447+Krowe-moh@users.noreply.github.com> Co-authored-by: Asval <asval.contactme@gmail.com>
This commit is contained in:
Submodule CUE4Parse updated: afe94b8c49...dc0f8183f6
@@ -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<EFortRarity>("Rarity"));
|
||||
}
|
||||
|
||||
private void GetSeries(FInstancedStruct[] s)
|
||||
{
|
||||
if (s.FirstOrDefault(d => d.NonConstStruct?.TryGetValue(out FPackageIndex _, "Series") == true) is { } dl)
|
||||
|
||||
@@ -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));
|
||||
|
||||
Reference in New Issue
Block a user