Skip to content

Commit cfb10e7

Browse files
committed
Fixes for Fortnite v40.00
1 parent 83687a6 commit cfb10e7

9 files changed

Lines changed: 107 additions & 99 deletions

File tree

Dependencies/CUE4Parse

Submodule CUE4Parse updated 134 files

FortnitePorting.Plugins/Blender/fortnite_porting/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"description": "Import Server for Fortnite Porting",
1414
"author": "Half",
1515
"blender": (5, 0, 0),
16-
"version": (4, 0, 0),
16+
"version": (4, 0, 1),
1717
"category": "Import-Export",
1818
}
1919

FortnitePorting.Plugins/Blender/fortnite_porting/blender_manifest.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ type = "add-on"
44
license = ["SPDX:GPL-3.0-or-later"]
55

66
id = "fortnite_porting"
7-
version = "4.0.0"
7+
version = "4.0.1"
88
blender_version_min = "5.0.0"
99
name = "Fortnite Porting"
1010
tagline = "Import Server for Fortnite Porting"

FortnitePorting.Plugins/Blender/fortnite_porting/processing/material/mappings.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -813,7 +813,7 @@ def meets_criteria(self, material_data):
813813
return get_param(material_data.get("Switches"), "UseFXMaskForEmissive")
814814

815815
colors=(
816-
SlotMapping("EmissiveFXMaskChannel")
816+
SlotMapping("EmissiveFXMaskChannel"),
817817
)
818818

819819
switches=(
@@ -1487,7 +1487,6 @@ def meets_criteria(self, material_data):
14871487

14881488
switches=(
14891489
SlotMapping("use Alpha Channel as mask", "Use Layer Mask Alpha"),
1490-
SlotMapping("useGmapGradientLayers"),
14911490
SlotMapping("useGmapGradientLayers", "Use Gmap Gradient Layers")
14921491
)
14931492

FortnitePorting.Plugins/Unreal/FortnitePorting/FortnitePorting.uplugin

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"FileVersion": 3,
33
"Version": 4,
4-
"VersionName": "4.0.0",
4+
"VersionName": "4.0.1",
55
"FriendlyName": "FortnitePorting",
66
"Description": "Import Server for Fortnite Porting",
77
"Category": "Importers",

FortnitePorting/Globals.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ namespace FortnitePorting;
99
public static class Globals
1010
{
1111
public static string VersionString => Version.GetDisplayString();
12-
public static readonly FPVersion Version = new(4, 0, 0);
12+
public static readonly FPVersion Version = new(4, 0, 1);
1313
public const string ApplicationTag = "FortnitePorting";
1414

1515
public static readonly FilePickerFileType MappingsFileType = new("Unreal Mappings") { Patterns = [ "*.usmap" ] };

FortnitePorting/Models/CUE4Parse/HybridFileProvider.cs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
using System.Linq;
55
using CUE4Parse.FileProvider.Vfs;
66
using CUE4Parse.UE4.IO;
7+
using CUE4Parse.UE4.IO.OnDemand;
78
using CUE4Parse.UE4.Readers;
89
using CUE4Parse.UE4.Versions;
910
using CUE4Parse.Utils;
@@ -63,8 +64,9 @@ public void RegisterFiles(DirectoryInfo directory)
6364

6465
if (extension is "uondemandtoc")
6566
{
66-
var ioChunkToc = new IoChunkToc(file.FullName);
67-
RegisterVfs(ioChunkToc, OnDemandOptions);
67+
var archive = new FByteArchive(file.FullName, File.ReadAllBytes(file.FullName), Versions);
68+
var ioChunkToc = new FOnDemandTocReader(archive);
69+
RegisterVfs(ioChunkToc);
6870
}
6971
}
7072
}
@@ -90,15 +92,17 @@ public void RegisterFiles(FBuildPatchAppManifest manifest)
9092

9193
if (extension is "uondemandtoc")
9294
{
95+
9396
var targetPath = Path.Combine(targetCacheDirectory, file.FileName.SubstringAfterLast("/"));
9497
if (!File.Exists(targetPath))
9598
{
9699
using var fileStream = new FileStream(targetPath, FileMode.Create, FileAccess.Write);
97100
file.GetStream().CopyTo(fileStream);
98101
}
99102

100-
var ioChunkToc = new IoChunkToc(targetPath);
101-
RegisterVfs(ioChunkToc, OnDemandOptions);
103+
var archive = new FByteArchive(targetPath, File.ReadAllBytes(targetPath), Versions);
104+
var ioChunkToc = new FOnDemandTocReader(archive);
105+
RegisterVfs(ioChunkToc);
102106
}
103107

104108
}

FortnitePorting/Services/CUE4ParseService.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
using CUE4Parse.UE4.Assets.Exports.Animation;
1919
using CUE4Parse.UE4.Assets.Exports.Engine;
2020
using CUE4Parse.UE4.IO;
21+
using CUE4Parse.UE4.IO.OnDemand;
2122
using CUE4Parse.UE4.Objects.Core.i18N;
2223
using CUE4Parse.UE4.Objects.Core.Math;
2324
using CUE4Parse.UE4.Objects.Engine;
@@ -319,7 +320,7 @@ private async Task InitializeTextureStreaming()
319320
await Api.DownloadFileAsync($"https://download.epicgames.com/{tocPath}", onDemandFile.FullName);
320321
}
321322

