From 109806fb36cd1389c79ab08d1cd42a7477dc6cb8 Mon Sep 17 00:00:00 2001 From: Marlon Date: Fri, 19 Dec 2025 18:05:23 +0100 Subject: [PATCH 01/38] .net 10 --- FModel/FModel.csproj | 2 +- FModel/FModel.sln | 37 ------------------------------------- 2 files changed, 1 insertion(+), 38 deletions(-) delete mode 100644 FModel/FModel.sln diff --git a/FModel/FModel.csproj b/FModel/FModel.csproj index 552ce20d..b19e2a4b 100644 --- a/FModel/FModel.csproj +++ b/FModel/FModel.csproj @@ -2,7 +2,7 @@ WinExe - net8.0-windows + net10.0-windows true FModel.ico 4.4.4.0 diff --git a/FModel/FModel.sln b/FModel/FModel.sln deleted file mode 100644 index 238d1b59..00000000 --- a/FModel/FModel.sln +++ /dev/null @@ -1,37 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.0.31912.275 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FModel", "FModel.csproj", "{B1F494EA-90A6-4C24-800E-2F724A1884CA}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CUE4Parse", "..\CUE4Parse\CUE4Parse\CUE4Parse.csproj", "{C4620341-BBB7-4384-AC7D-5082D3E0386E}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CUE4Parse-Conversion", "..\CUE4Parse\CUE4Parse-Conversion\CUE4Parse-Conversion.csproj", "{D0E1E8F7-F56D-469A-8E24-C2439B9FFD83}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {B1F494EA-90A6-4C24-800E-2F724A1884CA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {B1F494EA-90A6-4C24-800E-2F724A1884CA}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B1F494EA-90A6-4C24-800E-2F724A1884CA}.Release|Any CPU.ActiveCfg = Release|Any CPU - {B1F494EA-90A6-4C24-800E-2F724A1884CA}.Release|Any CPU.Build.0 = Release|Any CPU - {C4620341-BBB7-4384-AC7D-5082D3E0386E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {C4620341-BBB7-4384-AC7D-5082D3E0386E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C4620341-BBB7-4384-AC7D-5082D3E0386E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {C4620341-BBB7-4384-AC7D-5082D3E0386E}.Release|Any CPU.Build.0 = Release|Any CPU - {D0E1E8F7-F56D-469A-8E24-C2439B9FFD83}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {D0E1E8F7-F56D-469A-8E24-C2439B9FFD83}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D0E1E8F7-F56D-469A-8E24-C2439B9FFD83}.Release|Any CPU.ActiveCfg = Release|Any CPU - {D0E1E8F7-F56D-469A-8E24-C2439B9FFD83}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {53DB7A15-4E15-4575-9402-0110BDF2794E} - EndGlobalSection -EndGlobal From ec15a983c132c68844a2fe7535f6829f6994a135 Mon Sep 17 00:00:00 2001 From: Marlon Date: Fri, 19 Dec 2025 18:06:25 +0100 Subject: [PATCH 02/38] use adonis fork instead of nuget packages --- .gitmodules | 3 +++ FModel/FModel.csproj | 4 ++-- FModel/FModel.slnx | 2 ++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index 2221fc41..6f7f679d 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "CUE4Parse"] path = CUE4Parse url = https://github.com/FabianFG/CUE4Parse +[submodule "Adonis"] + path = Adonis + url = https://github.com/FModel/adonis-ui diff --git a/FModel/FModel.csproj b/FModel/FModel.csproj index b19e2a4b..81a199a3 100644 --- a/FModel/FModel.csproj +++ b/FModel/FModel.csproj @@ -150,8 +150,6 @@ - - @@ -173,6 +171,8 @@ + + diff --git a/FModel/FModel.slnx b/FModel/FModel.slnx index ca74a91b..48be1ac4 100644 --- a/FModel/FModel.slnx +++ b/FModel/FModel.slnx @@ -1,4 +1,6 @@ + + From 874078c11b5bb82bb24e79ce1ae86ebb77b6b5e4 Mon Sep 17 00:00:00 2001 From: Marlon Date: Fri, 19 Dec 2025 18:14:05 +0100 Subject: [PATCH 03/38] adonis fork --- Adonis | 1 + 1 file changed, 1 insertion(+) create mode 160000 Adonis diff --git a/Adonis b/Adonis new file mode 160000 index 00000000..ca374f32 --- /dev/null +++ b/Adonis @@ -0,0 +1 @@ +Subproject commit ca374f32f71718d4662ff86bd9720c710666d5e0 From 3e4db888510e3d54e6b717a0998f9cece0ea0e61 Mon Sep 17 00:00:00 2001 From: Marlon Date: Fri, 19 Dec 2025 18:17:32 +0100 Subject: [PATCH 04/38] updated workflows to .net 10 --- .github/workflows/main.yml | 4 ++-- .github/workflows/qa.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a8e8e6de..f0389930 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -21,10 +21,10 @@ jobs: - name: Fetch Submodules Recursively run: git submodule update --init --recursive - - name: .NET 8 Setup + - name: .NET 10 Setup uses: actions/setup-dotnet@v5 with: - dotnet-version: '8.0.x' + dotnet-version: '10.0.x' - name: .NET Restore run: dotnet restore FModel diff --git a/.github/workflows/qa.yml b/.github/workflows/qa.yml index 3898ed70..b5acda65 100644 --- a/.github/workflows/qa.yml +++ b/.github/workflows/qa.yml @@ -14,10 +14,10 @@ jobs: with: submodules: 'recursive' - - name: .NET 8 Setup + - name: .NET 10 Setup uses: actions/setup-dotnet@v5 with: - dotnet-version: '8.0.x' + dotnet-version: '10.0.x' - name: .NET Restore run: dotnet restore "./FModel/FModel.slnx" From 3ce6877b7a129fe238967ec49b315838bee0313a Mon Sep 17 00:00:00 2001 From: Marlon Date: Tue, 27 Jan 2026 14:22:58 +0100 Subject: [PATCH 05/38] cue4parse update --- CUE4Parse | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CUE4Parse b/CUE4Parse index 68655624..ad8e5e20 160000 --- a/CUE4Parse +++ b/CUE4Parse @@ -1 +1 @@ -Subproject commit 6865562475cb0661843438c4a20bd8748ba9c5e2 +Subproject commit ad8e5e205e08fea200a5d6a540d1ef453db44d10 From 0e7b88901bb085b1d5db60d7c568329f300c5403 Mon Sep 17 00:00:00 2001 From: Marlon Date: Tue, 27 Jan 2026 14:31:19 +0100 Subject: [PATCH 06/38] nuget updates --- CUE4Parse | 2 +- FModel/FModel.csproj | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CUE4Parse b/CUE4Parse index ad8e5e20..841f8beb 160000 --- a/CUE4Parse +++ b/CUE4Parse @@ -1 +1 @@ -Subproject commit ad8e5e205e08fea200a5d6a540d1ef453db44d10 +Subproject commit 841f8bebddc47caee3d975aeaf61f9c4b4ce0e94 diff --git a/FModel/FModel.csproj b/FModel/FModel.csproj index 5327f7f5..f1f288ea 100644 --- a/FModel/FModel.csproj +++ b/FModel/FModel.csproj @@ -1,4 +1,4 @@ - + WinExe @@ -161,12 +161,12 @@ - + - - + + From c1d1df567858dfe0d74d272c8f6598667a6bc8be Mon Sep 17 00:00:00 2001 From: Marlon Date: Sun, 1 Feb 2026 16:42:07 +0100 Subject: [PATCH 07/38] use FModel.AdonisUI packages instead of submodule --- .gitmodules | 3 --- Adonis | 1 - CUE4Parse | 2 +- FModel/FModel.csproj | 4 ++-- FModel/FModel.slnx | 2 -- 5 files changed, 3 insertions(+), 9 deletions(-) delete mode 160000 Adonis diff --git a/.gitmodules b/.gitmodules index 6f7f679d..2221fc41 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,3 @@ [submodule "CUE4Parse"] path = CUE4Parse url = https://github.com/FabianFG/CUE4Parse -[submodule "Adonis"] - path = Adonis - url = https://github.com/FModel/adonis-ui diff --git a/Adonis b/Adonis deleted file mode 160000 index ca374f32..00000000 --- a/Adonis +++ /dev/null @@ -1 +0,0 @@ -Subproject commit ca374f32f71718d4662ff86bd9720c710666d5e0 diff --git a/CUE4Parse b/CUE4Parse index 841f8beb..a86e1ab2 160000 --- a/CUE4Parse +++ b/CUE4Parse @@ -1 +1 @@ -Subproject commit 841f8bebddc47caee3d975aeaf61f9c4b4ce0e94 +Subproject commit a86e1ab248d05416eea1d4dc32f39d3c8412e4bd diff --git a/FModel/FModel.csproj b/FModel/FModel.csproj index f1f288ea..95b20490 100644 --- a/FModel/FModel.csproj +++ b/FModel/FModel.csproj @@ -156,6 +156,8 @@ + + @@ -172,8 +174,6 @@ - - diff --git a/FModel/FModel.slnx b/FModel/FModel.slnx index 48be1ac4..ca74a91b 100644 --- a/FModel/FModel.slnx +++ b/FModel/FModel.slnx @@ -1,6 +1,4 @@ - - From dc441c54868748b17cfb5ce93ef88d6cd21b0fea Mon Sep 17 00:00:00 2001 From: Marlon Date: Sun, 1 Feb 2026 17:24:26 +0100 Subject: [PATCH 08/38] Fmod5Sharp update --- CUE4Parse | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CUE4Parse b/CUE4Parse index a86e1ab2..8067d493 160000 --- a/CUE4Parse +++ b/CUE4Parse @@ -1 +1 @@ -Subproject commit a86e1ab248d05416eea1d4dc32f39d3c8412e4bd +Subproject commit 8067d4938202e9211eaa4a2812c161601e8db3db From c1a9e3ffa50247b461a760616f66847e0c036b64 Mon Sep 17 00:00:00 2001 From: Asval Date: Sat, 21 Feb 2026 19:39:46 +0100 Subject: [PATCH 09/38] bump c4p --- CUE4Parse | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CUE4Parse b/CUE4Parse index 897b1cce..37bafd0b 160000 --- a/CUE4Parse +++ b/CUE4Parse @@ -1 +1 @@ -Subproject commit 897b1cce7c24298871780a979671a9b1b69453bd +Subproject commit 37bafd0be17ce1b8142c2ea4e8feb4abbe183d3d From 6327f1b2d39a807324255f9e77051e01ed983ef3 Mon Sep 17 00:00:00 2001 From: Krowe Moh <27891447+Krowe-moh@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:17:30 +1100 Subject: [PATCH 10/38] Search for Shipping exe within Engine folder --- FModel/ViewModels/GameSelectorViewModel.cs | 24 ++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/FModel/ViewModels/GameSelectorViewModel.cs b/FModel/ViewModels/GameSelectorViewModel.cs index 369945b2..6447e2d7 100644 --- a/FModel/ViewModels/GameSelectorViewModel.cs +++ b/FModel/ViewModels/GameSelectorViewModel.cs @@ -134,11 +134,27 @@ public class GameSelectorViewModel : ViewModel } } - var crashReportClientExe = Path.Combine(projectDir, "..", "Engine", "Binaries", "Win64", "CrashReportClient.exe"); - if (File.Exists(crashReportClientExe) && TryGetUeVersionFromExe(crashReportClientExe, out ueVersion)) + var projectEngineBinariesDir = Path.Combine(projectDir, "..", "Engine", "Binaries", "Win64"); + + if (Directory.Exists(projectEngineBinariesDir)) { - Log.Information("Detected UE version {UeVersion} from \"{Exe}\"", ueVersion, crashReportClientExe); - return true; + var crashReportClientExe = Path.Combine(projectEngineBinariesDir, "CrashReportClient.exe"); + if (File.Exists(crashReportClientExe) && TryGetUeVersionFromExe(crashReportClientExe, out ueVersion)) + { + Log.Information("Detected UE version {UeVersion} from \"{Exe}\"", ueVersion, crashReportClientExe); + return true; + } + if (Directory.GetFiles(projectEngineBinariesDir, "*-Win64-Shipping.exe") is { Length: > 0 } shipping) + { + foreach (var exe in shipping) + { + if (TryGetUeVersionFromExe(exe, out ueVersion)) + { + Log.Information("Detected UE version {UeVersion} from \"{Exe}\"", ueVersion, exe); + return true; + } + } + } } ueVersion = EGame.GAME_UE4_LATEST; From 9f298c544fdbf31400456116a61785003048a770 Mon Sep 17 00:00:00 2001 From: Krowe Moh <27891447+Krowe-moh@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:18:00 +1100 Subject: [PATCH 11/38] Prevent Export logs on Search menu extracts reduces logs flood causing slowdown on export --- .../Commands/RightClickMenuCommand.cs | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/FModel/ViewModels/Commands/RightClickMenuCommand.cs b/FModel/ViewModels/Commands/RightClickMenuCommand.cs index b490957c..e82b4905 100644 --- a/FModel/ViewModels/Commands/RightClickMenuCommand.cs +++ b/FModel/ViewModels/Commands/RightClickMenuCommand.cs @@ -43,6 +43,7 @@ public class RightClickMenuCommand : ViewModelCommand if (param.Length == 0) return; var folders = param.OfType().ToArray(); + var searchMenu = param[0] is GameFile; var assets = param .Select(static item => item switch { @@ -138,6 +139,20 @@ public class RightClickMenuCommand : ViewModelCommand _ => (entry, bulk, update) => contextViewModel.CUE4Parse.Extract(cancellationToken, entry, false, bulk), }; + if (searchMenu) + { + var update = assets.Length > 1; + foreach (var entry in assets) + { + Thread.Yield(); + cancellationToken.ThrowIfCancellationRequested(); + fileAction(entry, bulktype | EBulkType.Auto, update); + } + + LogExport(contextViewModel, filetype); + return; + } + foreach (var group in assetsGroups) { var directory = group.Key; @@ -190,4 +205,26 @@ public class RightClickMenuCommand : ViewModelCommand Interlocked.Exchange(ref contextViewModel.CUE4Parse.ExportedCount, 0); Interlocked.Exchange(ref contextViewModel.CUE4Parse.FailedExportCount, 0); } + + private void LogExport(ApplicationViewModel contextViewModel, string fileType) + { + if (contextViewModel.CUE4Parse.ExportedCount > 0) + { + FLogger.Append(ELog.Information, () => + { + FLogger.Text($"Successfully exported {contextViewModel.CUE4Parse.ExportedCount} {fileType}", Constants.WHITE, true); + }); + } + + if (contextViewModel.CUE4Parse.FailedExportCount > 0) + { + FLogger.Append(ELog.Error, () => + { + FLogger.Text($"Failed to export {contextViewModel.CUE4Parse.FailedExportCount} {fileType}", Constants.WHITE, true); + }); + } + + Interlocked.Exchange(ref contextViewModel.CUE4Parse.ExportedCount, 0); + Interlocked.Exchange(ref contextViewModel.CUE4Parse.FailedExportCount, 0); + } } From bb41727e8843976be0a43e420bfcc85373e16ef7 Mon Sep 17 00:00:00 2001 From: Chompster86 Date: Mon, 23 Feb 2026 11:18:56 -0500 Subject: [PATCH 12/38] Update SearchView.xaml Fixed metadata in search view and added it to reference view. --- FModel/Views/SearchView.xaml | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/FModel/Views/SearchView.xaml b/FModel/Views/SearchView.xaml index 9e3a1f93..defa4853 100644 --- a/FModel/Views/SearchView.xaml +++ b/FModel/Views/SearchView.xaml @@ -161,6 +161,21 @@ + + + + + + + + + + + + + + + @@ -529,6 +544,21 @@ + + + + + + + + + + + + + + + From ee3af8480f2a28839313421f8f291666bbcf71f2 Mon Sep 17 00:00:00 2001 From: Chompster86 Date: Mon, 23 Feb 2026 10:36:42 -0500 Subject: [PATCH 13/38] Update TabCommand.cs --- FModel/ViewModels/Commands/TabCommand.cs | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/FModel/ViewModels/Commands/TabCommand.cs b/FModel/ViewModels/Commands/TabCommand.cs index a622d5e4..2867f87a 100644 --- a/FModel/ViewModels/Commands/TabCommand.cs +++ b/FModel/ViewModels/Commands/TabCommand.cs @@ -31,9 +31,15 @@ public class TabCommand : ViewModelCommand case "Close_Other_Tabs": _applicationView.CUE4Parse.TabControl.RemoveOtherTabs(tabViewModel); break; + case "Assets_Show_Metadata": + _applicationView.CUE4Parse.ShowMetadata(tabViewModel.Entry); + break; case "Find_References": _applicationView.CUE4Parse.FindReferences(tabViewModel.Entry); break; + case "Assets_Decompile": + _applicationView.CUE4Parse.Decompile(tabViewModel.Entry); + break; case "Save_Data": await _threadWorkerView.Begin(_ => _applicationView.CUE4Parse.ExportData(tabViewModel.Entry)); break; @@ -77,9 +83,21 @@ public class TabCommand : ViewModelCommand }.Show(); }); break; - case "Copy_Asset_Path": + case "File_Path": Clipboard.SetText(tabViewModel.Entry.Path); break; + case "File_Name": + Clipboard.SetText(tabViewModel.Entry.Name); + break; + case "Directory_Path": + Clipboard.SetText(tabViewModel.Entry.Directory); + break; + case "File_Path_No_Extension": + Clipboard.SetText(tabViewModel.Entry.PathWithoutExtension); + break; + case "File_Name_No_Extension": + Clipboard.SetText(tabViewModel.Entry.NameWithoutExtension); + break; } } } From 879063cf5385b393617d9aa75c048f46f51ea004 Mon Sep 17 00:00:00 2001 From: Chompster86 Date: Mon, 23 Feb 2026 10:33:57 -0500 Subject: [PATCH 14/38] Update Resources.xaml --- FModel/Views/Resources/Resources.xaml | 61 ++++++++++++++++++++++++++- 1 file changed, 60 insertions(+), 1 deletion(-) diff --git a/FModel/Views/Resources/Resources.xaml b/FModel/Views/Resources/Resources.xaml index c33eb148..ce77bf5c 100644 --- a/FModel/Views/Resources/Resources.xaml +++ b/FModel/Views/Resources/Resources.xaml @@ -910,6 +910,26 @@ + + + + + + + + + + + + + + + + + + + + @@ -931,6 +951,35 @@ + + + + + + + + + + + + + + + + + + + + + + + @@ -1010,7 +1059,7 @@ - + @@ -1018,6 +1067,16 @@ + + + + + + + + + + From f21060105d4bad4d8c859ba9cd7824b774ca7581 Mon Sep 17 00:00:00 2001 From: ScrubN <72096833+ScrubN@users.noreply.github.com> Date: Sun, 31 Dec 2023 02:17:47 -0500 Subject: [PATCH 15/38] Clear _waveSource and PlayedFile if last file was removed --- FModel/ViewModels/AudioPlayerViewModel.cs | 31 +++++++++++++++++++ .../Resources/Controls/Aup/SourceEventArgs.cs | 5 +-- 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/FModel/ViewModels/AudioPlayerViewModel.cs b/FModel/ViewModels/AudioPlayerViewModel.cs index 26ed628c..1409e9f6 100644 --- a/FModel/ViewModels/AudioPlayerViewModel.cs +++ b/FModel/ViewModels/AudioPlayerViewModel.cs @@ -238,6 +238,20 @@ public class AudioPlayerViewModel : ViewModel, ISource, IDisposable }); } + public void Unload() + { + Application.Current.Dispatcher.Invoke(() => + { + _waveSource = null; + + PlayedFile = new AudioFile(-1, "No audio file"); + Spectrum = null; + + RaiseSourceEvent(ESourceEventType.Clearing); + ClearSoundOut(); + }); + } + public void AddToPlaylist(byte[] data, string filePath) { Application.Current.Dispatcher.Invoke(() => @@ -274,6 +288,18 @@ public class AudioPlayerViewModel : ViewModel, ISource, IDisposable { _audioFiles[i].Id = i; } + + if (_audioFiles.Count < 1) + { + Unload(); + return; + } + + SelectedAudioFile = _audioFiles[SelectedAudioFile.Id]; + + if (!removedPlaying) return; + Load(); + Play(); }); } @@ -525,6 +551,11 @@ public class AudioPlayerViewModel : ViewModel, ISource, IDisposable _soundOut.Volume = UserSettings.Default.AudioPlayerVolume / 100; } + private void ClearSoundOut() + { + _soundOut = null; + } + private IEnumerable EnumerateDevices() { using var deviceEnumerator = new MMDeviceEnumerator(); diff --git a/FModel/Views/Resources/Controls/Aup/SourceEventArgs.cs b/FModel/Views/Resources/Controls/Aup/SourceEventArgs.cs index 102546ea..964638b7 100644 --- a/FModel/Views/Resources/Controls/Aup/SourceEventArgs.cs +++ b/FModel/Views/Resources/Controls/Aup/SourceEventArgs.cs @@ -4,7 +4,8 @@ namespace FModel.Views.Resources.Controls.Aup; public enum ESourceEventType { - Loading + Loading, + Clearing } public class SourceEventArgs : EventArgs @@ -15,4 +16,4 @@ public class SourceEventArgs : EventArgs { Event = e; } -} \ No newline at end of file +} From 749790b1deaafe71069f93ab2e586a2a48f65d0d Mon Sep 17 00:00:00 2001 From: ScrubN <72096833+ScrubN@users.noreply.github.com> Date: Sun, 31 Dec 2023 02:13:16 -0500 Subject: [PATCH 16/38] Stop playback if removed file was currently playing file --- FModel/ViewModels/AudioPlayerViewModel.cs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/FModel/ViewModels/AudioPlayerViewModel.cs b/FModel/ViewModels/AudioPlayerViewModel.cs index 1409e9f6..70d33ffc 100644 --- a/FModel/ViewModels/AudioPlayerViewModel.cs +++ b/FModel/ViewModels/AudioPlayerViewModel.cs @@ -283,6 +283,13 @@ public class AudioPlayerViewModel : ViewModel, ISource, IDisposable if (_audioFiles.Count < 1) return; Application.Current.Dispatcher.Invoke(() => { + var removedPlaying = false; + if (PlayedFile.Id == SelectedAudioFile.Id) + { + removedPlaying = true; + Stop(); + } + _audioFiles.RemoveAt(SelectedAudioFile.Id); for (var i = 0; i < _audioFiles.Count; i++) { From cbc580ce37da7b61572fe632e662fd2a53c1d43f Mon Sep 17 00:00:00 2001 From: ScrubN <72096833+ScrubN@users.noreply.github.com> Date: Sun, 31 Dec 2023 02:06:05 -0500 Subject: [PATCH 17/38] Add 'X' hotkey for removing selected audio from the playlist --- FModel/Settings/UserSettings.cs | 7 +++++++ FModel/Views/AudioPlayer.xaml.cs | 2 ++ FModel/Views/SettingsView.xaml | 3 +++ 3 files changed, 12 insertions(+) diff --git a/FModel/Settings/UserSettings.cs b/FModel/Settings/UserSettings.cs index bca1427d..68a6c775 100644 --- a/FModel/Settings/UserSettings.cs +++ b/FModel/Settings/UserSettings.cs @@ -363,6 +363,13 @@ namespace FModel.Settings set => SetProperty(ref _addAudio, value); } + private Hotkey _removeAudio = new(Key.X); + public Hotkey RemoveAudio + { + get => _removeAudio; + set => SetProperty(ref _removeAudio, value); + } + private Hotkey _playPauseAudio = new(Key.K); public Hotkey PlayPauseAudio { diff --git a/FModel/Views/AudioPlayer.xaml.cs b/FModel/Views/AudioPlayer.xaml.cs index 332b6101..f65660ce 100644 --- a/FModel/Views/AudioPlayer.xaml.cs +++ b/FModel/Views/AudioPlayer.xaml.cs @@ -75,6 +75,8 @@ public partial class AudioPlayer _applicationView.AudioPlayer.Previous(); else if (UserSettings.Default.NextAudio.IsTriggered(e.Key)) _applicationView.AudioPlayer.Next(); + else if (UserSettings.Default.RemoveAudio.IsTriggered(e.Key)) + _applicationView.AudioPlayer.Remove(); } private void OnAudioFileMouseDoubleClick(object sender, MouseButtonEventArgs e) diff --git a/FModel/Views/SettingsView.xaml b/FModel/Views/SettingsView.xaml index b38b62d5..800e3d60 100644 --- a/FModel/Views/SettingsView.xaml +++ b/FModel/Views/SettingsView.xaml @@ -602,6 +602,9 @@ + + From d33dc959bfa5302adc27eca6647ba9f190a11a00 Mon Sep 17 00:00:00 2001 From: Krowe Moh <27891447+Krowe-moh@users.noreply.github.com> Date: Sat, 4 Apr 2026 18:47:34 +1100 Subject: [PATCH 18/38] Fixed Both in one --- FModel/Views/SettingsView.xaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/FModel/Views/SettingsView.xaml b/FModel/Views/SettingsView.xaml index 800e3d60..d08606ec 100644 --- a/FModel/Views/SettingsView.xaml +++ b/FModel/Views/SettingsView.xaml @@ -556,6 +556,7 @@ + @@ -602,8 +603,8 @@ - - + From d159aa483d7592543fe6f581ef102735f2f8294d Mon Sep 17 00:00:00 2001 From: Krowe Moh <27891447+Krowe-moh@users.noreply.github.com> Date: Sat, 4 Apr 2026 20:13:31 +1100 Subject: [PATCH 19/38] Bump CUE4parse --- CUE4Parse | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CUE4Parse b/CUE4Parse index 721e812b..39d1b4b1 160000 --- a/CUE4Parse +++ b/CUE4Parse @@ -1 +1 @@ -Subproject commit 721e812b7bd82f94a23ab728d0887245bb4c56d9 +Subproject commit 39d1b4b1fb57cc7cf47e10b003a1dca3961661c3 From bb160e798e8a7092ca68bb86ad24dacd1c1377f2 Mon Sep 17 00:00:00 2001 From: Krowe Moh <27891447+Krowe-moh@users.noreply.github.com> Date: Thu, 9 Apr 2026 05:53:45 +1000 Subject: [PATCH 20/38] Added 50 Entry Limit --- .../ViewModels/Commands/RightClickMenuCommand.cs | 14 +++----------- FModel/ViewModels/TabControlViewModel.cs | 2 +- 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/FModel/ViewModels/Commands/RightClickMenuCommand.cs b/FModel/ViewModels/Commands/RightClickMenuCommand.cs index e82b4905..28e50f7b 100644 --- a/FModel/ViewModels/Commands/RightClickMenuCommand.cs +++ b/FModel/ViewModels/Commands/RightClickMenuCommand.cs @@ -146,10 +146,10 @@ public class RightClickMenuCommand : ViewModelCommand { Thread.Yield(); cancellationToken.ThrowIfCancellationRequested(); - fileAction(entry, bulktype | EBulkType.Auto, update); + fileAction(entry, bulktype, update); } - LogExport(contextViewModel, filetype); + if (assets.Length > 50) LogExport(contextViewModel, filetype); return; } @@ -212,15 +212,7 @@ public class RightClickMenuCommand : ViewModelCommand { FLogger.Append(ELog.Information, () => { - FLogger.Text($"Successfully exported {contextViewModel.CUE4Parse.ExportedCount} {fileType}", Constants.WHITE, true); - }); - } - - if (contextViewModel.CUE4Parse.FailedExportCount > 0) - { - FLogger.Append(ELog.Error, () => - { - FLogger.Text($"Failed to export {contextViewModel.CUE4Parse.FailedExportCount} {fileType}", Constants.WHITE, true); + FLogger.Text($"Successfully exported {contextViewModel.CUE4Parse.ExportedCount} {fileType}, Failed to export {contextViewModel.CUE4Parse.FailedExportCount} {fileType} in other folders.", Constants.WHITE, true); }); } diff --git a/FModel/ViewModels/TabControlViewModel.cs b/FModel/ViewModels/TabControlViewModel.cs index dbeb4423..7f18c1e7 100644 --- a/FModel/ViewModels/TabControlViewModel.cs +++ b/FModel/ViewModels/TabControlViewModel.cs @@ -426,7 +426,7 @@ public class TabItem : ViewModel { Interlocked.Increment(ref ApplicationService.ApplicationView.CUE4Parse.ExportedCount); Log.Information("{FileName} successfully saved", fileName); - if (updateUi) + if (updateUi && ApplicationService.ApplicationView.CUE4Parse.ExportedCount < 50) { FLogger.Append(ELog.Information, () => { From 40ebb176d43702cb2ec9c2e521f196b90c29f35a Mon Sep 17 00:00:00 2001 From: Krowe Moh <27891447+Krowe-moh@users.noreply.github.com> Date: Tue, 19 May 2026 07:48:13 +1000 Subject: [PATCH 21/38] New ItemDefs added recently --- FModel/Creator/CreatorPackage.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/FModel/Creator/CreatorPackage.cs b/FModel/Creator/CreatorPackage.cs index b2b12284..c6edb868 100644 --- a/FModel/Creator/CreatorPackage.cs +++ b/FModel/Creator/CreatorPackage.cs @@ -50,6 +50,9 @@ public class CreatorPackage : IDisposable case "CosmeticShoesItemDefinition": case "CosmeticCompanionItemDefinition": case "CosmeticCompanionReactFXItemDefinition": + case "MagpieEntitlementRewardDefinition": + case "FortDeferredItemGrantDefinition": + case "PiggybackDanceItemDefinition": case "AthenaPickaxeItemDefinition": case "AthenaGadgetItemDefinition": case "AthenaGliderItemDefinition": From b84ee3f14ed0d3bc86210a0d75d212d28076c3f3 Mon Sep 17 00:00:00 2001 From: Krowe Moh <27891447+Krowe-moh@users.noreply.github.com> Date: Sun, 24 May 2026 06:21:26 +1000 Subject: [PATCH 22/38] modified stuff in FN creator --- FModel/Creator/Bases/FN/BaseIcon.cs | 7 ++++++- FModel/Creator/CreatorPackage.cs | 3 +++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/FModel/Creator/Bases/FN/BaseIcon.cs b/FModel/Creator/Bases/FN/BaseIcon.cs index edf73fce..cd57824c 100644 --- a/FModel/Creator/Bases/FN/BaseIcon.cs +++ b/FModel/Creator/Bases/FN/BaseIcon.cs @@ -56,8 +56,13 @@ public class BaseIcon : UCreator Preview = Utils.GetBitmap(otherPreview); else if (Object.TryGetValue(out UMaterialInstanceConstant materialInstancePreview, "EventCalloutImage")) Preview = Utils.GetBitmap(materialInstancePreview); - else if (Object.TryGetValue(out FStructFallback brush, "IconBrush") && brush.TryGetValue(out UTexture2D res, "ResourceObject")) + else if (Object.TryGetValue(out FStructFallback brush, "IconBrush", "BuildingSymbolNormal") && brush.TryGetValue(out UTexture2D res, "ResourceObject")) Preview = Utils.GetBitmap(res); + else if (Object.TryGetValue(out FStructFallback mission, "MissionIcons", "PopupWidgetData")) + { + if (mission.TryGetValue(out FStructFallback brushsize, "Brush_XL", "Brush_L", "Brush_M", "Brush_S", "Brush_XS", "Brush_XXS", "AvailableIcon", "UnavailableIcon") && brushsize.TryGetValue(out UTexture2D res2, "ResourceObject")) + Preview = Utils.GetBitmap(res2); + } } // text diff --git a/FModel/Creator/CreatorPackage.cs b/FModel/Creator/CreatorPackage.cs index c6edb868..3ca2db26 100644 --- a/FModel/Creator/CreatorPackage.cs +++ b/FModel/Creator/CreatorPackage.cs @@ -52,7 +52,9 @@ public class CreatorPackage : IDisposable case "CosmeticCompanionReactFXItemDefinition": case "MagpieEntitlementRewardDefinition": case "FortDeferredItemGrantDefinition": + case "BattleLabDeviceItemDefinition": case "PiggybackDanceItemDefinition": + case "MyTownBuildingDefinitionData": case "AthenaPickaxeItemDefinition": case "AthenaGadgetItemDefinition": case "AthenaGliderItemDefinition": @@ -66,6 +68,7 @@ public class CreatorPackage : IDisposable case "FortTokenType": case "FortAbilityKit": case "FortWorkerType": + case "FortMissionInfo": case "RewardGraphToken": case "JunoKnowledgeBundle": case "FortBannerTokenType": From 625e5df2e717fef23a5c0756e10a51a3ea21292e Mon Sep 17 00:00:00 2001 From: Marlon Date: Fri, 5 Jun 2026 01:19:32 +0200 Subject: [PATCH 23/38] nuget updates --- FModel/FModel.csproj | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/FModel/FModel.csproj b/FModel/FModel.csproj index 46f88501..73c8d664 100644 --- a/FModel/FModel.csproj +++ b/FModel/FModel.csproj @@ -166,13 +166,12 @@ - + - - + - + From e3c108bb64a2782d5242b0902e4f32fabd315edc Mon Sep 17 00:00:00 2001 From: Marlon Date: Fri, 5 Jun 2026 01:21:26 +0200 Subject: [PATCH 24/38] restsharp update --- FModel/FModel.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FModel/FModel.csproj b/FModel/FModel.csproj index 73c8d664..861a11fe 100644 --- a/FModel/FModel.csproj +++ b/FModel/FModel.csproj @@ -165,7 +165,7 @@ - + From 141672fe6a4ae4b176d9c2fd7c1e6af10e7d3878 Mon Sep 17 00:00:00 2001 From: Marlon Date: Fri, 5 Jun 2026 02:51:13 +0200 Subject: [PATCH 25/38] minor compression rework --- CUE4Parse | 2 +- .../ApiEndpoints/ValorantApiEndpoint.cs | 2 +- FModel/ViewModels/ApplicationViewModel.cs | 19 +++++-------------- 3 files changed, 7 insertions(+), 16 deletions(-) diff --git a/CUE4Parse b/CUE4Parse index aca11d9b..2aeffbc1 160000 --- a/CUE4Parse +++ b/CUE4Parse @@ -1 +1 @@ -Subproject commit aca11d9b5514144fb8305b604410dc51e260a4c0 +Subproject commit 2aeffbc197ff0f8a8c8b069aef007c64d97aa8f2 diff --git a/FModel/ViewModels/ApiEndpoints/ValorantApiEndpoint.cs b/FModel/ViewModels/ApiEndpoints/ValorantApiEndpoint.cs index fc0713c8..2a450517 100644 --- a/FModel/ViewModels/ApiEndpoints/ValorantApiEndpoint.cs +++ b/FModel/ViewModels/ApiEndpoints/ValorantApiEndpoint.cs @@ -53,7 +53,7 @@ public class VManifest Header = new VHeader(Ar); var compressedBuffer = Ar.ReadBytes((int) Header.CompressedSize); var uncompressedBuffer = new byte[(int)Header.UncompressedSize]; - ZlibHelper.Decompress(compressedBuffer, 0, compressedBuffer.Length, uncompressedBuffer, 0, uncompressedBuffer.Length); + Compression.Decompress(compressedBuffer, 0, compressedBuffer.Length, uncompressedBuffer, 0, uncompressedBuffer.Length, CompressionMethod.Zlib, Ar); var manifestAr = new FByteArchive("UncompressedValorantManifest", uncompressedBuffer); Chunks = manifestAr.ReadArray((int) Header.ChunkCount); diff --git a/FModel/ViewModels/ApplicationViewModel.cs b/FModel/ViewModels/ApplicationViewModel.cs index c16619b0..93f746c0 100644 --- a/FModel/ViewModels/ApplicationViewModel.cs +++ b/FModel/ViewModels/ApplicationViewModel.cs @@ -265,15 +265,8 @@ public class ApplicationViewModel : ViewModel { var zipDir = Path.GetDirectoryName(vgmZipFilePath)!; await using var zipFs = File.OpenRead(vgmZipFilePath); - using var zip = new ZipArchive(zipFs, ZipArchiveMode.Read); - - foreach (var entry in zip.Entries) - { - var entryPath = Path.Combine(zipDir, entry.FullName); - await using var entryFs = File.Create(entryPath); - await using var entryStream = entry.Open(); - await entryStream.CopyToAsync(entryFs); - } + await using var zip = await ZipArchive.CreateAsync(zipFs, ZipArchiveMode.Read, true, null); + await zip.ExtractToDirectoryAsync(zipDir, true); } else { @@ -305,9 +298,7 @@ public class ApplicationViewModel : ViewModel oodlePath = Path.Combine(UserSettings.Default.OutputDirectory, ".data", OodleHelper.OODLE_NAME_CURRENT); } - OodleHelper.Initialize(oodlePath); - if (OodleHelper.Instance is null) - FLogger.Append(ELog.Error, () => FLogger.Text("Failed to download Oodle", Constants.WHITE, true)); + await OodleHelper.InitializeAsync(oodlePath); } public static async Task InitZlib() @@ -319,12 +310,12 @@ public class ApplicationViewModel : ViewModel { if (!await ZlibHelper.DownloadDllAsync(zlibPath)) { - FLogger.Append(ELog.Error, () => FLogger.Text("Failed to download Zlib-ng", Constants.WHITE, true)); + zlibFileInfo.Refresh(); if (!zlibFileInfo.Exists) return; } } - ZlibHelper.Initialize(zlibPath); + await ZlibHelper.InitializeAsync(zlibPath); } public static async Task InitDetex() From 32a12da5d0f2f0eeea7deac39020df5669236be6 Mon Sep 17 00:00:00 2001 From: Marlon Date: Fri, 5 Jun 2026 02:55:07 +0200 Subject: [PATCH 26/38] bump c4p --- CUE4Parse | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CUE4Parse b/CUE4Parse index 2aeffbc1..d807df72 160000 --- a/CUE4Parse +++ b/CUE4Parse @@ -1 +1 @@ -Subproject commit 2aeffbc197ff0f8a8c8b069aef007c64d97aa8f2 +Subproject commit d807df729bda91706598ef2f4531bd9799dfb8ef From 05693db22858239a98d67ffc72106b69fbff5936 Mon Sep 17 00:00:00 2001 From: Asval Date: Fri, 5 Jun 2026 20:06:26 +0200 Subject: [PATCH 27/38] yoinked snooper's imgui export modal --- CUE4Parse | 2 +- FModel/App.xaml.cs | 4 + FModel/Extensions/LogEventExtensions.cs | 11 + FModel/FModel.csproj | 6 + FModel/Framework/ImGuiController.cs | 73 +- FModel/Resources/fa-brands-400.otf | Bin 0 -> 215132 bytes FModel/Resources/fa-regular-400.otf | Bin 0 -> 87340 bytes FModel/Resources/fa-solid-900.otf | Bin 0 -> 414664 bytes FModel/Settings/UserSettings.cs | 63 +- FModel/ViewModels/CUE4ParseViewModel.cs | 44 +- FModel/ViewModels/SettingsViewModel.cs | 36 +- FModel/ViewModels/TabControlViewModel.cs | 1 + FModel/Views/SettingsView.xaml | 4 +- FModel/Views/Snooper/Animations/Animation.cs | 20 +- FModel/Views/Snooper/Animations/Sequence.cs | 2 +- FModel/Views/Snooper/Animations/Skeleton.cs | 2 +- .../Views/Snooper/Animations/TimeTracker.cs | 4 +- .../Views/Snooper/Buffers/PickingTexture.cs | 2 +- FModel/Views/Snooper/ExportModal.cs | 662 ++++++++++++++++++ FModel/Views/Snooper/Models/Attachment.cs | 6 +- .../Views/Snooper/Models/IRenderableModel.cs | 25 +- FModel/Views/Snooper/Models/Morph.cs | 2 +- FModel/Views/Snooper/Models/SkeletalModel.cs | 15 +- FModel/Views/Snooper/Models/SplineModel.cs | 7 +- FModel/Views/Snooper/Models/StaticModel.cs | 28 +- FModel/Views/Snooper/Models/UModel.cs | 60 +- FModel/Views/Snooper/Options.cs | 29 +- FModel/Views/Snooper/Renderer.cs | 11 +- FModel/Views/Snooper/Shading/Material.cs | 2 +- FModel/Views/Snooper/SnimGui.cs | 88 +-- 30 files changed, 946 insertions(+), 263 deletions(-) create mode 100644 FModel/Extensions/LogEventExtensions.cs create mode 100644 FModel/Resources/fa-brands-400.otf create mode 100644 FModel/Resources/fa-regular-400.otf create mode 100644 FModel/Resources/fa-solid-900.otf create mode 100644 FModel/Views/Snooper/ExportModal.cs diff --git a/CUE4Parse b/CUE4Parse index d807df72..4c333298 160000 --- a/CUE4Parse +++ b/CUE4Parse @@ -1 +1 @@ -Subproject commit d807df729bda91706598ef2f4531bd9799dfb8ef +Subproject commit 4c3332989787d0b57325d160137e9fa61d82a139 diff --git a/FModel/App.xaml.cs b/FModel/App.xaml.cs index 31da19b9..b37f3b8b 100644 --- a/FModel/App.xaml.cs +++ b/FModel/App.xaml.cs @@ -11,7 +11,9 @@ using CUE4Parse; using FModel.Framework; using FModel.Services; using FModel.Settings; +using FModel.Views.Snooper; using Newtonsoft.Json; +using Serilog.Events; using Serilog.Sinks.SystemConsole.Themes; using MessageBox = AdonisUI.Controls.MessageBox; using MessageBoxImage = AdonisUI.Controls.MessageBoxImage; @@ -118,10 +120,12 @@ public partial class App .WriteTo.Console(outputTemplate: template, theme: AnsiConsoleTheme.Literate) .WriteTo.File(outputTemplate: template, path: Path.Combine(UserSettings.Default.OutputDirectory, "Logs", $"FModel-Debug-Log-{DateTime.Now:yyyy-MM-dd}.log")) + .MinimumLevel.Override("CUE4Parse_Conversion", LogEventLevel.Verbose).WriteTo.Sink(ImGuiSink.Instance) #else .Enrich.With() .WriteTo.File(outputTemplate: template, path: Path.Combine(UserSettings.Default.OutputDirectory, "Logs", $"FModel-Log-{DateTime.Now:yyyy-MM-dd}.log")) + .MinimumLevel.Override("CUE4Parse_Conversion", LogEventLevel.Verbose).WriteTo.Sink(ImGuiSink.Instance) #endif .CreateLogger(); diff --git a/FModel/Extensions/LogEventExtensions.cs b/FModel/Extensions/LogEventExtensions.cs new file mode 100644 index 00000000..620d6798 --- /dev/null +++ b/FModel/Extensions/LogEventExtensions.cs @@ -0,0 +1,11 @@ +using Serilog.Events; + +namespace FModel.Extensions; + +public static class LogEventExtensions +{ + public static string GetContext(this LogEvent log, string propertyName) + { + return log.Properties.TryGetValue(propertyName, out var value) ? value.ToString().Trim('"') : string.Empty; + } +} diff --git a/FModel/FModel.csproj b/FModel/FModel.csproj index 861a11fe..784f33ee 100644 --- a/FModel/FModel.csproj +++ b/FModel/FModel.csproj @@ -121,6 +121,9 @@ + + + @@ -149,6 +152,9 @@ + + + diff --git a/FModel/Framework/ImGuiController.cs b/FModel/Framework/ImGuiController.cs index b62fde21..0768de97 100644 --- a/FModel/Framework/ImGuiController.cs +++ b/FModel/Framework/ImGuiController.cs @@ -66,18 +66,69 @@ public class ImGuiController : IDisposable var iniFileNamePtr = Marshal.StringToCoTaskMemUTF8(Path.Combine(UserSettings.Default.OutputDirectory, ".data", "imgui.ini")); io.NativePtr->IniFilename = (byte*)iniFileNamePtr; } - - // If not found, Fallback to default ImGui Font - var normalPath = @"C:\Windows\Fonts\segoeui.ttf"; - var boldPath = @"C:\Windows\Fonts\segoeuib.ttf"; - var semiBoldPath = @"C:\Windows\Fonts\seguisb.ttf"; - if (File.Exists(normalPath)) - FontNormal = io.Fonts.AddFontFromFileTTF(normalPath, 16 * DpiScale); - if (File.Exists(boldPath)) - FontBold = io.Fonts.AddFontFromFileTTF(boldPath, 16 * DpiScale); - if (File.Exists(semiBoldPath)) - FontSemiBold = io.Fonts.AddFontFromFileTTF(semiBoldPath, 16 * DpiScale); + var assembly = System.Reflection.Assembly.GetExecutingAssembly(); + var assemblyName = assembly.GetName().Name; + byte[] LoadFont(string name) + { + using var stream = assembly.GetManifestResourceStream($"{assemblyName}.Resources.{name}") + ?? throw new FileNotFoundException($"Embedded font '{name}' not found."); + using var ms = new MemoryStream(); + stream.CopyTo(ms); + return ms.ToArray(); + } + + var faSolid = LoadFont("fa-solid-900.otf"); + var faRegular = LoadFont("fa-regular-400.otf"); + var faBrands = LoadFont("fa-brands-400.otf"); + + unsafe + { + // FA5 icons live in E000–F8FF (brands/regular/solid) + var iconRanges = stackalloc ushort[] { 0xe000, 0xf8ff, 0 }; + + var cfg = ImGuiNative.ImFontConfig_ImFontConfig(); + cfg->MergeMode = 1; + cfg->PixelSnapH = 1; + cfg->GlyphMinAdvanceX = 16f; + // FontDataOwnedByAtlas = 0 because we manage the GCHandle lifetime ourselves + cfg->FontDataOwnedByAtlas = 0; + + void MergeFontAwesome(byte[] solid, byte[] regular, byte[] brands) + { + fixed (byte* pSolid = solid) + fixed (byte* pRegular = regular) + fixed (byte* pBrands = brands) + { + io.Fonts.AddFontFromMemoryTTF((IntPtr)pSolid, solid.Length, 14, (IntPtr)cfg, (IntPtr)iconRanges); + io.Fonts.AddFontFromMemoryTTF((IntPtr)pRegular, regular.Length, 14, (IntPtr)cfg, (IntPtr)iconRanges); + io.Fonts.AddFontFromMemoryTTF((IntPtr)pBrands, brands.Length, 14, (IntPtr)cfg, (IntPtr)iconRanges); + } + } + + // If not found, Fallback to default ImGui Font + var normalPath = @"C:\Windows\Fonts\segoeui.ttf"; + var boldPath = @"C:\Windows\Fonts\segoeuib.ttf"; + var semiBoldPath = @"C:\Windows\Fonts\seguisb.ttf"; + + if (File.Exists(normalPath)) + { + FontNormal = io.Fonts.AddFontFromFileTTF(normalPath, 16 * DpiScale); + MergeFontAwesome(faSolid, faRegular, faBrands); + } + if (File.Exists(boldPath)) + { + FontBold = io.Fonts.AddFontFromFileTTF(boldPath, 16 * DpiScale); + MergeFontAwesome(faSolid, faRegular, faBrands); + } + if (File.Exists(semiBoldPath)) + { + FontSemiBold = io.Fonts.AddFontFromFileTTF(semiBoldPath, 16 * DpiScale); + MergeFontAwesome(faSolid, faRegular, faBrands); + } + + ImGuiNative.ImFontConfig_destroy(cfg); + } io.Fonts.AddFontDefault(); io.Fonts.Build(); // Build font atlas diff --git a/FModel/Resources/fa-brands-400.otf b/FModel/Resources/fa-brands-400.otf new file mode 100644 index 0000000000000000000000000000000000000000..9e0133231e4c34b3a79fd7034eaf845df2ee46e3 GIT binary patch literal 215132 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�oSBt_LK~27ArmJ) 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%0AU@ZJ%bh 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 v?kpC~|fM%t>I!~#u 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�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 new() + public static ExportOptions GetExportOptions() { - LodFormat = Default.LodExportFormat, - MeshFormat = Default.MeshExportFormat, - NaniteMeshFormat = Default.NaniteMeshExportFormat, - AnimFormat = Default.MeshExportFormat switch - { - EMeshFormat.UEFormat => EAnimFormat.UEFormat, - _ => EAnimFormat.ActorX - }, - MaterialFormat = Default.MaterialExportFormat, - TextureFormat = Default.TextureExportFormat, - SocketFormat = Default.SocketExportFormat, - CompressionFormat = Default.CompressionFormat, - Platform = Default.CurrentDir.TexturePlatform, - ExportMorphTargets = Default.SaveMorphTargets, - ExportMaterials = Default.SaveEmbeddedMaterials, - ExportHdrTexturesAsHdr = Default.SaveHdrTexturesAsHdr - }; + return new ExportOptions( + Default.MeshExportFormat, + Default.NaniteMeshExportFormat, + Default.MeshQuality, + Default.CurrentDir.TexturePlatform, + Default.TextureExportFormat, + 100, + Default.SaveHdrTexturesAsHdr, + Default.MaterialExportFormat, + Default.SaveEmbeddedMaterials, + Default.SaveMorphTargets, + Default.SocketExportFormat, + Default.CompressionFormat + ); + } private bool _showChangelog = true; public bool ShowChangelog @@ -422,15 +415,22 @@ namespace FModel.Settings set => SetProperty(ref _meshExportFormat, value); } - private ENaniteMeshFormat _naniteMeshExportFormat = ENaniteMeshFormat.OnlyNaniteLOD; + private ENaniteMeshFormat _naniteMeshExportFormat = ENaniteMeshFormat.NaniteOnly; public ENaniteMeshFormat NaniteMeshExportFormat { get => _naniteMeshExportFormat; set => SetProperty(ref _naniteMeshExportFormat, value); } - private EMaterialFormat _materialExportFormat = EMaterialFormat.FirstLayer; - public EMaterialFormat MaterialExportFormat + private EMeshQuality _meshQuality = EMeshQuality.Highest; + public EMeshQuality MeshQuality + { + get => _meshQuality; + set => SetProperty(ref _meshQuality, value); + } + + private EMaterialDepth _materialExportFormat = EMaterialDepth.TopLayerOnly; + public EMaterialDepth MaterialExportFormat { get => _materialExportFormat; set => SetProperty(ref _materialExportFormat, value); @@ -457,13 +457,6 @@ namespace FModel.Settings set => SetProperty(ref _compressionFormat, value); } - private ELodFormat _lodExportFormat = ELodFormat.FirstLod; - public ELodFormat LodExportFormat - { - get => _lodExportFormat; - set => SetProperty(ref _lodExportFormat, value); - } - private bool _showSkybox = true; public bool ShowSkybox { diff --git a/FModel/ViewModels/CUE4ParseViewModel.cs b/FModel/ViewModels/CUE4ParseViewModel.cs index 840afb83..b354c70a 100644 --- a/FModel/ViewModels/CUE4ParseViewModel.cs +++ b/FModel/ViewModels/CUE4ParseViewModel.cs @@ -1678,32 +1678,34 @@ public class CUE4ParseViewModel : ViewModel private void SaveExport(UObject export, bool updateUi = true) { - var toSave = new Exporter(export, UserSettings.Default.ExportOptions); - var toSaveDirectory = new DirectoryInfo(UserSettings.Default.ModelDirectory); - if (toSave.TryWriteToDir(toSaveDirectory, out var label, out var savedFilePath)) - { - Interlocked.Increment(ref ExportedCount); - Log.Information("Successfully saved {FilePath}", savedFilePath); - if (updateUi) - { - FLogger.Append(ELog.Information, () => - { - FLogger.Text("Successfully saved ", Constants.WHITE); - FLogger.Link(label, savedFilePath, true); - }); - } - } - else - { - Interlocked.Increment(ref FailedExportCount); - Log.Error("{FileName} could not be saved", export.Name); - FLogger.Append(ELog.Error, () => FLogger.Text($"Could not save '{export.Name}'", Constants.WHITE, true)); - } + // TODO: export session + // var toSave = new Exporter(export, UserSettings.Default.ExportOptions); + // var toSaveDirectory = new DirectoryInfo(UserSettings.Default.ModelDirectory); + // if (toSave.TryWriteToDir(toSaveDirectory, out var label, out var savedFilePath)) + // { + // Interlocked.Increment(ref ExportedCount); + // Log.Information("Successfully saved {FilePath}", savedFilePath); + // if (updateUi) + // { + // FLogger.Append(ELog.Information, () => + // { + // FLogger.Text("Successfully saved ", Constants.WHITE); + // FLogger.Link(label, savedFilePath, true); + // }); + // } + // } + // else + // { + // Interlocked.Increment(ref FailedExportCount); + // Log.Error("{FileName} could not be saved", export.Name); + // FLogger.Append(ELog.Error, () => FLogger.Text($"Could not save '{export.Name}'", Constants.WHITE, true)); + // } } private readonly object _rawData = new (); public void ExportData(GameFile entry, bool updateUi = true) { + // TODO: export session if (Provider.TrySavePackage(entry, out var assets)) { string path = UserSettings.Default.RawDataDirectory; diff --git a/FModel/ViewModels/SettingsViewModel.cs b/FModel/ViewModels/SettingsViewModel.cs index 0d6ace36..bf35071f 100644 --- a/FModel/ViewModels/SettingsViewModel.cs +++ b/FModel/ViewModels/SettingsViewModel.cs @@ -2,14 +2,12 @@ using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; -using CUE4Parse.UE4.Assets.Exports.Material; -using CUE4Parse.UE4.Assets.Exports.Nanite; using CUE4Parse.UE4.Assets.Exports.Texture; using CUE4Parse.UE4.Objects.Core.Serialization; using CUE4Parse.UE4.Versions; -using CUE4Parse_Conversion.Meshes; -using CUE4Parse_Conversion.Textures; -using CUE4Parse_Conversion.UEFormat.Enums; +using CUE4Parse_Conversion.Options; +using CUE4Parse_Conversion.Writers.UEFormat.Enums; +using CUE4Parse.UE4.Assets.Exports.Material; using FModel.Framework; using FModel.Services; using FModel.Settings; @@ -137,8 +135,8 @@ public class SettingsViewModel : ViewModel set => SetProperty(ref _selectedCompressionFormat, value); } - private ELodFormat _selectedLodExportFormat; - public ELodFormat SelectedLodExportFormat + private EMeshQuality _selectedLodExportFormat; + public EMeshQuality SelectedLodExportFormat { get => _selectedLodExportFormat; set => SetProperty(ref _selectedLodExportFormat, value); @@ -151,8 +149,8 @@ public class SettingsViewModel : ViewModel set => SetProperty(ref _selectedNaniteMeshExportFormat, value); } - private EMaterialFormat _selectedMaterialExportFormat; - public EMaterialFormat SelectedMaterialExportFormat + private EMaterialDepth _selectedMaterialExportFormat; + public EMaterialDepth SelectedMaterialExportFormat { get => _selectedMaterialExportFormat; set => SetProperty(ref _selectedMaterialExportFormat, value); @@ -191,9 +189,9 @@ public class SettingsViewModel : ViewModel public ReadOnlyObservableCollection MeshExportFormats { get; private set; } public ReadOnlyObservableCollection SocketExportFormats { get; private set; } public ReadOnlyObservableCollection CompressionFormats { get; private set; } - public ReadOnlyObservableCollection LodExportFormats { get; private set; } + public ReadOnlyObservableCollection LodExportFormats { get; private set; } public ReadOnlyObservableCollection NaniteMeshExportFormats { get; private set; } - public ReadOnlyObservableCollection MaterialExportFormats { get; private set; } + public ReadOnlyObservableCollection MaterialExportFormats { get; private set; } public ReadOnlyObservableCollection TextureExportFormats { get; private set; } public ReadOnlyObservableCollection Platforms { get; private set; } @@ -216,9 +214,9 @@ public class SettingsViewModel : ViewModel private EMeshFormat _meshExportFormatSnapshot; private ESocketFormat _socketExportFormatSnapshot; private EFileCompressionFormat _compressionFormatSnapshot; - private ELodFormat _lodExportFormatSnapshot; + private EMeshQuality _lodExportFormatSnapshot; private ENaniteMeshFormat _naniteMeshExportFormatSnapshot; - private EMaterialFormat _materialExportFormatSnapshot; + private EMaterialDepth _materialExportFormatSnapshot; private ETextureFormat _textureExportFormatSnapshot; private bool _mappingsUpdate = false; @@ -260,7 +258,7 @@ public class SettingsViewModel : ViewModel _meshExportFormatSnapshot = UserSettings.Default.MeshExportFormat; _socketExportFormatSnapshot = UserSettings.Default.SocketExportFormat; _compressionFormatSnapshot = UserSettings.Default.CompressionFormat; - _lodExportFormatSnapshot = UserSettings.Default.LodExportFormat; + _lodExportFormatSnapshot = UserSettings.Default.MeshQuality; _naniteMeshExportFormatSnapshot = UserSettings.Default.NaniteMeshExportFormat; _materialExportFormatSnapshot = UserSettings.Default.MaterialExportFormat; _textureExportFormatSnapshot = UserSettings.Default.TextureExportFormat; @@ -294,9 +292,9 @@ public class SettingsViewModel : ViewModel MeshExportFormats = new ReadOnlyObservableCollection(new ObservableCollection(EnumerateMeshExportFormat())); SocketExportFormats = new ReadOnlyObservableCollection(new ObservableCollection(EnumerateSocketExportFormat())); CompressionFormats = new ReadOnlyObservableCollection(new ObservableCollection(EnumerateCompressionFormat())); - LodExportFormats = new ReadOnlyObservableCollection(new ObservableCollection(EnumerateLodExportFormat())); + LodExportFormats = new ReadOnlyObservableCollection(new ObservableCollection(EnumerateLodExportFormat())); NaniteMeshExportFormats = new ReadOnlyObservableCollection(new ObservableCollection(EnumerateNaniteMeshExportFormat())); - MaterialExportFormats = new ReadOnlyObservableCollection(new ObservableCollection(EnumerateMaterialExportFormat())); + MaterialExportFormats = new ReadOnlyObservableCollection(new ObservableCollection(EnumerateMaterialExportFormat())); TextureExportFormats = new ReadOnlyObservableCollection(new ObservableCollection(EnumerateTextureExportFormat())); Platforms = new ReadOnlyObservableCollection(new ObservableCollection(EnumerateUePlatforms())); } @@ -331,7 +329,7 @@ public class SettingsViewModel : ViewModel UserSettings.Default.MeshExportFormat = SelectedMeshExportFormat; UserSettings.Default.SocketExportFormat = SelectedSocketExportFormat; UserSettings.Default.CompressionFormat = SelectedCompressionFormat; - UserSettings.Default.LodExportFormat = SelectedLodExportFormat; + UserSettings.Default.MeshQuality = SelectedLodExportFormat; UserSettings.Default.NaniteMeshExportFormat = SelectedNaniteMeshExportFormat; UserSettings.Default.MaterialExportFormat = SelectedMaterialExportFormat; UserSettings.Default.TextureExportFormat = SelectedTextureExportFormat; @@ -357,9 +355,9 @@ public class SettingsViewModel : ViewModel private IEnumerable EnumerateMeshExportFormat() => Enum.GetValues(); private IEnumerable EnumerateSocketExportFormat() => Enum.GetValues(); private IEnumerable EnumerateCompressionFormat() => Enum.GetValues(); - private IEnumerable EnumerateLodExportFormat() => Enum.GetValues(); + private IEnumerable EnumerateLodExportFormat() => Enum.GetValues(); private IEnumerable EnumerateNaniteMeshExportFormat() => Enum.GetValues(); - private IEnumerable EnumerateMaterialExportFormat() => Enum.GetValues(); + private IEnumerable EnumerateMaterialExportFormat() => Enum.GetValues(); private IEnumerable EnumerateTextureExportFormat() => Enum.GetValues(); private IEnumerable EnumerateUePlatforms() => Enum.GetValues(); } diff --git a/FModel/ViewModels/TabControlViewModel.cs b/FModel/ViewModels/TabControlViewModel.cs index dbeb4423..41df329f 100644 --- a/FModel/ViewModels/TabControlViewModel.cs +++ b/FModel/ViewModels/TabControlViewModel.cs @@ -5,6 +5,7 @@ using System.Linq; using System.Threading; using System.Windows; using System.Windows.Media.Imaging; +using CUE4Parse_Conversion.Options; using CUE4Parse.FileProvider.Objects; using CUE4Parse.UE4.Assets.Exports.Texture; using CUE4Parse.Utils; diff --git a/FModel/Views/SettingsView.xaml b/FModel/Views/SettingsView.xaml index c7e8a1bf..f3fe20f3 100644 --- a/FModel/Views/SettingsView.xaml +++ b/FModel/Views/SettingsView.xaml @@ -2,7 +2,7 @@ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:FModel" - xmlns:c4pMeshes="clr-namespace:CUE4Parse_Conversion.Meshes;assembly=CUE4Parse-Conversion" + xmlns:c4pMeshes="clr-namespace:CUE4Parse_Conversion.Options;assembly=CUE4Parse-Conversion" xmlns:controls="clr-namespace:FModel.Views.Resources.Controls" xmlns:converters="clr-namespace:FModel.Views.Resources.Converters" xmlns:adonisUi="clr-namespace:AdonisUI;assembly=AdonisUI" @@ -452,7 +452,7 @@ - + diff --git a/FModel/Views/Snooper/Animations/Animation.cs b/FModel/Views/Snooper/Animations/Animation.cs index d41afaa7..561a9121 100644 --- a/FModel/Views/Snooper/Animations/Animation.cs +++ b/FModel/Views/Snooper/Animations/Animation.cs @@ -1,9 +1,8 @@ using System; using System.Collections.Generic; -using System.IO; using System.Numerics; using CUE4Parse_Conversion; -using CUE4Parse_Conversion.Animations.PSA; +using CUE4Parse_Conversion.Writers.ActorX.Structs.Animations; using CUE4Parse.UE4.Assets.Exports; using CUE4Parse.UE4.Objects.Core.Misc; using FModel.Settings; @@ -12,7 +11,7 @@ using ImGuiNET; namespace FModel.Views.Snooper.Animations; -public class Animation : IDisposable +public class Animation : IExportableThing, IDisposable { private readonly UObject _export; @@ -82,7 +81,7 @@ public class Animation : IDisposable AttachedModels.Clear(); } - public void ImGuiAnimation(Snooper s, Save saver, ImDrawListPtr drawList, ImFontPtr fontPtr, Vector2 timelineP0, Vector2 treeP0, Vector2 timeStep, Vector2 timeRatio, float y, float t, int i) + public void ImGuiAnimation(Snooper s, ImDrawListPtr drawList, ImFontPtr fontPtr, Vector2 timelineP0, Vector2 treeP0, Vector2 timeStep, Vector2 timeRatio, float y, float t, int i) { var name = $"{Name}##{i}"; var p1 = new Vector2(timelineP0.X + StartTime * timeRatio.X + t, y + t); @@ -96,7 +95,7 @@ public class Animation : IDisposable { s.Renderer.Options.SelectAnimation(i); } - Popup(s, saver, i); + Popup(s, i); drawList.AddRectFilled(p1, p2, IsSelected ? 0xFF48B048 : 0xFF175F17, 5.0f, ImDrawFlags.RoundCornersTop); for (int j = 0; j < Sequences.Length; j++) @@ -109,10 +108,10 @@ public class Animation : IDisposable { s.Renderer.Options.SelectAnimation(i); } - Popup(s, saver, i); + Popup(s, i); } - private void Popup(Snooper s, Save saver, int i) + private void Popup(Snooper s, int i) { SnimGui.Popup(() => { @@ -134,11 +133,16 @@ public class Animation : IDisposable if (ImGui.MenuItem("Save")) { s.WindowShouldFreeze(true); - saver.Value = new Exporter(_export, UserSettings.Default.ExportOptions).TryWriteToDir(new DirectoryInfo(UserSettings.Default.ModelDirectory), out saver.Label, out saver.Path); + ExportModal.Instance.Export([this], UserSettings.Default.ModelDirectory, UserSettings.GetExportOptions()); s.WindowShouldFreeze(false); } ImGui.Separator(); if (ImGui.MenuItem("Copy Path to Clipboard")) ImGui.SetClipboardText(Path); }); } + + public void AddToExportSession(ExportSession session) + { + session.Add(_export); + } } diff --git a/FModel/Views/Snooper/Animations/Sequence.cs b/FModel/Views/Snooper/Animations/Sequence.cs index bb12b595..04bbf09c 100644 --- a/FModel/Views/Snooper/Animations/Sequence.cs +++ b/FModel/Views/Snooper/Animations/Sequence.cs @@ -1,5 +1,5 @@ using System.Numerics; -using CUE4Parse_Conversion.Animations.PSA; +using CUE4Parse_Conversion.Writers.ActorX.Structs.Animations; using ImGuiNET; namespace FModel.Views.Snooper.Animations; diff --git a/FModel/Views/Snooper/Animations/Skeleton.cs b/FModel/Views/Snooper/Animations/Skeleton.cs index 2abc98c9..31a8ef4d 100644 --- a/FModel/Views/Snooper/Animations/Skeleton.cs +++ b/FModel/Views/Snooper/Animations/Skeleton.cs @@ -2,7 +2,7 @@ using System; using System.Collections.Generic; using System.Linq; using System.Numerics; -using CUE4Parse_Conversion.Animations.PSA; +using CUE4Parse_Conversion.Writers.ActorX.Structs.Animations; using CUE4Parse.UE4.Assets.Exports.Animation; using CUE4Parse.UE4.Objects.Core.Misc; using FModel.Views.Snooper.Buffers; diff --git a/FModel/Views/Snooper/Animations/TimeTracker.cs b/FModel/Views/Snooper/Animations/TimeTracker.cs index 5775c08f..f482599d 100644 --- a/FModel/Views/Snooper/Animations/TimeTracker.cs +++ b/FModel/Views/Snooper/Animations/TimeTracker.cs @@ -61,7 +61,7 @@ public class TimeTracker : IDisposable } private readonly string[] _icons = { "tl_forward", "tl_pause", "tl_rewind" }; - public void ImGuiTimeline(Snooper s, Save saver, Dictionary icons, List animations, Vector2 outliner, ImFontPtr fontPtr) + public void ImGuiTimeline(Snooper s, Dictionary icons, List animations, Vector2 outliner, ImFontPtr fontPtr) { var dpiScale = ImGui.GetWindowDpiScale(); var thickness = 2.0f * dpiScale; @@ -151,7 +151,7 @@ public class TimeTracker : IDisposable for (int i = 0; i < animations.Count; i++) { var y = timelineP0.Y + timeBarHeight + timeStep.Y * i; - animations[i].ImGuiAnimation(s, saver, drawList, fontPtr, timelineP0, treeP0, timeStep, timeRatio, y, thickness, i); + animations[i].ImGuiAnimation(s, drawList, fontPtr, timelineP0, treeP0, timeStep, timeRatio, y, thickness, i); DrawSeparator(drawList, timelineP0, y + timeStep.Y, animations[i].EndTime * timeRatio.X, timeHeight, timeBarHeight, ETrackerType.End); } ImGui.PopStyleVar(); diff --git a/FModel/Views/Snooper/Buffers/PickingTexture.cs b/FModel/Views/Snooper/Buffers/PickingTexture.cs index c7b1fbe4..9ee999cb 100644 --- a/FModel/Views/Snooper/Buffers/PickingTexture.cs +++ b/FModel/Views/Snooper/Buffers/PickingTexture.cs @@ -54,7 +54,7 @@ public class PickingTexture : IDisposable Bind(0); } - public void Render(Matrix4x4 viewMatrix, Matrix4x4 projMatrix, IDictionary models) + public void Render(Matrix4x4 viewMatrix, Matrix4x4 projMatrix, IDictionary models) { Bind(); GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit); diff --git a/FModel/Views/Snooper/ExportModal.cs b/FModel/Views/Snooper/ExportModal.cs new file mode 100644 index 00000000..53132514 --- /dev/null +++ b/FModel/Views/Snooper/ExportModal.cs @@ -0,0 +1,662 @@ +using System; +using System.Collections.Concurrent; +using System.Collections.Generic; +using System.Diagnostics; +using System.IO; +using System.Linq; +using System.Numerics; +using System.Threading; +using System.Threading.Tasks; +using CUE4Parse_Conversion; +using CUE4Parse_Conversion.Options; +using FModel.Extensions; +using FModel.Views.Snooper.Models; +using ImGuiNET; +using Serilog; +using Serilog.Core; +using Serilog.Events; + +namespace FModel.Views.Snooper; + +public sealed class ExportModal +{ + public static ExportModal Instance { get; } = new(); + + private const string Title = "Export Progress"; + private const string IconXMark = "\uf057"; + private const string IconFolder = "\uf08e"; + + private readonly Vector4[] _pieColors = + [ + new(0.22f, 0.52f, 0.90f, 1f), + new(0.28f, 0.78f, 0.44f, 1f), + new(0.90f, 0.62f, 0.22f, 1f), + new(0.75f, 0.32f, 0.75f, 1f), + new(0.32f, 0.75f, 0.85f, 1f), + new(0.85f, 0.32f, 0.45f, 1f), + new(0.90f, 0.90f, 0.22f, 1f), + new(0.55f, 0.75f, 0.32f, 1f), + ]; + + private static readonly Vector4 _redColor = new(1f, 0.4f, 0.4f, 1f); + private static readonly Vector4 _orangeColor = new(1f, 0.5f, 0f, 1f); + private static readonly Vector4 _yellowColor = new(1f, 1f, 0.4f, 1f); + private static readonly Vector4 _greenColor = new(0.4f, 1f, 0.4f, 1f); + + private bool _openPopup; + private bool _modalOpen; + private bool _inProgress; + private CancellationTokenSource? _cts; + private IReadOnlyList? _exportResults; + + private ExportProgress _currentProgress; + private readonly IProgress _progress; + private readonly Stopwatch _stopwatch = new(); + private readonly ConcurrentQueue _pendingLogs = new(); + private readonly List _classGroups = []; + + private const int MaxGraphSamples = 4096; + private const float GraphSampleIntervalSec = 0.25f; + private readonly List _graphSamples = []; + private float _graphNextSampleAt; + private int _graphLastCompleted; + + private ExportModal() + { + ImGuiSink.Instance.OnExporterLogEvent += _pendingLogs.Enqueue; + _progress = new Progress(p => _currentProgress = p); + } + + public void Export(IEnumerable nodes, string exportDirectory, ExportOptions options) + { + Reset(); + _openPopup = true; + _inProgress = true; + _cts = new CancellationTokenSource(); + _stopwatch.Restart(); + + var token = _cts.Token; + _ = Task.Run(async () => + { + try + { + var session = new ExportSession(exportDirectory, options); + foreach (var node in nodes) node.AddToExportSession(session); + _exportResults = await session.RunAsync(_progress, token); + } + catch (OperationCanceledException) + { + Log.Error("Export cancelled by user"); + } + catch (Exception ex) + { + Log.Error(ex, "Export failed"); + } + finally + { + _stopwatch.Stop(); + _inProgress = false; + } + }, token); + } + + public void Draw() + { + if (_openPopup) + { + ImGui.OpenPopup(Title); + _modalOpen = true; + _openPopup = false; + } + + if (!_modalOpen) return; + + var viewport = ImGui.GetMainViewport(); + ImGui.SetNextWindowSize(viewport.WorkSize * 0.75f, ImGuiCond.Always); + ImGui.SetNextWindowPos(viewport.GetCenter(), ImGuiCond.Always, new Vector2(0.5f, 0.5f)); + + var open = true; + if (ImGui.BeginPopupModal(Title, ref open, ImGuiWindowFlags.NoSavedSettings | ImGuiWindowFlags.NoMove | ImGuiWindowFlags.NoResize)) + { + if (ImGui.BeginChild("##ModalInfoBody", Vector2.Zero, ImGuiChildFlags.FrameStyle)) + { + DrawProgressBar(); + + ImGui.Spacing(); + ImGui.SeparatorText("Throughput"); + DrawThroughputGraph(); + + ImGui.Spacing(); + ImGui.SeparatorText("Export Log"); + DrawExportLog(); + } + ImGui.EndChild(); + ImGui.EndPopup(); + } + + if (!open) + { + _modalOpen = false; + Reset(); + } + } + + private void Reset() + { + _pendingLogs.Clear(); + _classGroups.Clear(); + _exportResults = null; + _currentProgress = new ExportProgress(0, 0); + _cts?.Cancel(); + _cts?.Dispose(); + _cts = null; + + _graphSamples.Clear(); + _graphNextSampleAt = 0f; + _graphLastCompleted = 0; + } + + private void DrawProgressBar() + { + var e = _stopwatch.Elapsed; + ImGui.TextDisabled("\uf2f2"); + ImGui.SameLine(); + ImGui.TextUnformatted($"{e.Minutes:D2}:{e.Seconds:D2}.{e.Milliseconds / 10:D2}"); + + if (_inProgress && _currentProgress is { Total: > 0, Completed: > 1 }) + { + var rate = _currentProgress.Completed / e.TotalSeconds; + if (rate > 0) + { + var remaining = (_currentProgress.Total - _currentProgress.Completed) / rate; + var eta = TimeSpan.FromSeconds(remaining); + ImGui.SameLine(); + ImGui.TextDisabled("\uf017"); + ImGui.SameLine(); + ImGui.TextUnformatted($"ETA {eta.Minutes:D2}:{eta.Seconds:D2}"); + } + } + else if (!_inProgress && _exportResults is { Count: > 0 }) + { + ImGui.SameLine(); + ImGui.TextColored(_greenColor, "\uf058"); + ImGui.SameLine(); + ImGui.TextUnformatted($"{_exportResults?.Count(r => r.Success) ?? 0} succeeded"); + + ImGui.SameLine(); + ImGui.TextColored(_redColor, IconXMark); + ImGui.SameLine(); + ImGui.TextUnformatted($"{_exportResults?.Count(r => !r.Success) ?? 0} failed"); + } + + ImGui.Spacing(); + + var barColor = _classGroups.Any(cg => cg.ErrorCount > 0) ? new Vector4(0.75f, 0.32f, 0.32f, 1f) : _inProgress ? new Vector4(0.22f, 0.52f, 0.90f, 1f) : new Vector4(0.28f, 0.78f, 0.44f, 1f); + var label = _inProgress && _currentProgress.Total > 0 ? _currentProgress.DisplayText : _inProgress ? "Preparing..." : "Done"; + + var barPos = ImGui.GetCursorScreenPos(); + var barSize = new Vector2(ImGui.GetContentRegionAvail().X, ImGui.GetFrameHeight()); + var hovered = ImGui.IsMouseHoveringRect(barPos, barPos + barSize); + if (hovered && _inProgress) + { + barColor = new Vector4(0.75f, 0.32f, 0.32f, 1f); + label = "\uf05e Cancel"; + } + + ImGui.PushStyleVar(ImGuiStyleVar.FrameRounding, 4f); + ImGui.PushStyleVar(ImGuiStyleVar.FrameBorderSize, 1f); + ImGui.PushStyleColor(ImGuiCol.PlotHistogram, barColor); + ImGui.ProgressBar(_currentProgress.Percentage, barSize, label); + ImGui.PopStyleColor(); + ImGui.PopStyleVar(2); + + if (_inProgress) + { + ImGui.SetCursorScreenPos(barPos); + if (ImGui.InvisibleButton("##BarAction", barSize)) + { + _cts?.Cancel(); + } + } + } + + private void DrawThroughputGraph() + { + var elapsedSec = (float)_stopwatch.Elapsed.TotalSeconds; + if (_inProgress && _currentProgress.Completed > 0 && elapsedSec >= _graphNextSampleAt && _graphSamples.Count < MaxGraphSamples) + { + var completed = _currentProgress.Completed; + var rate = (completed - _graphLastCompleted) / GraphSampleIntervalSec; + _graphSamples.Add(MathF.Max(rate, 0f)); + _graphLastCompleted = completed; + _graphNextSampleAt = elapsedSec + GraphSampleIntervalSec; + } + + var graphPos = ImGui.GetCursorScreenPos(); + var graphW = ImGui.GetContentRegionAvail().X; + var graphH = ImGui.GetFrameHeight() * 3f; + var graphSize = new Vector2(graphW, graphH); + ImGui.InvisibleButton("##ThroughputGraph", graphSize); + var dl = ImGui.GetWindowDrawList(); + + dl.AddRectFilled(graphPos, graphPos + graphSize, 0xFF_14_14_14); + + var count = _graphSamples.Count; + switch (count) + { + case 0 when !_inProgress: + { + dl.AddRect(graphPos, graphPos + graphSize, 0xFF_2A_2A_2A); + return; + } + case < 2: + { + if (_inProgress) + { + const string msg = "Collecting data..."; + var msgSz = ImGui.CalcTextSize(msg); + dl.AddText(graphPos + (graphSize - msgSz) * 0.5f, 0x44_FF_FF_FF, msg); + } + dl.AddRect(graphPos, graphPos + graphSize, 0xFF_2A_2A_2A); + return; + } + } + + // Y scale + var maxVal = 0f; + for (var i = 0; i < count; i++) maxVal = MathF.Max(maxVal, _graphSamples[i]); + if (maxVal < 0.01f) maxVal = 1f; + maxVal *= 1.15f; // top headroom + + dl.PushClipRect(graphPos, graphPos + graphSize, true); + + // Horizontal grid lines at 25 / 50 / 75 % + for (var g = 1; g < 4; g++) + { + var gy = graphPos.Y + graphH * g / 4f; + dl.AddLine(new Vector2(graphPos.X, gy), new Vector2(graphPos.X + graphW, gy), 0x18_FF_FF_FF, 0.5f); + } + + var lineColor = ImGui.GetColorU32(new Vector4(0.22f, 0.52f, 0.90f, 1f)); + var fillColor = ImGui.GetColorU32(new Vector4(0.22f, 0.52f, 0.90f, 0.15f)); + + // xStep shrinks as samples accumulate → graph zooms out naturally. + // Oldest sample is always at x=0, newest at x=graphW. + var xStep = graphW / (count - 1f); + + // Filled area (series of convex quads) + for (var i = 0; i < count - 1; i++) + { + var t0 = Math.Clamp(_graphSamples[i] / maxVal, 0f, 1f); + var t1 = Math.Clamp(_graphSamples[i + 1] / maxVal, 0f, 1f); + var x0 = graphPos.X + xStep * i; + var x1 = graphPos.X + xStep * (i + 1); + var y0 = graphPos.Y + graphH - graphH * t0; + var y1 = graphPos.Y + graphH - graphH * t1; + var bot = graphPos.Y + graphH; + dl.AddQuadFilled(new Vector2(x0, y0), new Vector2(x1, y1), new Vector2(x1, bot), new Vector2(x0, bot), fillColor); + } + + // Line + for (var i = 0; i < count - 1; i++) + { + var t0 = Math.Clamp(_graphSamples[i] / maxVal, 0f, 1f); + var t1 = Math.Clamp(_graphSamples[i + 1] / maxVal, 0f, 1f); + var x0 = graphPos.X + xStep * i; + var x1 = graphPos.X + xStep * (i + 1); + var y0 = graphPos.Y + graphH - graphH * t0; + var y1 = graphPos.Y + graphH - graphH * t1; + dl.AddLine(new Vector2(x0, y0), new Vector2(x1, y1), lineColor, 1.5f); + } + + // Dot on the newest sample (always at the right edge) + var newestT = Math.Clamp(_graphSamples[count - 1] / maxVal, 0f, 1f); + var newestY = graphPos.Y + graphH - graphH * newestT; + dl.AddCircleFilled(new Vector2(graphPos.X + graphW, newestY), 3f, lineColor); + + var rateStr = $"{_graphSamples[count - 1]:F1} items/s"; + dl.AddText(new Vector2(graphPos.X + 4, graphPos.Y + 3), 0xCC_FF_FF_FF, rateStr); + + dl.PopClipRect(); + + dl.AddRect(graphPos, graphPos + graphSize, 0xFF_2A_2A_2A); + } + + private void DrawExportLog() + { + var avail = ImGui.GetContentRegionAvail(); + var rowH = ImGui.GetTextLineHeightWithSpacing(); + var canvasSize = 15 * rowH + ImGui.GetFrameHeightWithSpacing(); + var treeW = avail.X - canvasSize - ImGui.GetStyle().ItemSpacing.X; + + DrainPendingLogs(); + + if (ImGui.BeginChild("##ExportLogTree", avail with { X = treeW }, ImGuiChildFlags.FrameStyle)) + { + if (_classGroups.Count == 0) + { + ImGui.TextDisabled(_inProgress ? "Waiting for export data..." : "No export log."); + } + else for (var i = 0; i < _classGroups.Count; i++) + { + DrawClassGroup(i, _classGroups[i]); + } + } + ImGui.EndChild(); + + ImGui.SameLine(); + if (ImGui.BeginChild("##RightPanel", new Vector2(canvasSize, -1), ImGuiChildFlags.FrameStyle)) + { + DrawPieCanvas(); + + if (_classGroups.Count == 0) + { + ImGui.TextDisabled(_inProgress ? "Waiting for data..." : "No export data."); + } + else + { + var total = _classGroups.Sum(cg => cg.Objects.Count); + for (var i = 0; i < _classGroups.Count; i++) + { + var cg = _classGroups[i]; + ImGui.PushStyleColor(ImGuiCol.Text, _pieColors[i % _pieColors.Length]); + ImGui.TextUnformatted("\uf111"); + ImGui.PopStyleColor(); + ImGui.SameLine(); + ImGui.TextUnformatted(cg.Name); + ImGui.SameLine(); + ImGui.PushStyleColor(ImGuiCol.Text, ImGui.GetColorU32(ImGuiCol.TextDisabled)); + ImGui.TextUnformatted($"({(float) cg.Objects.Count / total * 100f:F1}%)"); + ImGui.PopStyleColor(); + } + } + } + + ImGui.EndChild(); + } + + private void DrawPieCanvas() + { + const int segments = 64; + + var canvasPos = ImGui.GetCursorScreenPos(); + var size = ImGui.GetContentRegionAvail().X; + var canvasVec = new Vector2(size); + ImGui.InvisibleButton("##PieCanvas", canvasVec); + var isHovered = ImGui.IsItemHovered(); + var mousePos = ImGui.GetMousePos(); + var dl = ImGui.GetWindowDrawList(); + + dl.AddRectFilled(canvasPos, canvasPos + canvasVec, 0xFF_14_14_14); + dl.AddRect(canvasPos, canvasPos + canvasVec, 0xFF_32_32_32); + + var total = _classGroups.Sum(cg => cg.Objects.Count); + var padding = ImGui.GetFrameHeight() * 0.5f; + var radius = size * 0.5f - padding; + var center = canvasPos + new Vector2(size * 0.5f); + + if (total == 0 || radius <= 0) + { + dl.AddCircleFilled(center, MathF.Max(radius, 1f), 0xFF_1F_1F_1F, segments); + return; + } + + // Determine hovered slice by angle + var hoveredSlice = -1; + if (isHovered) + { + var dx = mousePos.X - center.X; + var dy = mousePos.Y - center.Y; + if (dx * dx + dy * dy <= radius * radius) + { + var angle = MathF.Atan2(dy, dx); + while (angle < -MathF.PI / 2f) angle += MathF.PI * 2f; + var cur = -MathF.PI / 2f; + for (var i = 0; i < _classGroups.Count; i++) + { + var sweep = (float)_classGroups[i].Objects.Count / total * MathF.PI * 2f; + if (angle >= cur && angle < cur + sweep) { hoveredSlice = i; break; } + cur += sweep; + } + } + } + + float startAngle = -MathF.PI / 2f; + for (var i = 0; i < _classGroups.Count; i++) + { + var cg = _classGroups[i]; + var ratio = (float) cg.Objects.Count / total; + var sliceAngle = ratio * MathF.PI * 2f; + var col = ImGui.GetColorU32(_pieColors[i % _pieColors.Length]); + var r = i == hoveredSlice ? radius + padding * 0.25f : radius; + dl.PathLineTo(center); + dl.PathArcTo(center, r, startAngle, startAngle + sliceAngle); + dl.PathFillConvex(col); + + var midAngle = startAngle + sliceAngle * 0.5f; + var labelPos = center + new Vector2(MathF.Cos(midAngle), MathF.Sin(midAngle)) * (radius * 0.62f); + var pctStr = $"{ratio * 100f:F0}%"; + dl.AddText(labelPos - ImGui.CalcTextSize(pctStr) * 0.5f, 0xFF_FF_FF_FF, pctStr); + + startAngle += sliceAngle; + } + + dl.AddCircle(center, radius, 0xAA_00_00_00, segments, 1.5f); + + if (hoveredSlice >= 0) + { + ImGui.BeginTooltip(); + + var cg = _classGroups[hoveredSlice]; + ImGui.PushStyleColor(ImGuiCol.Text, _pieColors[hoveredSlice % _pieColors.Length]); + ImGui.TextUnformatted("\uf111"); + ImGui.PopStyleColor(); + ImGui.SameLine(); + ImGui.TextUnformatted(cg.Name); + + ImGui.EndTooltip(); + } + } + + private void DrawClassGroup(int index, ClassGroup cg) + { + ImGui.PushStyleColor(ImGuiCol.Header, new Vector4(0.20f, 0.20f, 0.20f, 1.00f)); + ImGui.PushStyleColor(ImGuiCol.HeaderHovered, new Vector4(0.69f, 0.69f, 1.00f, 0.20f)); + ImGui.PushStyleColor(ImGuiCol.HeaderActive, new Vector4(0.69f, 0.69f, 1.00f, 0.20f)); + var open = ImGui.CollapsingHeader($"{cg.Name} ({cg.Objects.Count})##class_{cg.Name}"); + ImGui.PopStyleColor(3); + var headerMin = ImGui.GetItemRectMin(); + var headerMax = ImGui.GetItemRectMax(); + + var labelW = MathF.Floor(ImGui.GetStyle().ItemSpacing.X * 0.5f); + var col = ImGui.GetColorU32(_pieColors[index % _pieColors.Length]); + ImGui.GetWindowDrawList().AddRectFilled(headerMin, headerMax with { X = headerMin.X + labelW }, col); + + if (cg.ErrorCount > 0 && ImGui.IsItemHovered()) + { + ImGui.SetTooltip($"{cg.ErrorCount} error{(cg.ErrorCount > 1 ? "s" : "")} in this class"); + } + + if (!open) return; + foreach (var og in cg.Objects) + { + DrawObjectGroup(cg.Name, og); + } + } + + private void DrawObjectGroup(string className, ObjectGroup og) + { + var rightEdge = ImGui.GetCursorPosX() + ImGui.GetContentRegionAvail().X; + + var hasErr = og.ErrorCount > 0; + if (hasErr) ImGui.PushStyleColor(ImGuiCol.Text, _redColor); + var flags = ImGuiTreeNodeFlags.AllowOverlap | ImGuiTreeNodeFlags.SpanFullWidth | ImGuiTreeNodeFlags.FramePadding; + var open = ImGui.TreeNodeEx($"{og.Name}##obj_{className}_{og.Name}", flags); + if (hasErr) ImGui.PopStyleColor(); + + if (og.Entries.FirstOrDefault(e => !string.IsNullOrEmpty(e.FilePath)) is { } first) + { + var style = ImGui.GetStyle(); + var btnW = ImGui.CalcTextSize(IconFolder).X + style.FramePadding.X * 2; + ImGui.SameLine(rightEdge - btnW); + ImGui.PushStyleVar(ImGuiStyleVar.ItemSpacing, style.ItemSpacing with { X = 0 }); + ImGui.PushStyleColor(ImGuiCol.Button, Vector4.Zero); + if (ImGui.Button($"{IconFolder}##obj_{className}_{og.Name}")) + { + OpenInExplorer(first.FilePath!); + } + if (ImGui.IsItemHovered()) ImGui.SetTooltip("Open In Explorer"); + ImGui.PopStyleColor(); + ImGui.PopStyleVar(); + } + + if (!open) return; + foreach (var entry in og.Entries) + { + DrawLogEntry(entry); + } + ImGui.TreePop(); + } + + private void DrawLogEntry(LogEntry entry) + { + ImGui.PushStyleColor(ImGuiCol.Text, entry.Color); + ImGui.TextUnformatted(entry.Icon); + ImGui.PopStyleColor(); + ImGui.SameLine(); + ImGui.TextUnformatted(entry.Message); + if (ImGui.IsItemHovered() && entry.Exception != null) + { + DrawExceptionTooltip(entry.Exception); + } + } + + private static void DrawExceptionTooltip(Exception ex) + { + ImGui.BeginTooltip(); + ImGui.PushStyleColor(ImGuiCol.Text, _redColor); + ImGui.TextUnformatted(ex.GetType().ToString()); + ImGui.PopStyleColor(); + ImGui.SameLine(0, 0); + ImGui.TextDisabled(":"); + ImGui.SameLine(); + ImGui.TextUnformatted(ex.Message); + if (!string.IsNullOrEmpty(ex.StackTrace)) + { + ImGui.SetWindowFontScale(0.85f); + ImGui.PushStyleColor(ImGuiCol.Text, ImGui.GetColorU32(ImGuiCol.TextDisabled)); + ImGui.TextUnformatted(ex.StackTrace); + ImGui.PopStyleColor(); + ImGui.SetWindowFontScale(1.0f); + } + ImGui.EndTooltip(); + } + + private void OpenInExplorer(string path) + { + try + { + if (File.Exists(path) || Directory.Exists(path)) Process.Start("explorer.exe", $"/select, \"{path}\""); + else Log.Warning("File or directory does not exist: {Path}", path); + } + catch (Exception ex) + { + Log.Error(ex, "Failed to open in explorer: {Path}", path); + } + } + + private void DrainPendingLogs() + { + while (_pendingLogs.TryDequeue(out var log)) + { + var className = log.GetContext("ClassName"); + var objectName = log.GetContext("ObjectName"); + var filePath = log.GetContext("FilePath"); + + var cg = FindOrCreateClass(className); + var og = FindOrCreateObject(cg, objectName); + var entry = new LogEntry(log, filePath); + if (entry.Icon == IconXMark) + { + og.ErrorCount++; + cg.ErrorCount++; + } + og.Entries.Add(entry); + } + } + + private ClassGroup FindOrCreateClass(string name) + { + foreach (var cg in _classGroups) + if (cg.Name == name) return cg; + + var n = new ClassGroup(name); + _classGroups.Add(n); + return n; + } + + private static ObjectGroup FindOrCreateObject(ClassGroup cg, string name) + { + foreach (var og in cg.Objects) + if (og.Name == name) return og; + + var n = new ObjectGroup(name); + cg.Objects.Add(n); + return n; + } + + private sealed class LogEntry(LogEvent log, string? filePath) + { + public string Icon { get; } = log.Level switch + { + LogEventLevel.Error or LogEventLevel.Fatal => IconXMark, + LogEventLevel.Warning => "\uf071", + LogEventLevel.Information => "\uf05a", + LogEventLevel.Debug => "\uf188", + _ => "\uf5dc" + }; + public Vector4 Color { get; } = log.Level switch + { + LogEventLevel.Error or LogEventLevel.Fatal => _redColor, + LogEventLevel.Warning => _yellowColor, + _ => new Vector4(0.5f, 0.5f, 0.5f, 1f) + }; + public string Message { get; } = $"[{log.Timestamp:HH:mm:ss.fff}] {log.RenderMessage()}"; + public string? FilePath { get; } = filePath; + public Exception? Exception { get; } = log.Exception; + } + + private sealed class ObjectGroup(string name) + { + public string Name { get; } = name; + public List Entries { get; } = []; + public int ErrorCount { get; set; } + } + + private sealed class ClassGroup(string name) + { + public string Name { get; } = name; + public List Objects { get; } = []; + public int ErrorCount { get; set; } + } +} + +public class ImGuiSink : ILogEventSink +{ + public static ImGuiSink Instance { get; } = new(); + + private ImGuiSink() + { + + } + + public event Action? OnExporterLogEvent; + + public void Emit(LogEvent logEvent) + { + if (logEvent.Properties.TryGetValue("ExporterV2", out var state) && state is ScalarValue { Value: true }) + { + OnExporterLogEvent?.Invoke(logEvent); + } + } +} diff --git a/FModel/Views/Snooper/Models/Attachment.cs b/FModel/Views/Snooper/Models/Attachment.cs index f1f53aa0..1031a35b 100644 --- a/FModel/Views/Snooper/Models/Attachment.cs +++ b/FModel/Views/Snooper/Models/Attachment.cs @@ -24,7 +24,7 @@ public class Attachment _attachedFor = new List(); } - public void Attach(UModel attachedTo, Transform transform, Socket socket, SocketAttachementInfo info) + public void Attach(IRenderableModel attachedTo, Transform transform, Socket socket, SocketAttachementInfo info) { socket.AttachedModels.Add(info); @@ -38,13 +38,13 @@ public class Attachment transform.Scale = FVector.OneVector; } - public void Detach(UModel attachedTo, Transform transform, Socket socket, SocketAttachementInfo info) + public void Detach(IRenderableModel attachedTo, Transform transform, Socket socket, SocketAttachementInfo info) { socket.AttachedModels.Remove(info); SafeDetach(attachedTo, transform); } - public void SafeDetach(UModel attachedTo, Transform transform) + public void SafeDetach(IRenderableModel attachedTo, Transform transform) { _attachedTo = string.Empty; attachedTo.Attachments.RemoveAttachment(_modelName); diff --git a/FModel/Views/Snooper/Models/IRenderableModel.cs b/FModel/Views/Snooper/Models/IRenderableModel.cs index 17fde580..aff17989 100644 --- a/FModel/Views/Snooper/Models/IRenderableModel.cs +++ b/FModel/Views/Snooper/Models/IRenderableModel.cs @@ -1,12 +1,14 @@ using System; using System.Collections.Generic; using System.Numerics; +using CUE4Parse_Conversion; +using CUE4Parse.UE4.Objects.Core.Math; using FModel.Views.Snooper.Buffers; using FModel.Views.Snooper.Shading; namespace FModel.Views.Snooper.Models; -public interface IRenderableModel : IDisposable +public interface IRenderableModel : IExportableThing, IDisposable { protected int Handle { get; set; } protected BufferObject Ebo { get; set; } @@ -24,15 +26,36 @@ public interface IRenderableModel : IDisposable public List Transforms { get; } public Attachment Attachments { get; } + public FBox Box { get; protected init; } + public List Sockets { get; } + public List Collisions { get; } + public Material[] Materials { get; protected init; } + public bool IsTwoSided { get; internal set; } + public bool IsProp { get; internal set; } + + public bool HasSockets { get; } + public bool HasCollisions { get; } + public int TransformsCount { get; } + public bool IsSetup { get; set; } public bool IsVisible { get; set; } public bool IsSelected { get; set; } public bool ShowWireframe { get; set; } + public bool ShowCollisions { get; set; } + public int SelectedInstance { get; set; } public void Setup(Options options); public void SetupInstances(); public void Render(Shader shader, Texture checker = null, bool outline = false); + public void RenderCollision(Shader shader); public void PickingRender(Shader shader); public void Update(Options options); public void AddInstance(Transform transform); + + public Transform GetTransform(); +} + +public interface IExportableThing +{ + public void AddToExportSession(ExportSession session); } diff --git a/FModel/Views/Snooper/Models/Morph.cs b/FModel/Views/Snooper/Models/Morph.cs index a53aeb09..c769b359 100644 --- a/FModel/Views/Snooper/Models/Morph.cs +++ b/FModel/Views/Snooper/Models/Morph.cs @@ -61,7 +61,7 @@ public class Morph : IDisposable } } - public Morph(float[] vertices, Dictionary dict, UMorphTarget morphTarget, int index = 0) + public Morph(float[] vertices, Dictionary dict, UMorphTarget morphTarget, uint index = 0) { Name = morphTarget.Name; Vertices = new float[vertices.Length]; diff --git a/FModel/Views/Snooper/Models/SkeletalModel.cs b/FModel/Views/Snooper/Models/SkeletalModel.cs index 6b5c2dc2..1e4c34fc 100644 --- a/FModel/Views/Snooper/Models/SkeletalModel.cs +++ b/FModel/Views/Snooper/Models/SkeletalModel.cs @@ -1,7 +1,6 @@ -using System; using System.Collections.Generic; using System.Numerics; -using CUE4Parse_Conversion.Meshes.PSK; +using CUE4Parse_Conversion.Dto; using CUE4Parse.UE4.Assets.Exports.Animation; using CUE4Parse.UE4.Assets.Exports.SkeletalMesh; using CUE4Parse.UE4.Objects.Core.Math; @@ -14,7 +13,7 @@ using OpenTK.Graphics.OpenGL4; namespace FModel.Views.Snooper.Models; -public class SkeletalModel : UModel +public class SkeletalModel : UModel { private BufferObject _morphVbo; @@ -25,10 +24,10 @@ public class SkeletalModel : UModel public float MorphTime; - public SkeletalModel(USkeletalMesh export, CSkeletalMesh skeletalMesh, Transform transform = null) - : base(export, skeletalMesh.LODs[LodLevel], export.Materials, skeletalMesh.LODs[LodLevel].Verts, skeletalMesh.LODs.Count, transform) + public SkeletalModel(USkeletalMesh export, SkeletalMeshDto skeletalMesh, Transform transform = null) + : base(export, skeletalMesh.LODs[LodLevel], export.Materials, skeletalMesh.LODs[LodLevel].Vertices, skeletalMesh.LODs.Count, transform) { - Box = skeletalMesh.BoundingBox * Constants.SCALE_DOWN_RATIO; + Box = skeletalMesh.Bounds * Constants.SCALE_DOWN_RATIO; Skeleton = new Skeleton(export.ReferenceSkeleton); var sockets = new List(); @@ -101,10 +100,10 @@ public class SkeletalModel : UModel foreach (var morph in export.MorphTargets) { if (!morph.TryLoad(out UMorphTarget morphTarget) || morphTarget.MorphLODModels.Length < 1 || - morphTarget.MorphLODModels[skeletalMesh.LODs[LodLevel].LODIndex].Vertices.Length < 1) + morphTarget.MorphLODModels[skeletalMesh.LODs[LodLevel].SourceLodIndex].Vertices.Length < 1) continue; - Morphs.Add(new Morph(cachedVertices, vertexLookup, morphTarget, skeletalMesh.LODs[LodLevel].LODIndex)); + Morphs.Add(new Morph(cachedVertices, vertexLookup, morphTarget, skeletalMesh.LODs[LodLevel].SourceLodIndex)); } } diff --git a/FModel/Views/Snooper/Models/SplineModel.cs b/FModel/Views/Snooper/Models/SplineModel.cs index 1012707e..2a11919e 100644 --- a/FModel/Views/Snooper/Models/SplineModel.cs +++ b/FModel/Views/Snooper/Models/SplineModel.cs @@ -1,11 +1,8 @@ using System.Collections.Generic; -using System.Numerics; using System.Runtime.InteropServices; -using CUE4Parse_Conversion.Meshes.PSK; +using CUE4Parse_Conversion.Dto; using CUE4Parse.UE4.Assets.Exports.Component.SplineMesh; -using CUE4Parse.UE4.Assets.Exports.Material; using CUE4Parse.UE4.Assets.Exports.StaticMesh; -using CUE4Parse.UE4.Assets.Exports.Texture; using CUE4Parse.UE4.Objects.Core.Math; using FModel.Views.Snooper.Buffers; using FModel.Views.Snooper.Shading; @@ -74,7 +71,7 @@ public class SplineModel : StaticModel private readonly List _splineParams; private BufferObject _ssbo; - public SplineModel(UStaticMesh export, CStaticMesh staticMesh, USplineMeshComponent splineMesh, Transform transform = null) : base(export, staticMesh, transform) + public SplineModel(UStaticMesh export, StaticMeshDto staticMesh, USplineMeshComponent splineMesh, Transform transform = null) : base(export, staticMesh, transform) { _splineParams = [new GpuParams(splineMesh)]; diff --git a/FModel/Views/Snooper/Models/StaticModel.cs b/FModel/Views/Snooper/Models/StaticModel.cs index 4abb4c63..dcb654b4 100644 --- a/FModel/Views/Snooper/Models/StaticModel.cs +++ b/FModel/Views/Snooper/Models/StaticModel.cs @@ -1,6 +1,6 @@ using System; using System.Numerics; -using CUE4Parse_Conversion.Meshes.PSK; +using CUE4Parse_Conversion.Dto; using CUE4Parse.UE4.Assets.Exports.Material; using CUE4Parse.UE4.Assets.Exports.StaticMesh; using CUE4Parse.UE4.Assets.Exports.Texture; @@ -11,24 +11,24 @@ using OpenTK.Graphics.OpenGL4; namespace FModel.Views.Snooper.Models; -public class StaticModel : UModel +public class StaticModel : UModel { - public StaticModel(UMaterialInterface unrealMaterial, CStaticMesh staticMesh) : base(unrealMaterial) + public StaticModel(UMaterialInterface unrealMaterial, StaticMeshDto staticMesh) : base(unrealMaterial) { var lod = staticMesh.LODs[LodLevel]; - Indices = new uint[lod.Indices.Value.Length]; + Indices = new uint[lod.Indices.Length]; for (int i = 0; i < Indices.Length; i++) { - Indices[i] = (uint) lod.Indices.Value[i]; + Indices[i] = lod.Indices[i]; } - Vertices = new float[lod.NumVerts * VertexSize]; - for (int i = 0; i < lod.Verts.Length; i++) + Vertices = new float[lod.Vertices.Length * VertexSize]; + for (int i = 0; i < lod.Vertices.Length; i++) { var count = 0; var baseIndex = i * VertexSize; - var vert = lod.Verts[i]; + var vert = lod.Vertices[i]; Vertices[baseIndex + count++] = i; Vertices[baseIndex + count++] = vert.Position.X * Constants.SCALE_DOWN_RATIO; Vertices[baseIndex + count++] = vert.Position.Z * Constants.SCALE_DOWN_RATIO; @@ -39,8 +39,8 @@ public class StaticModel : UModel Vertices[baseIndex + count++] = vert.Tangent.X; Vertices[baseIndex + count++] = vert.Tangent.Z; Vertices[baseIndex + count++] = vert.Tangent.Y; - Vertices[baseIndex + count++] = vert.UV.U; - Vertices[baseIndex + count++] = vert.UV.V; + Vertices[baseIndex + count++] = vert.Uv.U; + Vertices[baseIndex + count++] = vert.Uv.V; Vertices[baseIndex + count++] = .5f; } @@ -52,7 +52,7 @@ public class StaticModel : UModel AddInstance(Transform.Identity); - Box = staticMesh.BoundingBox * 1.5f * Constants.SCALE_DOWN_RATIO; + Box = staticMesh.Bounds * 1.5f * Constants.SCALE_DOWN_RATIO; } public StaticModel(UPaperSprite paperSprite, UTexture2D texture) : base(paperSprite) @@ -108,8 +108,8 @@ public class StaticModel : UModel Box = new FBox(-backward, backward) * Constants.SCALE_DOWN_RATIO; } - public StaticModel(UStaticMesh export, CStaticMesh staticMesh, Transform transform = null) - : base(export, staticMesh.LODs[LodLevel], export.Materials, staticMesh.LODs[LodLevel].Verts, staticMesh.LODs.Count, transform) + public StaticModel(UStaticMesh export, StaticMeshDto staticMesh, Transform transform = null) + : base(export, staticMesh.LODs[LodLevel], export.Materials, staticMesh.LODs[LodLevel].Vertices, staticMesh.LODs.Count, transform) { if (export.BodySetup.TryLoad(out UBodySetup bodySetup) && bodySetup.AggGeom != null) { @@ -135,7 +135,7 @@ public class StaticModel : UModel } } - Box = staticMesh.BoundingBox * Constants.SCALE_DOWN_RATIO; + Box = staticMesh.Bounds * Constants.SCALE_DOWN_RATIO; for (int i = 0; i < export.Sockets.Length; i++) { if (export.Sockets[i].Load() is not { } socket) continue; diff --git a/FModel/Views/Snooper/Models/UModel.cs b/FModel/Views/Snooper/Models/UModel.cs index 613d4100..9fa2a11d 100644 --- a/FModel/Views/Snooper/Models/UModel.cs +++ b/FModel/Views/Snooper/Models/UModel.cs @@ -1,16 +1,13 @@ using System; using System.Collections.Generic; -using System.IO; using System.Linq; using System.Numerics; using CUE4Parse_Conversion; -using CUE4Parse_Conversion.Meshes.PSK; -using CUE4Parse.UE4.Assets; +using CUE4Parse_Conversion.Dto; using CUE4Parse.UE4.Assets.Exports; using CUE4Parse.UE4.Assets.Exports.Material; using CUE4Parse.UE4.Objects.Core.Math; -using CUE4Parse.Utils; -using FModel.Settings; +using CUE4Parse.UE4.Objects.UObject; using FModel.Views.Snooper.Buffers; using FModel.Views.Snooper.Shading; using OpenTK.Graphics.OpenGL4; @@ -24,7 +21,7 @@ public class VertexAttribute public bool Enabled; } -public abstract class UModel : IRenderableModel +public abstract class UModel : IRenderableModel where TVertex : struct, IMeshVertex { protected const int LodLevel = 0; @@ -58,12 +55,12 @@ public abstract class UModel : IRenderableModel public List Transforms { get; } public Attachment Attachments { get; } - public FBox Box; - public readonly List Sockets; - public readonly List Collisions; - public Material[] Materials; - public bool IsTwoSided; - public bool IsProp; + public FBox Box { get; init; } + public List Sockets { get; } + public List Collisions { get; } + public Material[] Materials { get; init; } + public bool IsTwoSided { get; set; } + public bool IsProp { get; set; } public int VertexSize => _vertexAttributes.Where(x => x.Enabled).Sum(x => x.Size); public bool HasVertexColors => _vertexAttributes[(int) EAttribute.Colors].Enabled; @@ -76,7 +73,7 @@ public abstract class UModel : IRenderableModel public bool IsSelected { get; set; } public bool ShowWireframe { get; set; } public bool ShowCollisions { get; set; } - public int SelectedInstance; + public int SelectedInstance { get; set; } protected UModel() { @@ -110,16 +107,16 @@ public abstract class UModel : IRenderableModel _vertexAttributes[(int) EAttribute.Layer].Enabled = true; } - protected UModel(UObject export, CBaseMeshLod lod, IReadOnlyList materials, IReadOnlyList vertices, int numLods, Transform transform = null) : this(export) + protected UModel(UObject export, MeshLodDto lod, IReadOnlyList materials, IReadOnlyList vertices, int numLods, Transform transform = null) : this(export) { - var hasCustomUvs = lod.ExtraUV.IsValueCreated; - UvCount = hasCustomUvs ? Math.Max(lod.NumTexCoords, numLods) : lod.NumTexCoords; + var hasCustomUvs = lod.ExtraUvs.Length > 0; + UvCount = hasCustomUvs ? Math.Max(lod.ExtraUvs.Length, numLods) : lod.ExtraUvs.Length + 1; IsTwoSided = lod.IsTwoSided; - Indices = new uint[lod.Indices.Value.Length]; + Indices = new uint[lod.Indices.Length]; for (int i = 0; i < Indices.Length; i++) { - Indices[i] = (uint) lod.Indices.Value[i]; + Indices[i] = lod.Indices[i]; } Materials = new Material[materials.Count]; @@ -129,11 +126,11 @@ public abstract class UModel : IRenderableModel Materials[m] = new Material(unrealMaterial); else Materials[m] = new Material(); } - _vertexAttributes[(int) EAttribute.Colors].Enabled = lod.VertexColors is { Length: > 0}; + _vertexAttributes[(int) EAttribute.Colors].Enabled = lod.VertexColors is { Length: > 0 }; _vertexAttributes[(int) EAttribute.BonesId].Enabled = - _vertexAttributes[(int) EAttribute.BonesWeight].Enabled = vertices is CSkelMeshVertex[]; + _vertexAttributes[(int) EAttribute.BonesWeight].Enabled = vertices is SkinnedMeshVertex[]; - Vertices = new float[lod.NumVerts * VertexSize]; + Vertices = new float[vertices.Count * VertexSize]; for (int i = 0; i < vertices.Count; i++) { var count = 0; @@ -149,18 +146,18 @@ public abstract class UModel : IRenderableModel Vertices[baseIndex + count++] = vert.Tangent.X; Vertices[baseIndex + count++] = vert.Tangent.Z; Vertices[baseIndex + count++] = vert.Tangent.Y; - Vertices[baseIndex + count++] = vert.UV.U; - Vertices[baseIndex + count++] = vert.UV.V; - Vertices[baseIndex + count++] = hasCustomUvs ? lod.ExtraUV.Value[0][i].U - 1 : .5f; + Vertices[baseIndex + count++] = vert.Uv.U; + Vertices[baseIndex + count++] = vert.Uv.V; + Vertices[baseIndex + count++] = hasCustomUvs ? lod.ExtraUvs[0][i].U - 1 : .5f; if (HasVertexColors) { - Vertices[baseIndex + count++] = lod.VertexColors[i].ToPackedARGB(); + Vertices[baseIndex + count++] = lod.VertexColors![0].Colors[i].ToPackedARGB(); } - if (vert is CSkelMeshVertex skelVert) + if (vert is SkinnedMeshVertex skelVert) { - int max = skelVert.Influences.Count; + int max = skelVert.Influences.Length; for (int j = 0; j < 8; j++) { var boneID = j < max ? skelVert.Influences[j].Bone : (ushort) 0; @@ -172,10 +169,10 @@ public abstract class UModel : IRenderableModel } } - Sections = new Section[lod.Sections.Value.Length]; + Sections = new Section[lod.Sections.Length]; for (var s = 0; s < Sections.Length; s++) { - var section = lod.Sections.Value[s]; + var section = lod.Sections[s]; Sections[s] = new Section(section.MaterialIndex, section.NumFaces * 3, section.FirstIndex); if (section.IsValid) Sections[s].SetupMaterial(Materials[section.MaterialIndex]); } @@ -392,10 +389,9 @@ public abstract class UModel : IRenderableModel return socket.Transform.LocalMatrix * socketRelation; } - public bool Save(out string label, out string savedFilePath) + public void AddToExportSession(ExportSession session) { - var toSave = new Exporter(_export, UserSettings.Default.ExportOptions); - return toSave.TryWriteToDir(new DirectoryInfo(UserSettings.Default.ModelDirectory), out label, out savedFilePath); + session.Add(_export); } public virtual void Dispose() diff --git a/FModel/Views/Snooper/Options.cs b/FModel/Views/Snooper/Options.cs index b0d21e64..916c943c 100644 --- a/FModel/Views/Snooper/Options.cs +++ b/FModel/Views/Snooper/Options.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Diagnostics.CodeAnalysis; using System.Linq; using CUE4Parse_Conversion.Textures; using CUE4Parse.UE4.Assets.Exports.Texture; @@ -20,7 +21,7 @@ public class Options public int SelectedMorph { get; private set; } public int SelectedAnimation{ get; private set; } - public readonly Dictionary Models; + public readonly Dictionary Models; public readonly Dictionary Textures; public readonly List Lights; @@ -33,7 +34,7 @@ public class Options public Options() { - Models = new Dictionary(); + Models = new Dictionary(); Textures = new Dictionary(); Lights = new List(); @@ -110,30 +111,30 @@ public class Options public void RemoveModel(FGuid guid) { - if (!TryGetModel(guid, out var m) || m is not UModel model) + if (!TryGetModel(guid, out var m) || m is null) return; - DetachAndRemoveModels(model, true); - model.Dispose(); + DetachAndRemoveModels(m, true); + m.Dispose(); Models.Remove(guid); } - private void DetachAndRemoveModels(UModel model, bool detach) + private void DetachAndRemoveModels(IRenderableModel model, bool detach) { foreach (var socket in model.Sockets.ToList()) { foreach (var info in socket.AttachedModels) { - if (!TryGetModel(info.Guid, out var m) || m is not UModel attachedModel) + if (!TryGetModel(info.Guid, out var m) || m is null) continue; - var t = attachedModel.GetTransform(); - if (attachedModel.IsProp) + var t = m.GetTransform(); + if (m.IsProp) { - attachedModel.Attachments.SafeDetach(model, t); + m.Attachments.SafeDetach(model, t); RemoveModel(info.Guid); } - else if (detach) attachedModel.Attachments.SafeDetach(model, t); + else if (detach) m.Attachments.SafeDetach(model, t); } if (socket.IsVirtual) @@ -209,8 +210,8 @@ public class Options return texture != null; } - public bool TryGetModel(out UModel model) => Models.TryGetValue(SelectedModel, out model); - public bool TryGetModel(FGuid guid, out UModel model) => Models.TryGetValue(guid, out model); + public bool TryGetModel([MaybeNullWhen(false)] out IRenderableModel model) => Models.TryGetValue(SelectedModel, out model); + public bool TryGetModel(FGuid guid, [MaybeNullWhen(false)] out IRenderableModel model) => Models.TryGetValue(guid, out model); public bool TryGetSection(out Section section) => TryGetSection(SelectedModel, out section); public bool TryGetSection(FGuid guid, out Section section) @@ -223,7 +224,7 @@ public class Options section = null; return false; } - public bool TryGetSection(UModel model, out Section section) + public bool TryGetSection(IRenderableModel model, out Section section) { if (SelectedSection >= 0 && SelectedSection < model.Sections.Length) section = model.Sections[SelectedSection]; else section = null; diff --git a/FModel/Views/Snooper/Renderer.cs b/FModel/Views/Snooper/Renderer.cs index ab9a47b4..94e923ad 100644 --- a/FModel/Views/Snooper/Renderer.cs +++ b/FModel/Views/Snooper/Renderer.cs @@ -6,13 +6,13 @@ using System.Threading; using System.Windows; using CUE4Parse_Conversion.Animations; using CUE4Parse_Conversion.Meshes; +using CUE4Parse_Conversion.Options; using CUE4Parse.UE4.Assets.Exports; using CUE4Parse.UE4.Assets.Exports.Animation; using CUE4Parse.UE4.Assets.Exports.Component.SplineMesh; using CUE4Parse.UE4.Assets.Exports.Component.StaticMesh; using CUE4Parse.UE4.Assets.Exports.GeometryCollection; using CUE4Parse.UE4.Assets.Exports.Material; -using CUE4Parse.UE4.Assets.Exports.Nanite; using CUE4Parse.UE4.Assets.Exports.SkeletalMesh; using CUE4Parse.UE4.Assets.Exports.StaticMesh; using CUE4Parse.UE4.Assets.Exports.Texture; @@ -29,7 +29,6 @@ using FModel.Views.Snooper.Lights; using FModel.Views.Snooper.Models; using FModel.Views.Snooper.Shading; using OpenTK.Windowing.GraphicsLibraryFramework; -using UModel = FModel.Views.Snooper.Models.UModel; namespace FModel.Views.Snooper; @@ -175,7 +174,7 @@ public class Renderer : IDisposable t.Scale = offset.Scale3D; } - UModel addedModel = null; + IRenderableModel addedModel = null; switch (export) { case UStaticMesh st: @@ -344,7 +343,7 @@ public class Renderer : IDisposable wnd.WindowShouldClose(true, true); } - private void LoadStaticMesh(UStaticMesh original, ENaniteMeshFormat naniteFormat = ENaniteMeshFormat.OnlyNormalLODs) + private void LoadStaticMesh(UStaticMesh original, ENaniteMeshFormat naniteFormat = ENaniteMeshFormat.NoNanite) { var guid = original.LightingGuid; if (Options.TryGetModel(guid, out var model)) @@ -713,7 +712,7 @@ public class Renderer : IDisposable continue; var parameters = new CMaterialParams2(); - unrealMaterial.GetParams(parameters, EMaterialFormat.FirstLayer); + unrealMaterial.GetParams(parameters, EMaterialDepth.TopLayerOnly); if (!parameters.TryGetLinearColor(out var color, "Color")) color = FLinearColor.Gray; @@ -726,7 +725,7 @@ public class Renderer : IDisposable if (!material.TryLoad(out UMaterialInterface unrealMaterial)) continue; var parameters = new CMaterialParams2(); - unrealMaterial.GetParams(parameters, EMaterialFormat.FirstLayer); + unrealMaterial.GetParams(parameters, EMaterialDepth.TopLayerOnly); if (!byte.TryParse(material.Name.SubstringAfterLast("_"), out var indexAsByte)) indexAsByte = byte.MaxValue; diff --git a/FModel/Views/Snooper/Shading/Material.cs b/FModel/Views/Snooper/Shading/Material.cs index 011a166d..d250510a 100644 --- a/FModel/Views/Snooper/Shading/Material.cs +++ b/FModel/Views/Snooper/Shading/Material.cs @@ -317,7 +317,7 @@ public class Material : IDisposable } } - public bool ImGuiTextures(Dictionary icons, UModel model) + public bool ImGuiTextures(Dictionary icons, IRenderableModel model) { if (ImGui.BeginTable("material_textures", 2)) { diff --git a/FModel/Views/Snooper/SnimGui.cs b/FModel/Views/Snooper/SnimGui.cs index 27112d6f..d923945b 100644 --- a/FModel/Views/Snooper/SnimGui.cs +++ b/FModel/Views/Snooper/SnimGui.cs @@ -1,6 +1,5 @@ using System; using System.Collections.Generic; -using System.Diagnostics; using CUE4Parse.UE4.Objects.Core.Misc; using FModel.Framework; using ImGuiNET; @@ -38,30 +37,10 @@ public class Swap } } -public class Save -{ - public bool Value; - public string Label; - public string Path; - - public Save() - { - Reset(); - } - - public void Reset() - { - Value = false; - Label = string.Empty; - Path = string.Empty; - } -} - public class SnimGui { public readonly ImGuiController Controller; private readonly Swap _swapper = new (); - private readonly Save _saver = new (); private readonly string _renderer; private readonly string _version; private readonly float _tableWidth; @@ -96,7 +75,7 @@ public class SnimGui SectionWindow("Material Inspector", s.Renderer, DrawMaterialInspector, false); AnimationWindow("Timeline", s.Renderer, (icons, tracker, animations) => - tracker.ImGuiTimeline(s, _saver, icons, animations, _outlinerSize, Controller.FontSemiBold)); + tracker.ImGuiTimeline(s, icons, animations, _outlinerSize, Controller.FontSemiBold)); Window("World", () => DrawWorld(s), false); @@ -144,36 +123,13 @@ public class SnimGui } }); - Modal("Saved", _saver.Value, () => - { - ImGui.TextWrapped($"Successfully saved {_saver.Label}"); - ImGui.Separator(); - - var size = new Vector2(120, 0); - if (ImGui.Button("OK", size)) - { - _saver.Reset(); - ImGui.CloseCurrentPopup(); - } - - ImGui.SetItemDefaultFocus(); - ImGui.SameLine(); - - if (ImGui.Button("Show In Explorer", size)) - { - Process.Start("explorer.exe", $"/select, \"{_saver.Path.Replace('/', '\\')}\""); - - _saver.Reset(); - ImGui.CloseCurrentPopup(); - } - }); + ExportModal.Instance.Draw(); } private void DrawWorld(Snooper s) { if (ImGui.BeginTable("world_details", 2, ImGuiTableFlags.SizingStretchProp)) { - var b = false; var length = s.Renderer.Options.Models.Count; NoFramePaddingOnY(() => @@ -184,31 +140,7 @@ public class SnimGui if (ImGui.SmallButton("Save All")) { - foreach (var model in s.Renderer.Options.Models.Values) - { - b |= model.Save(out _, out _); - } - } - }); - - Modal("Saved", b, () => - { - ImGui.TextWrapped($"Successfully saved {length} models"); - ImGui.Separator(); - - var size = new Vector2(120, 0); - if (ImGui.Button("OK", size)) - { - ImGui.CloseCurrentPopup(); - } - - ImGui.SetItemDefaultFocus(); - ImGui.SameLine(); - - if (ImGui.Button("Show In Explorer", size)) - { - Process.Start("explorer.exe", $"/select, \"{UserSettings.Default.ModelDirectory.Replace('/', '\\')}\""); - ImGui.CloseCurrentPopup(); + ExportModal.Instance.Export(s.Renderer.Options.Models.Values, UserSettings.Default.ModelDirectory, UserSettings.GetExportOptions()); } }); @@ -412,7 +344,7 @@ Snooper aims to give an accurate preview of models, materials, skeletal animatio if (ImGui.MenuItem("Save")) { s.WindowShouldFreeze(true); - _saver.Value = model.Save(out _saver.Label, out _saver.Path); + ExportModal.Instance.Export([model], UserSettings.Default.ModelDirectory, UserSettings.GetExportOptions()); s.WindowShouldFreeze(false); } if (ImGui.MenuItem("Animate", model is SkeletalModel)) @@ -591,7 +523,11 @@ Snooper aims to give an accurate preview of models, materials, skeletal animatio { ImGui.PushID(0); ImGui.BeginDisabled(model.TransformsCount < 2); ImGui.SetNextItemWidth(ImGui.GetContentRegionAvail().X); - ImGui.SliderInt("", ref model.SelectedInstance, 0, model.TransformsCount - 1, "Instance %i", ImGuiSliderFlags.AlwaysClamp); + var instance = model.SelectedInstance; + if (ImGui.SliderInt("", ref instance, 0, model.TransformsCount - 1, "Instance %i", ImGuiSliderFlags.AlwaysClamp)) + { + model.SelectedInstance = instance; + } ImGui.EndDisabled(); ImGui.PopID(); if (ImGui.BeginTable("guizmo_controls", 2, ImGuiTableFlags.SizingStretchProp)) @@ -669,7 +605,7 @@ Snooper aims to give an accurate preview of models, materials, skeletal animatio ImGui.PopStyleVar(); } - private void DrawMaterialInspector(Dictionary icons, UModel model, Section section) + private void DrawMaterialInspector(Dictionary icons, IRenderableModel model, Section section) { var material = model.Materials[section.MaterialIndex]; @@ -906,7 +842,7 @@ Snooper aims to give an accurate preview of models, materials, skeletal animatio ImGui.End(); } - private void MeshWindow(string name, Renderer renderer, Action, UModel> content, bool styled = true) + private void MeshWindow(string name, Renderer renderer, Action, IRenderableModel> content, bool styled = true) { Window(name, () => { @@ -915,7 +851,7 @@ Snooper aims to give an accurate preview of models, materials, skeletal animatio }, styled); } - private void SectionWindow(string name, Renderer renderer, Action, UModel, Section> content, bool styled = true) + private void SectionWindow(string name, Renderer renderer, Action, IRenderableModel, Section> content, bool styled = true) { MeshWindow(name, renderer, (icons, model) => { From 86045e50266bae676ecd6fbdffa2ff254a7a44f2 Mon Sep 17 00:00:00 2001 From: Asval Date: Sun, 7 Jun 2026 18:53:20 +0200 Subject: [PATCH 28/38] status bar button + popup --- CUE4Parse | 2 +- FModel/MainWindow.xaml | 112 ++++++++++++++++-- FModel/MainWindow.xaml.cs | 11 ++ FModel/Settings/UserSettings.cs | 1 + FModel/ViewModels/CUE4ParseViewModel.cs | 77 ++++-------- .../Commands/RightClickMenuCommand.cs | 4 +- FModel/ViewModels/ExportSessionViewModel.cs | 85 +++++++++++++ FModel/ViewModels/UpdateViewModel.cs | 2 +- ...IntGreaterThanZeroToVisibilityConverter.cs | 17 +++ FModel/Views/Resources/Resources.xaml | 16 ++- 10 files changed, 253 insertions(+), 74 deletions(-) create mode 100644 FModel/ViewModels/ExportSessionViewModel.cs create mode 100644 FModel/Views/Resources/Converters/IntGreaterThanZeroToVisibilityConverter.cs diff --git a/CUE4Parse b/CUE4Parse index 4c333298..f44f491f 160000 --- a/CUE4Parse +++ b/CUE4Parse @@ -1 +1 @@ -Subproject commit 4c3332989787d0b57325d160137e9fa61d82a139 +Subproject commit f44f491ff28d5dc79e998810aab9c5073ab8f33d diff --git a/FModel/MainWindow.xaml b/FModel/MainWindow.xaml index 46d2ddb5..7c493d35 100644 --- a/FModel/MainWindow.xaml +++ b/FModel/MainWindow.xaml @@ -2,6 +2,7 @@ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:FModel" + xmlns:viewModels="clr-namespace:FModel.ViewModels" xmlns:controls="clr-namespace:FModel.Views.Resources.Controls" xmlns:inputs="clr-namespace:FModel.Views.Resources.Controls.Inputs" xmlns:converters="clr-namespace:FModel.Views.Resources.Converters" @@ -24,6 +25,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FModel/Views/ExportSessionWindow.xaml.cs b/FModel/Views/ExportSessionWindow.xaml.cs new file mode 100644 index 00000000..52df543d --- /dev/null +++ b/FModel/Views/ExportSessionWindow.xaml.cs @@ -0,0 +1,54 @@ +using System.Diagnostics; +using System.IO; +using System.Windows; +using System.Windows.Controls; +using FModel.ViewModels; + +namespace FModel.Views; + +public partial class ExportSessionWindow +{ + public ExportSessionWindow() + { + InitializeComponent(); + DataContext = ExportSessionViewModel.Instance; + } + + private async void OnExportOrOkClick(object sender, RoutedEventArgs e) + { + if (sender is not Button { DataContext: ExportSessionViewModel viewModel }) + return; + + if (viewModel.IsFinished) Close(); + else if (viewModel.CanExport) await viewModel.ExportAsync(); + } + + private void OnCancelClick(object sender, RoutedEventArgs e) + { + if (sender is Button { DataContext: ExportSessionViewModel viewModel }) + viewModel.CancelExport(); + } + + private void OnClearQueueClick(object sender, RoutedEventArgs e) + { + if (sender is Button { DataContext: ExportSessionViewModel viewModel }) + viewModel.ClearQueue(); + } + + private void OnOpenInExplorerClick(object sender, RoutedEventArgs e) + { + if (sender is not Button { Tag: string path }) return; + + try + { + if (File.Exists(path) || Directory.Exists(path)) + { + Process.Start("explorer.exe", $"/select,\"{path}\""); + } + } + catch + { + // + } + } +} diff --git a/FModel/Views/Resources/Converters/TimeSpanConverter.cs b/FModel/Views/Resources/Converters/TimeSpanConverter.cs new file mode 100644 index 00000000..9cbb6d90 --- /dev/null +++ b/FModel/Views/Resources/Converters/TimeSpanConverter.cs @@ -0,0 +1,21 @@ +using System; +using System.Globalization; +using System.Windows.Data; + +namespace FModel.Views.Resources.Converters; + +public class TimeSpanConverter : IValueConverter +{ + public static readonly TimeSpanConverter Instance = new(); + + public object Convert(object? value, Type targetType, object? parameter, CultureInfo culture) + { + if (value is not TimeSpan ts) return "--:--"; + return parameter is "elapsed" + ? $"{(int)ts.TotalMinutes:D2}:{ts.Seconds:D2}.{ts.Milliseconds / 10:D2}" + : $"{(int)ts.TotalMinutes:D2}:{ts.Seconds:D2}"; + } + + public object ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture) => + throw new NotImplementedException(); +} diff --git a/FModel/Views/Resources/Icons.xaml b/FModel/Views/Resources/Icons.xaml index b46d3ece..88bfe0bb 100644 --- a/FModel/Views/Resources/Icons.xaml +++ b/FModel/Views/Resources/Icons.xaml @@ -21,7 +21,7 @@ M20.29,10.29l-3.59-3.59C16.08,6.08,15,6.52,15,7.41V10H8c-2.76,0-5,2.24-5,5v3c0,0.55,0.45,1,1,1h0c0.55,0,1-0.45,1-1v-3 c0-1.65,1.35-3,3-3h7v2.59c0,0.89,1.08,1.34,1.71,0.71l3.59-3.59C20.68,11.32,20.68,10.68,20.29,10.29z M9.5,5.5c1.1,0,2-0.9,2-2s-0.9-2-2-2s-2,0.9-2,2S8.4,5.5,9.5,5.5z M5.75,8.9L3.23,21.81C3.11,22.43,3.58,23,4.21,23H4.3 c0.47,0,0.88-0.33,0.98-0.79L6.85,15L9,17v5c0,0.55,0.45,1,1,1h0c0.55,0,1-0.45,1-1v-6.14c0-0.27-0.11-0.52-0.29-0.71L8.95,13.4 l0.6-3c1.07,1.32,2.58,2.23,4.31,2.51c0.6,0.1,1.14-0.39,1.14-1v0c0-0.49-0.36-0.9-0.84-0.98c-1.49-0.25-2.75-1.15-3.51-2.38 L9.7,6.95C9.35,6.35,8.7,6,8,6C7.75,6,7.5,6.05,7.25,6.15l-4.63,1.9C2.25,8.2,2,8.57,2,8.97V12c0,0.55,0.45,1,1,1h0 c0.55,0,1-0.45,1-1V9.65L5.75,8.9 M21,2h-7c-0.55,0-1,0.45-1,1v5c0,0.55,0.45,1,1,1h2.75v13.25c0,0.41,0.34,0.75,0.75,0.75 s0.75-0.34,0.75-0.75V9H21c0.55,0,1-0.45,1-1V3C22,2.45,21.55,2,21,2z M20.15,5.85l-1.28,1.29c-0.31,0.32-0.85,0.09-0.85-0.35V6.25 h-2.76c-0.41,0-0.75-0.34-0.75-0.75s0.34-0.75,0.75-0.75h2.76V4.21c0-0.45,0.54-0.67,0.85-0.35l1.28,1.29 C20.34,5.34,20.34,5.66,20.15,5.85z M22,24L16.75,19L17.38,21H4.5A2.5,2.5 0 0,1 2,18.5V3.5A2.5,2.5 0 0,1 4.5,1H19.5A2.5,2.5 0 0,1 22,3.5V24M12,6.8C9.32,6.8 7.44,7.95 7.44,7.95C8.47,7.03 10.27,6.5 10.27,6.5L10.1,6.33C8.41,6.36 6.88,7.53 6.88,7.53C5.16,11.12 5.27,14.22 5.27,14.22C6.67,16.03 8.75,15.9 8.75,15.9L9.46,15C8.21,14.73 7.42,13.62 7.42,13.62C7.42,13.62 9.3,14.9 12,14.9C14.7,14.9 16.58,13.62 16.58,13.62C16.58,13.62 15.79,14.73 14.54,15L15.25,15.9C15.25,15.9 17.33,16.03 18.73,14.22C18.73,14.22 18.84,11.12 17.12,7.53C17.12,7.53 15.59,6.36 13.9,6.33L13.73,6.5C13.73,6.5 15.53,7.03 16.56,7.95C16.56,7.95 14.68,6.8 12,6.8M9.93,10.59C10.58,10.59 11.11,11.16 11.1,11.86C11.1,12.55 10.58,13.13 9.93,13.13C9.29,13.13 8.77,12.55 8.77,11.86C8.77,11.16 9.28,10.59 9.93,10.59M14.1,10.59C14.75,10.59 15.27,11.16 15.27,11.86C15.27,12.55 14.75,13.13 14.1,13.13C13.46,13.13 12.94,12.55 12.94,11.86C12.94,11.16 13.45,10.59 14.1,10.59Z - M14,12H10V10H14M14,16H10V14H14M20,8H17.19C16.74,7.22 16.12,6.55 15.37,6.04L17,4.41L15.59,3L13.42,5.17C12.96,5.06 12.5,5 12,5C11.5,5 11.04,5.06 10.59,5.17L8.41,3L7,4.41L8.62,6.04C7.88,6.55 7.26,7.22 6.81,8H4V10H6.09C6.04,10.33 6,10.66 6,11V12H4V14H6V15C6,15.34 6.04,15.67 6.09,16H4V18H6.81C7.85,19.79 9.78,21 12,21C14.22,21 16.15,19.79 17.19,18H20V16H17.91C17.96,15.67 18,15.34 18,15V14H20V12H18V11C18,10.66 17.96,10.33 17.91,10H20V8Z + M12 4a4 4 0 0 1 3.995 3.8l.005 .2a1 1 0 0 1 .428 .096l3.033 -1.938a1 1 0 1 1 1.078 1.684l-3.015 1.931a7.17 7.17 0 0 1 .476 2.227h3a1 1 0 0 1 0 2h-3v1a6.01 6.01 0 0 1 -.195 1.525l2.708 1.616a1 1 0 1 1 -1.026 1.718l-2.514 -1.501a6.002 6.002 0 0 1 -3.973 2.56v-5.918a1 1 0 0 0 -2 0v5.917a6.002 6.002 0 0 1 -3.973 -2.56l-2.514 1.503a1 1 0 1 1 -1.026 -1.718l2.708 -1.616a6.01 6.01 0 0 1 -.195 -1.526v-1h-3a1 1 0 0 1 0 -2h3.001v-.055a7 7 0 0 1 .474 -2.173l-3.014 -1.93a1 1 0 1 1 1.078 -1.684l3.032 1.939l.024 -.012l.068 -.027l.019 -.005l.016 -.006l.032 -.008l.04 -.013l.034 -.007l.034 -.004l.045 -.008l.015 -.001l.015 -.002l.087 -.004a4 4 0 0 1 4 -4zm0 2a2 2 0 0 0 -2 2h4a2 2 0 0 0 -2 -2z M22 10.92L19.26 9.33C21.9 7.08 19.25 2.88 16.08 4.31L15.21 4.68L15.1 3.72C15 2.64 14.44 1.87 13.7 1.42C12.06 .467 9.56 1.12 9.16 3.5L6.41 1.92C5.45 1.36 4.23 1.69 3.68 2.65L2.68 4.38C2.4 4.86 2.57 5.47 3.05 5.75L10.84 10.25L12.34 7.65L14.07 8.65L12.57 11.25L20.36 15.75C20.84 16 21.46 15.86 21.73 15.38L22.73 13.65C23.28 12.69 22.96 11.47 22 10.92M12.37 5C11.5 5.25 10.8 4.32 11.24 3.55C11.5 3.07 12.13 2.91 12.61 3.18C13.38 3.63 13.23 4.79 12.37 5M17.56 8C16.7 8.25 16 7.32 16.44 6.55C16.71 6.07 17.33 5.91 17.8 6.18C18.57 6.63 18.42 7.79 17.56 8M20.87 16.88C21.28 16.88 21.67 16.74 22 16.5V20C22 21.11 21.11 22 20 22H4C2.9 22 2 21.11 2 20V11H10.15L11 11.5V20H13V12.65L19.87 16.61C20.17 16.79 20.5 16.88 20.87 16.88Z M4 10.5c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5zm0-6c-.83 0-1.5.67-1.5 1.5S3.17 7.5 4 7.5 5.5 6.83 5.5 6 4.83 4.5 4 4.5zm0 12c-.83 0-1.5.68-1.5 1.5s.68 1.5 1.5 1.5 1.5-.68 1.5-1.5-.67-1.5-1.5-1.5zM8 19h12c.55 0 1-.45 1-1s-.45-1-1-1H8c-.55 0-1 .45-1 1s.45 1 1 1zm0-6h12c.55 0 1-.45 1-1s-.45-1-1-1H8c-.55 0-1 .45-1 1s.45 1 1 1zM7 6c0 .55.45 1 1 1h12c.55 0 1-.45 1-1s-.45-1-1-1H8c-.55 0-1 .45-1 1z M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 15c-.55 0-1-.45-1-1v-4c0-.55.45-1 1-1s1 .45 1 1v4c0 .55-.45 1-1 1zm1-8h-2V7h2v2z @@ -50,6 +50,7 @@ M13,9V7.82C14.16,7.4,15,6.3,15,5c0-1.65-1.35-3-3-3S9,3.35,9,5c0,1.3,0.84,2.4,2,2.82V9H9c-0.55,0-1,0.45-1,1v0 c0,0.55,0.45,1,1,1h2v8.92c-2.22-0.33-4.59-1.68-5.55-3.37l1.14-1.14c0.22-0.22,0.19-0.57-0.05-0.75L3.8,12.6 C3.47,12.35,3,12.59,3,13v2c0,3.88,4.92,7,9,7s9-3.12,9-7v-2c0-0.41-0.47-0.65-0.8-0.4l-2.74,2.05c-0.24,0.18-0.27,0.54-0.05,0.75 l1.14,1.14c-0.96,1.69-3.33,3.04-5.55,3.37V11h2c0.55,0,1-0.45,1-1v0c0-0.55-0.45-1-1-1H13z M12,4c0.55,0,1,0.45,1,1s-0.45,1-1,1 s-1-0.45-1-1S11.45,4,12,4z M8.12 19.3c.39.39 1.02.39 1.41 0L12 16.83l2.47 2.47c.39.39 1.02.39 1.41 0 .39-.39.39-1.02 0-1.41l-3.17-3.17c-.39-.39-1.02-.39-1.41 0l-3.17 3.17c-.4.38-.4 1.02-.01 1.41zm7.76-14.6c-.39-.39-1.02-.39-1.41 0L12 7.17 9.53 4.7c-.39-.39-1.02-.39-1.41 0-.39.39-.39 1.03 0 1.42l3.17 3.17c.39.39 1.02.39 1.41 0l3.17-3.17c.4-.39.4-1.03.01-1.42z M12 5.83l2.46 2.46c.39.39 1.02.39 1.41 0 .39-.39.39-1.02 0-1.41L12.7 3.7c-.39-.39-1.02-.39-1.41 0L8.12 6.88c-.39.39-.39 1.02 0 1.41.39.39 1.02.39 1.41 0L12 5.83zm0 12.34l-2.46-2.46c-.39-.39-1.02-.39-1.41 0-.39.39-.39 1.02 0 1.41l3.17 3.18c.39.39 1.02.39 1.41 0l3.17-3.17c.39-.39.39-1.02 0-1.41-.39-.39-1.02-.39-1.41 0L12 18.17z + M12 1.67c.955 0 1.845 .467 2.39 1.247l.105 .16l8.114 13.548a2.914 2.914 0 0 1 -2.307 4.363l-.195 .008h-16.225a2.914 2.914 0 0 1 -2.582 -4.2l.099 -.185l8.11 -13.538a2.914 2.914 0 0 1 2.491 -1.403zm.01 13.33l-.127 .007a1 1 0 0 0 0 1.986l.117 .007l.127 -.007a1 1 0 0 0 0 -1.986l-.117 -.007zm-.01 -7a1 1 0 0 0 -.993 .883l-.007 .117v4l.007 .117a1 1 0 0 0 1.986 0l.007 -.117v-4l-.007 -.117a1 1 0 0 0 -.993 -.883z M11.71,17.99C8.53,17.84,6,15.22,6,12c0-3.31,2.69-6,6-6c3.22,0,5.84,2.53,5.99,5.71l-2.1-0.63C15.48,9.31,13.89,8,12,8 c-2.21,0-4,1.79-4,4c0,1.89,1.31,3.48,3.08,3.89L11.71,17.99z M22,12c0,0.3-0.01,0.6-0.04,0.9l-1.97-0.59C20,12.21,20,12.1,20,12 c0-4.42-3.58-8-8-8s-8,3.58-8,8s3.58,8,8,8c0.1,0,0.21,0,0.31-0.01l0.59,1.97C12.6,21.99,12.3,22,12,22C6.48,22,2,17.52,2,12 C2,6.48,6.48,2,12,2S22,6.48,22,12z M18.23,16.26l2.27-0.76c0.46-0.15,0.45-0.81-0.01-0.95l-7.6-2.28 c-0.38-0.11-0.74,0.24-0.62,0.62l2.28,7.6c0.14,0.47,0.8,0.48,0.95,0.01l0.76-2.27l3.91,3.91c0.2,0.2,0.51,0.2,0.71,0l1.27-1.27 c0.2-0.2,0.2-0.51,0-0.71L18.23,16.26z M1.8 6q-.525 0-.887-.35Q.55 5.3.55 4.8V4q0-1.425 1.012-2.438Q2.575.55 4 .55h.8q.5 0 .85.362.35.363.35.888 0 .5-.35.85T4.8 3H4q-.425 0-.712.287Q3 3.575 3 4v.8q0 .5-.35.85T1.8 6ZM4 23.45q-1.425 0-2.438-1.012Q.55 21.425.55 20v-.8q0-.5.363-.85.362-.35.887-.35.5 0 .85.35t.35.85v.8q0 .425.288.712Q3.575 21 4 21h.8q.5 0 .85.35t.35.85q0 .525-.35.887-.35.363-.85.363Zm15.2 0q-.5 0-.85-.363-.35-.362-.35-.887 0-.5.35-.85t.85-.35h.8q.425 0 .712-.288Q21 20.425 21 20v-.8q0-.5.35-.85t.85-.35q.525 0 .888.35.362.35.362.85v.8q0 1.425-1.012 2.438Q21.425 23.45 20 23.45ZM22.2 6q-.5 0-.85-.35T21 4.8V4q0-.425-.288-.713Q20.425 3 20 3h-.8q-.5 0-.85-.35T18 1.8q0-.525.35-.888.35-.362.85-.362h.8q1.425 0 2.438 1.012Q23.45 2.575 23.45 4v.8q0 .5-.362.85-.363.35-.888.35ZM12 17.35l1-.575v-4.1l3.55-2.075V9.425l-1-.575L12 10.925 8.45 8.85l-1 .575V10.6L11 12.675v4.1Zm-1.325 2.325-4.55-2.65q-.625-.35-.975-.963-.35-.612-.35-1.337V9.45q0-.725.35-1.337.35-.613.975-.963l4.55-2.65Q11.3 4.15 12 4.15t1.325.35l4.55 2.65q.625.35.975.963.35.612.35 1.337v5.275q0 .725-.35 1.337-.35.613-.975.963l-4.55 2.65q-.625.35-1.325.35t-1.325-.35Z M3.5 1.75v11.5c0 .09.048.173.126.217a.75.75 0 0 1-.752 1.298A1.748 1.748 0 0 1 2 13.25V1.75C2 .784 2.784 0 3.75 0h5.586c.464 0 .909.185 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v8.586A1.75 1.75 0 0 1 12.25 15h-.5a.75.75 0 0 1 0-1.5h.5a.25.25 0 0 0 .25-.25V4.664a.25.25 0 0 0-.073-.177L9.513 1.573a.25.25 0 0 0-.177-.073H7.25a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5h-3a.25.25 0 0 0-.25.25Zm3.75 8.75h.5c.966 0 1.75.784 1.75 1.75v3a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1-.75-.75v-3c0-.966.784-1.75 1.75-1.75ZM6 5.25a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 6 5.25Zm.75 2.25h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM8 6.75A.75.75 0 0 1 8.75 6h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 8 6.75ZM8.75 3h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM8 9.75A.75.75 0 0 1 8.75 9h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 8 9.75Zm-1 2.5v2.25h1v-2.25a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25Z From 445cae2c89c465381e5230684ffe6b976d7951d2 Mon Sep 17 00:00:00 2001 From: Asval Date: Sat, 13 Jun 2026 19:54:13 +0200 Subject: [PATCH 30/38] overridable export options --- CUE4Parse | 2 +- .../ExportSessionOptionsViewModel.cs | 26 ++- FModel/ViewModels/ExportSessionViewModel.cs | 31 ++- FModel/Views/ExportSessionWindow.xaml | 178 +++++++++++++----- FModel/Views/ExportSessionWindow.xaml.cs | 20 ++ FModel/Views/Resources/Icons.xaml | 1 + FModel/Views/Snooper/ExportModal.cs | 4 +- 7 files changed, 205 insertions(+), 57 deletions(-) diff --git a/CUE4Parse b/CUE4Parse index b843741f..f50bb055 160000 --- a/CUE4Parse +++ b/CUE4Parse @@ -1 +1 @@ -Subproject commit b843741f014608e4ff4791829687683eb045aa59 +Subproject commit f50bb055f19e21b7564071d01e9be70fb19a1682 diff --git a/FModel/ViewModels/ExportSessionOptionsViewModel.cs b/FModel/ViewModels/ExportSessionOptionsViewModel.cs index 95588bb0..e7f8f189 100644 --- a/FModel/ViewModels/ExportSessionOptionsViewModel.cs +++ b/FModel/ViewModels/ExportSessionOptionsViewModel.cs @@ -11,12 +11,20 @@ namespace FModel.ViewModels; public class ExportSessionOptionsViewModel : ViewModel { - // --- Override toggle --- public bool OverrideOptions { get; set => SetProperty(ref field, value); } - // --- Mesh --- + public string OutputDirectory { get; set => SetProperty(ref field, value); } + public IEnumerable MeshFormats { get; } = Enum.GetValues(); - public EMeshFormat SelectedMeshFormat { get; set => SetProperty(ref field, value); } + public EMeshFormat SelectedMeshFormat + { + get; + set + { + if (!SetProperty(ref field, value)) return; + RaisePropertyChanged(nameof(CompressionSettingsEnabled)); + } + } public IEnumerable NaniteMeshFormats { get; } = Enum.GetValues(); public ENaniteMeshFormat SelectedNaniteMeshFormat { get; set => SetProperty(ref field, value); } @@ -24,19 +32,18 @@ public class ExportSessionOptionsViewModel : ViewModel public IEnumerable MeshQualities { get; } = Enum.GetValues(); public EMeshQuality SelectedMeshQuality { get; set => SetProperty(ref field, value); } - // --- Socket / Compression --- public IEnumerable SocketFormats { get; } = Enum.GetValues(); public ESocketFormat SelectedSocketFormat { get; set => SetProperty(ref field, value); } public IEnumerable CompressionFormats { get; } = Enum.GetValues(); public EFileCompressionFormat SelectedCompressionFormat { get; set => SetProperty(ref field, value); } - // --- Material --- + public bool CompressionSettingsEnabled => SelectedMeshFormat == EMeshFormat.UEFormat; + public IEnumerable MaterialDepths { get; } = Enum.GetValues(); public EMaterialDepth SelectedMaterialDepth { get; set => SetProperty(ref field, value); } public bool ExportMaterials { get; set => SetProperty(ref field, value); } - // --- Texture --- public IEnumerable TexturePlatforms { get; } = Enum.GetValues(); public ETexturePlatform SelectedTexturePlatform { get; set => SetProperty(ref field, value); } @@ -45,7 +52,8 @@ public class ExportSessionOptionsViewModel : ViewModel public bool ExportHdrTexturesAsHdr { get; set => SetProperty(ref field, value); } - // --- Morph --- + public int TextureQuality { get; set => SetProperty(ref field, value); } + public bool ExportMorphTargets { get; set => SetProperty(ref field, value); } public ExportSessionOptionsViewModel() @@ -55,6 +63,7 @@ public class ExportSessionOptionsViewModel : ViewModel public void ResetToUserDefaults() { + OutputDirectory = UserSettings.Default.ModelDirectory; SelectedMeshFormat = UserSettings.Default.MeshExportFormat; SelectedNaniteMeshFormat = UserSettings.Default.NaniteMeshExportFormat; SelectedMeshQuality = UserSettings.Default.MeshQuality; @@ -66,6 +75,7 @@ public class ExportSessionOptionsViewModel : ViewModel SelectedTextureFormat = UserSettings.Default.TextureExportFormat; ExportHdrTexturesAsHdr = UserSettings.Default.SaveHdrTexturesAsHdr; ExportMorphTargets = UserSettings.Default.SaveMorphTargets; + TextureQuality = 100; } public ExportOptions BuildOptions() => new( @@ -74,7 +84,7 @@ public class ExportSessionOptionsViewModel : ViewModel SelectedMeshQuality, SelectedTexturePlatform, SelectedTextureFormat, - 100, + TextureQuality, ExportHdrTexturesAsHdr, SelectedMaterialDepth, ExportMaterials, diff --git a/FModel/ViewModels/ExportSessionViewModel.cs b/FModel/ViewModels/ExportSessionViewModel.cs index 05728189..e00d081a 100644 --- a/FModel/ViewModels/ExportSessionViewModel.cs +++ b/FModel/ViewModels/ExportSessionViewModel.cs @@ -9,6 +9,7 @@ using System.Threading.Tasks; using System.Windows; using System.Windows.Threading; using CUE4Parse_Conversion; +using CUE4Parse_Conversion.Options; using FModel.Extensions; using FModel.Framework; using FModel.Settings; @@ -56,7 +57,7 @@ public class ExportSessionViewModel : ViewModel get { if (_session != null) return _session; - _session = new ExportSession(UserSettings.Default.ModelDirectory, UserSettings.GetExportOptions()); + _session = new ExportSession(); _session.PropertyChanged += OnSessionPropertyChanged; return _session; } @@ -178,8 +179,18 @@ public class ExportSessionViewModel : ViewModel _cts = new CancellationTokenSource(); StartUiTimer(); - // TODO: when Options.OverrideOptions is true, propagate Options.BuildOptions() into Session before running. - // For now we run with whatever options the session was created with. + string exportDirectory; + ExportOptions exportOptions; + if (Options.OverrideOptions) + { + exportDirectory = Options.OutputDirectory; + exportOptions = Options.BuildOptions(); + } + else + { + exportDirectory = UserSettings.Default.ModelDirectory; + exportOptions = UserSettings.GetExportOptions(); + } var progress = new Progress(p => { @@ -198,7 +209,7 @@ public class ExportSessionViewModel : ViewModel try { - await Session.RunAsync(progress, _cts.Token).ConfigureAwait(false); + await Session.RunAsync(exportDirectory, exportOptions, progress, _cts.Token).ConfigureAwait(false); } catch (OperationCanceledException) { @@ -335,6 +346,12 @@ public class ClassGroupViewModel(string name) : ViewModel public string Name { get; } = name; public ObservableCollection Objects { get; } = []; + public bool IsExpanded + { + get; + set => SetProperty(ref field, value); + } + public int ErrorCount { get; @@ -352,6 +369,12 @@ public class ObjectGroupViewModel(string name) : ViewModel public string Name { get; } = name; public ObservableCollection Entries { get; } = []; + public bool IsExpanded + { + get; + set => SetProperty(ref field, value); + } + public int ErrorCount { get; diff --git a/FModel/Views/ExportSessionWindow.xaml b/FModel/Views/ExportSessionWindow.xaml index db8e9a6f..ef02c358 100644 --- a/FModel/Views/ExportSessionWindow.xaml +++ b/FModel/Views/ExportSessionWindow.xaml @@ -14,6 +14,7 @@ xmlns:converters="clr-namespace:FModel.Views.Resources.Converters" xmlns:viewModels="clr-namespace:FModel.ViewModels" xmlns:serilog="clr-namespace:Serilog.Events;assembly=Serilog" + xmlns:c4pMeshes="clr-namespace:CUE4Parse_Conversion.Options;assembly=CUE4Parse-Conversion" WindowStartupLocation="CenterScreen" ResizeMode="NoResize" IconVisibility="Collapsed" Height="{Binding Source={x:Static SystemParameters.MaximizedPrimaryScreenHeight}, Converter={converters:RatioConverter}, ConverterParameter='0.75'}" @@ -27,6 +28,7 @@ + @@ -419,7 +429,7 @@ - + @@ -428,6 +438,8 @@ + + + @@ -453,19 +475,34 @@ + + + + + + + + - + - - + + + + + HorizontalAlignment="Right" VerticalAlignment="Bottom" Content="Export" + IsEnabled="{Binding CanExport}" + Visibility="{Binding IsFinished, Converter={x:Static converters:InvertBoolToVisibilityConverter.Instance}}" + Click="OnExportClick" /> + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - -