From 5ead0d482b8fac97bd1b75fe890e7eaa9c24fa0e Mon Sep 17 00:00:00 2001 From: Tyler Gregorcyk Date: Sun, 28 Jun 2026 13:38:40 -0500 Subject: [PATCH] Adds Brightness, ResolusionScale, DebugView, and LayerMask to viewport persistence Signed-off-by: Tyler Gregorcyk --- Source/Editor/Windows/EditGameWindow.cs | 26 ++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/Source/Editor/Windows/EditGameWindow.cs b/Source/Editor/Windows/EditGameWindow.cs index 5f91aebe6..d445b55ee 100644 --- a/Source/Editor/Windows/EditGameWindow.cs +++ b/Source/Editor/Windows/EditGameWindow.cs @@ -433,14 +433,18 @@ namespace FlaxEditor.Windows writer.WriteAttributeString("GridEnabled", Viewport.Grid.Enabled.ToString()); writer.WriteAttributeString("ShowFpsCounter", Viewport.ShowFpsCounter.ToString()); writer.WriteAttributeString("ShowNavigation", Viewport.ShowNavigation.ToString()); + writer.WriteAttributeString("UseOrthographicProjection", Viewport.UseOrthographicProjection.ToString()); writer.WriteAttributeString("NearPlane", Viewport.NearPlane.ToString()); writer.WriteAttributeString("FarPlane", Viewport.FarPlane.ToString()); writer.WriteAttributeString("FieldOfView", Viewport.FieldOfView.ToString()); writer.WriteAttributeString("MovementSpeed", Viewport.MovementSpeed.ToString()); + writer.WriteAttributeString("Brightness", Viewport.Brightness.ToString()); writer.WriteAttributeString("ViewportIconsScale", ViewportIconsRenderer.Scale.ToString()); + writer.WriteAttributeString("ResolutionScale", Viewport.ResolutionScale.ToString()); writer.WriteAttributeString("OrthographicScale", Viewport.OrthographicScale.ToString()); - writer.WriteAttributeString("UseOrthographicProjection", Viewport.UseOrthographicProjection.ToString()); writer.WriteAttributeString("ViewFlags", ((ulong)Viewport.Task.View.Flags).ToString()); + writer.WriteAttributeString("DebugView", ((int)Viewport.Task.ViewMode).ToString()); + writer.WriteAttributeString("LayerMask", Viewport.Task.ViewLayersMask.Mask.ToString()); } /// @@ -452,6 +456,8 @@ namespace FlaxEditor.Windows Viewport.ShowFpsCounter = value1; if (bool.TryParse(node.GetAttribute("ShowNavigation"), out value1)) Viewport.ShowNavigation = value1; + if (bool.TryParse(node.GetAttribute("UseOrthographicProjection"), out value1)) + Viewport.UseOrthographicProjection = value1; if (float.TryParse(node.GetAttribute("NearPlane"), out float value2)) Viewport.NearPlane = value2; if (float.TryParse(node.GetAttribute("FarPlane"), out value2)) @@ -460,18 +466,28 @@ namespace FlaxEditor.Windows Viewport.FieldOfView = value2; if (float.TryParse(node.GetAttribute("MovementSpeed"), out value2)) Viewport.MovementSpeed = value2; + if (float.TryParse(node.GetAttribute("Brightness"), out value2)) + Viewport.Brightness = value2; + if (float.TryParse(node.GetAttribute("ResolutionScale"), out value2)) + Viewport.ResolutionScale = value2; if (float.TryParse(node.GetAttribute("ViewportIconsScale"), out value2)) ViewportIconsRenderer.Scale = value2; if (float.TryParse(node.GetAttribute("OrthographicScale"), out value2)) Viewport.OrthographicScale = value2; - if (bool.TryParse(node.GetAttribute("UseOrthographicProjection"), out value1)) - Viewport.UseOrthographicProjection = value1; if (ulong.TryParse(node.GetAttribute("ViewFlags"), out ulong value3)) Viewport.Task.ViewFlags = (ViewFlags)value3; - - // Reset view flags if opening with different engine version (ViewFlags enum could be modified) + if (int.TryParse(node.GetAttribute("DebugView"), out int value4)) + Viewport.Task.ViewMode = (ViewMode)value4; + if (uint.TryParse(node.GetAttribute("LayerMask"), out uint value5)) + Viewport.Task.ViewLayersMask = new LayersMask(value5); + + // Reset view flags and view mode if opening with different engine version + // (ViewFlags and ViewMode enums could be modified) if (Editor.LastProjectOpenedEngineBuild != Globals.EngineBuildNumber) + { Viewport.Task.ViewFlags = ViewFlags.DefaultEditor; + Viewport.Task.ViewMode = ViewMode.Default; + } } ///