diff --git a/CUE4Parse b/CUE4Parse
index 03adf9bf..86d95053 160000
--- a/CUE4Parse
+++ b/CUE4Parse
@@ -1 +1 @@
-Subproject commit 03adf9bfeddeda725cbbdfa7951e51ff61f0801d
+Subproject commit 86d95053f04184fe7fb36ab57bf0c967221ef7d3
diff --git a/FModel/FModel.csproj b/FModel/FModel.csproj
index 5be43802..064d87aa 100644
--- a/FModel/FModel.csproj
+++ b/FModel/FModel.csproj
@@ -5,9 +5,9 @@
net6.0-windows
true
FModel.ico
- 4.4.3.2
- 4.4.3.2
- 4.4.3.2
+ 4.4.3.3
+ 4.4.3.3
+ 4.4.3.3
false
true
win-x64
diff --git a/FModel/Settings/UserSettings.cs b/FModel/Settings/UserSettings.cs
index fe4cb7e9..0ef243fa 100644
--- a/FModel/Settings/UserSettings.cs
+++ b/FModel/Settings/UserSettings.cs
@@ -31,6 +31,7 @@ namespace FModel.Settings
public static void Save()
{
+ if (Default == null) return;
Default.PerDirectory[Default.CurrentDir.GameDirectory] = Default.CurrentDir;
File.WriteAllText(FilePath, JsonConvert.SerializeObject(Default, Formatting.Indented));
}
diff --git a/FModel/ViewModels/ApplicationViewModel.cs b/FModel/ViewModels/ApplicationViewModel.cs
index 729324fb..dd044e67 100644
--- a/FModel/ViewModels/ApplicationViewModel.cs
+++ b/FModel/ViewModels/ApplicationViewModel.cs
@@ -56,7 +56,6 @@ public class ApplicationViewModel : ViewModel
public SettingsViewModel SettingsView { get; }
public AesManagerViewModel AesManager { get; }
public AudioPlayerViewModel AudioPlayer { get; }
- public MapViewerViewModel MapViewer { get; }
private OodleCompressor _oodle;
public ApplicationViewModel()
@@ -83,7 +82,6 @@ public class ApplicationViewModel : ViewModel
CustomDirectories = new CustomDirectoriesViewModel();
SettingsView = new SettingsViewModel();
AesManager = new AesManagerViewModel(CUE4Parse);
- MapViewer = new MapViewerViewModel(CUE4Parse);
AudioPlayer = new AudioPlayerViewModel();
Status.SetStatus(EStatusKind.Ready);
diff --git a/FModel/Views/DirectorySelector.xaml b/FModel/Views/DirectorySelector.xaml
index b54fc840..cf3d3c1a 100644
--- a/FModel/Views/DirectorySelector.xaml
+++ b/FModel/Views/DirectorySelector.xaml
@@ -36,7 +36,7 @@
-
+
diff --git a/FModel/Views/Snooper/Shading/Material.cs b/FModel/Views/Snooper/Shading/Material.cs
index c9f5b38b..2540ecf5 100644
--- a/FModel/Views/Snooper/Shading/Material.cs
+++ b/FModel/Views/Snooper/Shading/Material.cs
@@ -98,7 +98,7 @@ public class Material : IDisposable
}
{ // ambient occlusion + color boost
- if (Parameters.TryGetTexture2d(out var original, "M", "AEM", "AO") &&
+ if (Parameters.TryGetTexture2d(out var original, "M", "AEM", "AO", "Mask") &&
!original.Name.Equals("T_BlackMask") && options.TryGetTexture(original, false, out var transformed))
{
HasAo = true;
@@ -133,7 +133,8 @@ public class Material : IDisposable
"EmissiveUVPositioning (RG)UpperLeft (BA)LowerRight"))
EmissiveRegion = new Vector4(EmissiveUVs.R, EmissiveUVs.G, EmissiveUVs.B, EmissiveUVs.A);
- if (Parameters.TryGetSwitch(out var swizzleRoughnessToGreen, "SwizzleRoughnessToGreen") && swizzleRoughnessToGreen)
+ if ((Parameters.TryGetSwitch(out var swizzleRoughnessToGreen, "SwizzleRoughnessToGreen") && swizzleRoughnessToGreen) ||
+ Parameters.Textures.ContainsKey("SRM"))
{
foreach (var specMask in SpecularMasks)
{