From d03dc3e4e20880417ca94fda2435f5c03f9d5e64 Mon Sep 17 00:00:00 2001 From: iAmAsval Date: Sun, 4 Jul 2021 17:31:51 +0200 Subject: [PATCH] mesh export poc --- CUE4Parse | 2 +- FModel/App.xaml.cs | 2 ++ FModel/MainWindow.xaml | 6 +++--- FModel/ViewModels/CUE4ParseViewModel.cs | 24 ++++++++++++++++++++++++ FModel/Views/SettingsView.xaml | 10 +++++----- 5 files changed, 35 insertions(+), 9 deletions(-) diff --git a/CUE4Parse b/CUE4Parse index 6507993e..e4791960 160000 --- a/CUE4Parse +++ b/CUE4Parse @@ -1 +1 @@ -Subproject commit 6507993eaea053dfea289bb1e852e7bbf0d13a9e +Subproject commit e479196098533761dadd601500369fcecc1baaef diff --git a/FModel/App.xaml.cs b/FModel/App.xaml.cs index 8821f155..6d8751ec 100644 --- a/FModel/App.xaml.cs +++ b/FModel/App.xaml.cs @@ -28,7 +28,9 @@ namespace FModel protected override void OnStartup(StartupEventArgs e) { +#if DEBUG AttachConsole(-1); +#endif base.OnStartup(e); try diff --git a/FModel/MainWindow.xaml b/FModel/MainWindow.xaml index 4cdcd8d3..9a0ef621 100644 --- a/FModel/MainWindow.xaml +++ b/FModel/MainWindow.xaml @@ -129,12 +129,12 @@ - + diff --git a/FModel/ViewModels/CUE4ParseViewModel.cs b/FModel/ViewModels/CUE4ParseViewModel.cs index 68702061..23247719 100644 --- a/FModel/ViewModels/CUE4ParseViewModel.cs +++ b/FModel/ViewModels/CUE4ParseViewModel.cs @@ -17,6 +17,7 @@ using CUE4Parse.UE4.AssetRegistry; using CUE4Parse.UE4.Assets.Exports; using CUE4Parse.UE4.Assets.Exports.Material; using CUE4Parse.UE4.Assets.Exports.Sound; +using CUE4Parse.UE4.Assets.Exports.StaticMesh; using CUE4Parse.UE4.Assets.Exports.Texture; using CUE4Parse.UE4.Assets.Exports.Wwise; using CUE4Parse.UE4.Localization; @@ -24,6 +25,7 @@ using CUE4Parse.UE4.Objects.UObject; using CUE4Parse.UE4.Oodle.Objects; using CUE4Parse.UE4.Wwise; using CUE4Parse_Conversion.Materials; +using CUE4Parse_Conversion.Meshes; using CUE4Parse_Conversion.Sounds; using CUE4Parse_Conversion.Textures; using EpicManifestParser.Objects; @@ -583,6 +585,28 @@ namespace FModel.ViewModels return false; } + case UStaticMesh mesh when UserSettings.Default.IsAutoSaveMeshes: + { + var msh = new MeshExporter(mesh.Convert(), true); + foreach (var staticMesh in msh.StaticMeshes) + { + if (staticMesh.TryWriteTo( + Path.Combine(UserSettings.Default.OutputDirectory, "Saves"), out var savedFileName)) + { + Log.Information("{FileName} successfully saved", savedFileName); + FLogger.AppendInformation(); + FLogger.AppendText($"Successfully saved '{savedFileName}'", Constants.WHITE, true); + } + else + { + Log.Error("{FileName} could not be saved", savedFileName); + FLogger.AppendError(); + FLogger.AppendText($"Could not saved '{savedFileName}'", Constants.WHITE, true); + } + } + + return false; + } default: { using var package = new CreatorPackage(export, UserSettings.Default.CosmeticStyle); diff --git a/FModel/Views/SettingsView.xaml b/FModel/Views/SettingsView.xaml index 1642df58..86019044 100644 --- a/FModel/Views/SettingsView.xaml +++ b/FModel/Views/SettingsView.xaml @@ -290,12 +290,12 @@ - - - - - + + +