322-
await Provider.RegisterVfsAsync(new IoChunkToc(onDemandFile.FullName));
323+
await Provider.RegisterVfsAsync(new FOnDemandTocReader(onDemandFile.FullName));
323324
await Provider.MountAsync();
324325
}
325326
catch (Exception e)

FortnitePorting/Views/ChatView.axaml

Lines changed: 91 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -196,13 +196,13 @@
196196
Margin="{ext:Space 1, 0}"
197197
ItemTemplate="{StaticResource MessageTemplate}" />
198198
</controls:DynamicFadeScrollViewer>
199-
200-
199+
200+
201201
<TextBlock
202-
Text="No Messages Found"
203-
Classes="BodyTextBlockStyle TextFillColorTertiaryBrush"
202+
Text="No Messages Found"
203+
Classes="BodyTextBlockStyle TextFillColorTertiaryBrush"
204204
VerticalAlignment="Center" HorizontalAlignment="Center"
205-
IsVisible="{Binding !Chat.Messages.Count}"/>
205+
IsVisible="{Binding !Chat.Messages.Count}" />
206206

207207
<Border IsVisible="{Binding ShowNewMessageIndicator}"
208208
Background="#953BF8"
@@ -320,91 +320,95 @@
320320

321321
</Grid>
322322

323-
323+
324324
<Border Grid.Row="0" Grid.RowSpan="3" Grid.Column="1"
325325
Background="{DynamicResource ContentBorderLayer2BackgroundBrush}"
326326
BorderBrush="{DynamicResource ContentBorderLayer2BorderBrush}" BorderThickness="2 0 0 0">
327-
328-
<Grid Margin="{ext:Space 1}">
329-
<ItemsControl ItemsSource="{Binding Chat.UsersByGroup}">
330-
<ItemsControl.ItemTemplate>
331-
<DataTemplate>
332-
<Grid Margin="{ext:Space 0, 0, 0, 1}">
333-
<Grid.RowDefinitions>
334-
<RowDefinition Height="Auto" />
335-
<RowDefinition Height="{ext:Space 0.5}" />
336-
<RowDefinition Height="*" />
337-
</Grid.RowDefinitions>
338-
339-
<TextBlock Grid.Row="0" Classes="BodyStrongTextBlockStyle" FontWeight="SemiBold"
340-
HorizontalAlignment="Left"
341-
Margin="{ext:Space 0.25, 0, 0, 0}">
342-
<TextBlock.Text>
343-
<MultiBinding StringFormat='{}{0} - {1}'>
344-
<Binding Path="Key" />
345-
<Binding Path="Value.Count" />
346-
</MultiBinding>
347-
</TextBlock.Text>
348-
</TextBlock>
349-
350-
<ScrollViewer Grid.Row="2" VerticalScrollBarVisibility="Hidden">
351-
<ItemsControl ItemsSource="{Binding Value}">
352-
<ItemsControl.ItemTemplate>
353-
<DataTemplate DataType="chat:ChatUser">
354-
<controls:ContentCard HorizontalAlignment="Stretch" Cursor="Hand"
355-
PointerPressed="OnUserPressed"
356-
Margin="{ext:Space 0, 0, 0, 1}">
357-
<FlyoutBase.AttachedFlyout>
358-
<MenuFlyout>
359-
<MenuItem Header="Copy User ID"
360-
Command="{Binding CopyIDCommand}" />
361-
<MenuItem Header="Set Role" Command="{Binding SetRoleCommand}"
362-
IsVisible="{Binding CanChangeRole}" />
363-
</MenuFlyout>
364-
</FlyoutBase.AttachedFlyout>
365-
<Grid HorizontalAlignment="Left" Margin="{ext:Space 1}">
366-
<Grid.RowDefinitions>
367-
<RowDefinition Height="Auto" />
368-
<RowDefinition Height="Auto" />
369-
</Grid.RowDefinitions>
370-
371-
<Grid.ColumnDefinitions>
372-
<ColumnDefinition Width="Auto" />
373-
<ColumnDefinition Width="{ext:Space 1}" />
374-
<ColumnDefinition Width="Auto" />
375-
</Grid.ColumnDefinitions>
376-
377-
<Border Grid.Row="0" Grid.RowSpan="2" Grid.Column="0"
378-
CornerRadius="8" ClipToBounds="True">
379-
<Image
380-
asyncImageLoader:ImageLoader.Source="{Binding AvatarUrl}"
381-
RenderOptions.BitmapInterpolationMode="MediumQuality"
382-
Width="32" Height="32" Classes="BodyStrongTextBlockStyle"
383-
VerticalAlignment="Center" />
384-
</Border>
385-
386-
<TextBlock Grid.Row="0" Grid.Column="2"
387-
Text="{Binding DisplayName}"
388-
Foreground="{Binding Brush}"
389-
Classes="BodyStrongTextBlockStyle"
390-
VerticalAlignment="Center" />
391-
392-
<TextBlock Grid.Row="1" Grid.Column="2"
393-
Text="{Binding OnlineVersion}"
394-
FontSize="12"
395-
Classes="BodyTextBlockStyle TextFillColorTertiaryBrush"
396-
VerticalAlignment="Center" />
397-
</Grid>
398-
</controls:ContentCard>
399-
</DataTemplate>
400-
</ItemsControl.ItemTemplate>
401-
</ItemsControl>
402-
</ScrollViewer>
403-
</Grid>
404-
</DataTemplate>
405-
</ItemsControl.ItemTemplate>
406-
</ItemsControl>
407-
</Grid>
327+
328+
<Grid Margin="{ext:Space 1}">
329+
<controls:DynamicFadeScrollViewer>
330+
<ItemsControl ItemsSource="{Binding Chat.UsersByGroup}">
331+
<ItemsControl.ItemTemplate>
332+
<DataTemplate>
333+
<Grid Margin="{ext:Space 0, 0, 0, 1}">
334+
<Grid.RowDefinitions>
335+
<RowDefinition Height="Auto" />
336+
<RowDefinition Height="{ext:Space 0.5}" />
337+
<RowDefinition Height="*" />
338+
</Grid.RowDefinitions>
339+
340+
<TextBlock Grid.Row="0" Classes="BodyStrongTextBlockStyle" FontWeight="SemiBold"
341+
HorizontalAlignment="Left"
342+
Margin="{ext:Space 0.25, 0, 0, 0}">
343+
<TextBlock.Text>
344+
<MultiBinding StringFormat='{}{0} - {1}'>
345+
<Binding Path="Key" />
346+
<Binding Path="Value.Count" />
347+
</MultiBinding>
348+
</TextBlock.Text>
349+
</TextBlock>
350+
351+
<ScrollViewer Grid.Row="2" VerticalScrollBarVisibility="Hidden">
352+
<ItemsControl ItemsSource="{Binding Value}">
353+
<ItemsControl.ItemTemplate>
354+
<DataTemplate DataType="chat:ChatUser">
355+
<controls:ContentCard HorizontalAlignment="Stretch" Cursor="Hand"
356+
PointerPressed="OnUserPressed"
357+
Margin="{ext:Space 0, 0, 0, 1}">
358+
<FlyoutBase.AttachedFlyout>
359+
<MenuFlyout>
360+
<MenuItem Header="Copy User ID"
361+
Command="{Binding CopyIDCommand}" />
362+
<MenuItem Header="Set Role"
363+
Command="{Binding SetRoleCommand}"
364+
IsVisible="{Binding CanChangeRole}" />
365+
</MenuFlyout>
366+
</FlyoutBase.AttachedFlyout>
367+
<Grid HorizontalAlignment="Left" Margin="{ext:Space 1}">
368+
<Grid.RowDefinitions>
369+
<RowDefinition Height="Auto" />
370+
<RowDefinition Height="Auto" />
371+
</Grid.RowDefinitions>
372+
373+
<Grid.ColumnDefinitions>
374+
<ColumnDefinition Width="Auto" />
375+
<ColumnDefinition Width="{ext:Space 1}" />
376+
<ColumnDefinition Width="Auto" />
377+
</Grid.ColumnDefinitions>
378+
379+
<Border Grid.Row="0" Grid.RowSpan="2" Grid.Column="0"
380+
CornerRadius="8" ClipToBounds="True">
381+
<Image
382+
asyncImageLoader:ImageLoader.Source="{Binding AvatarUrl}"
383+
RenderOptions.BitmapInterpolationMode="MediumQuality"
384+
Width="32" Height="32"
385+
Classes="BodyStrongTextBlockStyle"
386+
VerticalAlignment="Center" />
387+
</Border>
388+
389+
<TextBlock Grid.Row="0" Grid.Column="2"
390+
Text="{Binding DisplayName}"
391+
Foreground="{Binding Brush}"
392+
Classes="BodyStrongTextBlockStyle"
393+
VerticalAlignment="Center" />
394+
395+
<TextBlock Grid.Row="1" Grid.Column="2"
396+
Text="{Binding OnlineVersion}"
397+
FontSize="12"
398+
Classes="BodyTextBlockStyle TextFillColorTertiaryBrush"
399+
VerticalAlignment="Center" />
400+
</Grid>
401+
</controls:ContentCard>
402+
</DataTemplate>
403+
</ItemsControl.ItemTemplate>
404+
</ItemsControl>
405+
</ScrollViewer>
406+
</Grid>
407+
</DataTemplate>
408+
</ItemsControl.ItemTemplate>
409+
</ItemsControl>
410+
</controls:DynamicFadeScrollViewer>
411+
</Grid>
408412
</Border>
409413
</Grid>
410414

0 commit comments

Comments
 (0)