Skip to content

Commit 3d0bdf0

Browse files
committed
full patched archive support
1 parent a704612 commit 3d0bdf0

32 files changed

+189
-293
lines changed

CUE4Parse

Submodule CUE4Parse updated 45 files

FModel/Constants.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,16 @@
22
using System.Diagnostics;
33
using System.IO;
44
using System.Numerics;
5-
using System.Reflection;
65
using CUE4Parse.UE4.Objects.Core.Misc;
7-
using FModel.Extensions;
6+
using CUE4Parse.Utils;
87

98
namespace FModel;
109

1110
public static class Constants
1211
{
1312
public static readonly string APP_PATH = Path.GetFullPath(Environment.GetCommandLineArgs()[0]);
1413
public static readonly string APP_VERSION = FileVersionInfo.GetVersionInfo(APP_PATH).FileVersion;
15-
public static readonly string APP_COMMIT_ID = FileVersionInfo.GetVersionInfo(APP_PATH).ProductVersion.SubstringAfter('+');
14+
public static readonly string APP_COMMIT_ID = FileVersionInfo.GetVersionInfo(APP_PATH).ProductVersion?.SubstringAfter('+');
1615
public static readonly string APP_SHORT_COMMIT_ID = APP_COMMIT_ID[..7];
1716

1817
public const string ZERO_64_CHAR = "0000000000000000000000000000000000000000000000000000000000000000";

FModel/Creator/Bases/FN/BaseBundle.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
using CUE4Parse.UE4.Assets.Objects;
44
using CUE4Parse.UE4.Objects.Core.i18N;
55
using CUE4Parse.UE4.Objects.UObject;
6-
using FModel.Extensions;
6+
using CUE4Parse.Utils;
77
using FModel.Framework;
88
using SkiaSharp;
99
using SkiaSharp.HarfBuzz;

FModel/Creator/Bases/FN/BaseQuest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
using CUE4Parse.UE4.Assets.Objects;
88
using CUE4Parse.UE4.Objects.Core.i18N;
99
using CUE4Parse.UE4.Objects.UObject;
10-
using FModel.Extensions;
10+
using CUE4Parse.Utils;
1111
using FModel.Framework;
1212
using SkiaSharp;
1313
using SkiaSharp.HarfBuzz;

FModel/Creator/Typefaces.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ public Typefaces(CUE4ParseViewModel viewModel)
6767

6868
Default = SKTypeface.FromStream(Application.GetResourceStream(_BURBANK_BIG_CONDENSED_BOLD)?.Stream);
6969

70-
switch (viewModel.Provider.InternalGameName.ToUpperInvariant())
70+
switch (viewModel.Provider.ProjectName.ToUpperInvariant())
7171
{
7272
case "FORTNITEGAME":
7373
{

FModel/Creator/Utils.cs

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
using CUE4Parse.UE4.Versions;
1313
using CUE4Parse_Conversion.Textures;
1414
using CUE4Parse.UE4.Assets.Objects;
15+
using CUE4Parse.Utils;
1516
using FModel.Framework;
1617
using FModel.Extensions;
1718
using FModel.Services;
@@ -160,12 +161,7 @@ public static bool TryGetPackageIndexExport<T>(FPackageIndex packageIndex, out T
160161
// fullpath must be either without any extension or with the export objectname
161162
public static bool TryLoadObject<T>(string fullPath, out T export) where T : UObject
162163
{
163-
return _applicationView.CUE4Parse.Provider.TryLoadObject(fullPath, out export);
164-
}
165-
166-
public static IEnumerable<UObject> LoadExports(string packagePath)
167-
{
168-
return _applicationView.CUE4Parse.Provider.LoadAllObjects(packagePath);
164+
return _applicationView.CUE4Parse.Provider.TryLoadPackageObject(fullPath, out export);
169165
}
170166

171167
public static float GetMaxFontSize(double sectorSize, SKTypeface typeface, string text, float degreeOfCertainty = 1f, float maxFont = 100f)
@@ -417,4 +413,4 @@ public static List<string> SplitLines(string text, SKPaint paint, float maxWidth
417413

418414
return ret;
419415
}
420-
}
416+
}

FModel/Extensions/StringExtensions.cs

Lines changed: 0 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -24,76 +24,6 @@ public static string GetReadableSize(double size)
2424
return $"{size:# ###.##} {sizes[order]}".TrimStart();
2525
}
2626

27-
[MethodImpl(MethodImplOptions.AggressiveInlining)]
28-
public static string SubstringBefore(this string s, char delimiter)
29-
{
30-
var index = s.IndexOf(delimiter);
31-
return index == -1 ? s : s[..index];
32-
}
33-
34-
[MethodImpl(MethodImplOptions.AggressiveInlining)]
35-
public static string SubstringBefore(this string s, string delimiter, StringComparison comparisonType = StringComparison.Ordinal)
36-
{
37-
var index = s.IndexOf(delimiter, comparisonType);
38-
return index == -1 ? s : s[..index];
39-
}
40-
41-
[MethodImpl(MethodImplOptions.AggressiveInlining)]
42-
public static string SubstringAfter(this string s, char delimiter)
43-
{
44-
var index = s.IndexOf(delimiter);
45-
return index == -1 ? s : s.Substring(index + 1, s.Length - index - 1);
46-
}
47-
48-
[MethodImpl(MethodImplOptions.AggressiveInlining)]
49-
public static string SubstringAfter(this string s, string delimiter, StringComparison comparisonType = StringComparison.Ordinal)
50-
{
51-
var index = s.IndexOf(delimiter, comparisonType);
52-
return index == -1 ? s : s.Substring(index + delimiter.Length, s.Length - index - delimiter.Length);
53-
}
54-
55-
[MethodImpl(MethodImplOptions.AggressiveInlining)]
56-
public static string SubstringBeforeLast(this string s, char delimiter)
57-
{
58-
var index = s.LastIndexOf(delimiter);
59-
return index == -1 ? s : s[..index];
60-
}
61-
62-
[MethodImpl(MethodImplOptions.AggressiveInlining)]
63-
public static string SubstringBeforeLast(this string s, string delimiter, StringComparison comparisonType = StringComparison.Ordinal)
64-
{
65-
var index = s.LastIndexOf(delimiter, comparisonType);
66-
return index == -1 ? s : s[..index];
67-
}
68-
69-
[MethodImpl(MethodImplOptions.AggressiveInlining)]
70-
public static string SubstringBeforeWithLast(this string s, char delimiter)
71-
{
72-
var index = s.LastIndexOf(delimiter);
73-
return index == -1 ? s : s[..(index + 1)];
74-
}
75-
76-
[MethodImpl(MethodImplOptions.AggressiveInlining)]
77-
public static string SubstringBeforeWithLast(this string s, string delimiter, StringComparison comparisonType = StringComparison.Ordinal)
78-
{
79-
var index = s.LastIndexOf(delimiter, comparisonType);
80-
return index == -1 ? s : s[..(index + 1)];
81-
}
82-
83-
[MethodImpl(MethodImplOptions.AggressiveInlining)]
84-
public static string SubstringAfterLast(this string s, char delimiter)
85-
{
86-
var index = s.LastIndexOf(delimiter);
87-
return index == -1 ? s : s.Substring(index + 1, s.Length - index - 1);
88-
}
89-
90-
[MethodImpl(MethodImplOptions.AggressiveInlining)]
91-
public static string SubstringAfterLast(this string s, string delimiter, StringComparison comparisonType = StringComparison.Ordinal)
92-
{
93-
var index = s.LastIndexOf(delimiter, comparisonType);
94-
return index == -1 ? s : s.Substring(index + delimiter.Length, s.Length - index - delimiter.Length);
95-
}
96-
9727
[MethodImpl(MethodImplOptions.AggressiveInlining)]
9828
public static int GetNameLineNumber(this string s, string lineToFind)
9929
{

FModel/MainWindow.xaml.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
using System.Windows.Controls;
77
using System.Windows.Input;
88
using AdonisUI.Controls;
9-
using FModel.Extensions;
109
using FModel.Services;
1110
using FModel.Settings;
1211
using FModel.ViewModels;
@@ -267,7 +266,7 @@ private void OnFilterTextChanged(object sender, TextChangedEventArgs e)
267266
return;
268267

269268
var filters = textBox.Text.Trim().Split(' ');
270-
folder.AssetsList.AssetsView.Filter = o => { return o is AssetItem assetItem && filters.All(x => assetItem.FullPath.SubstringAfterLast('/').Contains(x, StringComparison.OrdinalIgnoreCase)); };
269+
folder.AssetsList.AssetsView.Filter = o => { return o is AssetItem assetItem && filters.All(x => assetItem.FileName.Contains(x, StringComparison.OrdinalIgnoreCase)); };
271270
}
272271

273272
private void OnMouseDoubleClick(object sender, MouseButtonEventArgs e)

FModel/Services/DiscordService.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public void Initialize(string gameName)
4848

4949
public void UpdatePresence(CUE4ParseViewModel viewModel) =>
5050
UpdatePresence(
51-
$"{viewModel.Provider.GameDisplayName ?? viewModel.Provider.InternalGameName} - {viewModel.Provider.MountedVfs.Count}/{viewModel.Provider.MountedVfs.Count + viewModel.Provider.UnloadedVfs.Count} Packages",
51+
$"{viewModel.Provider.GameDisplayName ?? viewModel.Provider.ProjectName} - {viewModel.Provider.MountedVfs.Count}/{viewModel.Provider.MountedVfs.Count + viewModel.Provider.UnloadedVfs.Count} Packages",
5252
$"Mode: {UserSettings.Default.LoadingMode.GetDescription()} - {viewModel.SearchVm.ResultsCount:### ### ###} Loaded Assets".Trim());
5353

5454
public void UpdatePresence(string details, string state)

FModel/ViewModels/ApiEndpoints/DynamicApiEndpoint.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
using System.Linq;
22
using System.Threading;
33
using System.Threading.Tasks;
4-
using FModel.Extensions;
4+
using CUE4Parse.Utils;
55
using FModel.Framework;
66
using FModel.ViewModels.ApiEndpoints.Models;
77
using Newtonsoft.Json.Linq;

0 commit comments

Comments
 (0)