diff --git a/FModel/Grabber/Paks/PaksGrabber.cs b/FModel/Grabber/Paks/PaksGrabber.cs index 7d9c416b..ec892fe5 100644 --- a/FModel/Grabber/Paks/PaksGrabber.cs +++ b/FModel/Grabber/Paks/PaksGrabber.cs @@ -22,7 +22,7 @@ namespace FModel.Grabber.Paks { static class PaksGrabber { - private static readonly Regex _pakFileRegex = new Regex(@"^FortniteGame/Content/Paks/pakchunk(?:0|10.*|\w+)-WindowsClient\.(pak|utoc|ucas)$", RegexOptions.Compiled | RegexOptions.Singleline | RegexOptions.IgnoreCase | RegexOptions.CultureInvariant); + private static readonly Regex _pakFileRegex = new Regex(@"^FortniteGame/Content/Paks/pakchunk(?:0|10.*|\w+)-WindowsClient\.(pak|ucas)$", RegexOptions.Compiled | RegexOptions.Singleline | RegexOptions.IgnoreCase | RegexOptions.CultureInvariant); public static async Task PopulateMenu() { diff --git a/FModel/PakReader/Parsers/Class/UCurveTable.cs b/FModel/PakReader/Parsers/Class/UCurveTable.cs index 2dc6443f..0585f07b 100644 --- a/FModel/PakReader/Parsers/Class/UCurveTable.cs +++ b/FModel/PakReader/Parsers/Class/UCurveTable.cs @@ -36,7 +36,7 @@ namespace FModel.PakReader.Parsers.Class internal UCurveTable(IoPackageReader reader, IReadOnlyDictionary properties) { reader.ReadUInt16(); // don't ask me - reader.ReadUInt32(); // what is this + reader.ReadUInt32(); // what this is int NumRows = reader.ReadInt32(); CurveTableMode = (ECurveTableMode)reader.ReadByte(); diff --git a/FModel/PakReader/Parsers/Class/UObject.cs b/FModel/PakReader/Parsers/Class/UObject.cs index a7056abb..e68491aa 100644 --- a/FModel/PakReader/Parsers/Class/UObject.cs +++ b/FModel/PakReader/Parsers/Class/UObject.cs @@ -41,7 +41,6 @@ namespace FModel.PakReader.Parsers.Class #endif var num = 1; - do { var (val, isNonZero) = it.Current; diff --git a/FModel/PakReader/Parsers/IoPackageReader.cs b/FModel/PakReader/Parsers/IoPackageReader.cs index ac28c016..81c0d9e8 100644 --- a/FModel/PakReader/Parsers/IoPackageReader.cs +++ b/FModel/PakReader/Parsers/IoPackageReader.cs @@ -149,8 +149,8 @@ namespace FModel.PakReader.Parsers { _dataExports[i] = exportType.String switch { - "Texture2D" => new UTexture2D(this, properties, _ubulk, - ExportMap.Sum(e => (long) e.CookedSerialSize) + beginExportOffset), + "Texture2D" => new UTexture2D(this, properties, _ubulk, ExportMap.Sum(e => (long) e.CookedSerialSize) + beginExportOffset), + "TextureCube" => new UTexture2D(this, properties, _ubulk, ExportMap.Sum(e => (long) e.CookedSerialSize) + beginExportOffset), "VirtualTexture2D" => new UTexture2D(this, properties, _ubulk, ExportMap.Sum(e => (long) e.CookedSerialSize) + beginExportOffset), "CurveTable" => new UCurveTable(this, properties), "DataTable" => new UDataTable(this, properties, exportType.String), diff --git a/FModel/PakReader/Parsers/Objects/UScriptStruct.cs b/FModel/PakReader/Parsers/Objects/UScriptStruct.cs index 834e4f28..c97619b0 100644 --- a/FModel/PakReader/Parsers/Objects/UScriptStruct.cs +++ b/FModel/PakReader/Parsers/Objects/UScriptStruct.cs @@ -60,8 +60,8 @@ namespace FModel.PakReader.Parsers.Objects "ColorMaterialInput" => new FColorMaterialInput(reader), "ExpressionInput" => new FMaterialInput(reader), // - "PrimaryAssetType" => new FPrimaryAssetType(reader), - "PrimaryAssetId" => new FPrimaryAssetId(reader), + //"PrimaryAssetType" => new FPrimaryAssetType(reader), + //"PrimaryAssetId" => new FPrimaryAssetId(reader), _ => Fallback(reader, structName) }; } diff --git a/FModel/ViewModels/MenuItem/PakMenuItemViewModel.cs b/FModel/ViewModels/MenuItem/PakMenuItemViewModel.cs index 6bd243f9..f957d928 100644 --- a/FModel/ViewModels/MenuItem/PakMenuItemViewModel.cs +++ b/FModel/ViewModels/MenuItem/PakMenuItemViewModel.cs @@ -275,7 +275,7 @@ namespace FModel.ViewModels.MenuItem }).ContinueWith(t => { DiscordIntegration.Update( - $"{Globals.CachedPakFiles.Count}/{MenuItems.pakFiles.GetReaderCount()} {Properties.Resources.PakFiles}", + $"{Globals.CachedPakFiles.Count + Globals.CachedIoStores.Count}/{MenuItems.pakFiles.GetReaderCount()} {Properties.Resources.PakFiles}", string.Format("{0} - {1}", Globals.Game.GetName(), mode == EPakLoader.All ? Properties.Resources.AllFiles : mode == EPakLoader.New ? Properties.Resources.NewFiles : diff --git a/FModel/Windows/SoundPlayer/NVorbisSource.cs b/FModel/Windows/SoundPlayer/NVorbisSource.cs index 2eac2611..69a8e3bb 100644 --- a/FModel/Windows/SoundPlayer/NVorbisSource.cs +++ b/FModel/Windows/SoundPlayer/NVorbisSource.cs @@ -38,7 +38,14 @@ namespace FModel.Windows.SoundPlayer { get { - return CanSeek ? (long)(_vorbisReader.TotalTime.TotalSeconds * _waveFormat.SampleRate * _waveFormat.Channels) : 0; + try + { + return CanSeek ? (long)(_vorbisReader.TotalTime.TotalSeconds * _waveFormat.SampleRate * _waveFormat.Channels) : 0; + } + catch (Exception) + { + return 0; + } } } diff --git a/README.md b/README.md index 00929633..d1980948 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# FModel +# FModel [![Build status](https://ci.appveyor.com/api/projects/status/bqipyycg1404acyt/branch/master?svg=true)](https://ci.appveyor.com/project/iAmAsval/fmodel/branch/master) FModel Logo