diff --git a/Help/gzdb/features/general/menu_renderingtoolbar.jpg b/Help/gzdb/features/general/menu_renderingtoolbar.jpg index 312620b..ffc0c38 100644 Binary files a/Help/gzdb/features/general/menu_renderingtoolbar.jpg and b/Help/gzdb/features/general/menu_renderingtoolbar.jpg differ diff --git a/Help/gzdb/features/general/rendering_toolbar.html b/Help/gzdb/features/general/rendering_toolbar.html index 1a9e7de..5aa8c49 100644 --- a/Help/gzdb/features/general/rendering_toolbar.html +++ b/Help/gzdb/features/general/rendering_toolbar.html @@ -19,16 +19,16 @@
-

The Rendering toolbar allows you to toggle several GZDoom Builder's features:

+

The Rendering toolbar allows you to toggle several enhanced rendering features:

    -
  1. Toggles models, dynamic lights and fog rendering in Visual mode.
  2. -
  3. Toggles between available dynamic lights rendering modes in Visual mode.
  4. -
  5. Toggles between available model rendering modes.
  6. -
  7. Toggles fog rendering in Visual mode.
  8. +
  9. Allows to select dynamic lights rendering mode used in Visual mode.
  10. +
  11. Allows to select model rendering mode.
  12. +
  13. Toggles fog rendering in Visual mode.
  14. +
  15. Toggles sky rendering in Visual mode.
  16. Toggles Event lines.
  17. -
  18. Toggles Visual vertices in Visual mode (UDMF only).
  19. +
  20. Toggles Visual vertices in Visual mode (UDMF only).
-

Most of these settings can also be toggled using actions from "Rendering" category.
- You can toggle currently enabled rendering effects using "Toggle GZDoom effects" action.

+

Most of these settings can also be toggled using actions found in "Rendering" category or appropriate View menu items.
+ You can toggle rendering effects using "Toggle Enhanced Effects" action.

diff --git a/Source/Core/Builder.csproj b/Source/Core/Builder.csproj index db2ad86..58bcf64 100644 --- a/Source/Core/Builder.csproj +++ b/Source/Core/Builder.csproj @@ -1156,7 +1156,6 @@ - diff --git a/Source/Core/Config/ProgramConfiguration.cs b/Source/Core/Config/ProgramConfiguration.cs index 831028e..d502f5d 100644 --- a/Source/Core/Config/ProgramConfiguration.cs +++ b/Source/Core/Config/ProgramConfiguration.cs @@ -124,8 +124,6 @@ namespace CodeImp.DoomBuilder.Config private bool gzShowEventLines; private bool gzOldHighlightMode; private int gzMaxDynamicLights; - private float gzDynamicLightRadius; - private float gzDynamicLightIntensity; private bool gzStretchView; private float gzVertexScale2D; private bool gzShowVisualVertices; @@ -133,7 +131,7 @@ namespace CodeImp.DoomBuilder.Config private string lastUsedConfigName; private string lastUsedMapFolder; private bool gzMarkExtraFloors; - private bool gzdoomrenderingeffects = true; //mxd + private bool enhancedrenderingeffects = true; //mxd private bool srb2renderingeffects = true; //sphere private bool showcolormaps = true; private bool drawCrosshair; @@ -260,8 +258,6 @@ namespace CodeImp.DoomBuilder.Config public bool GZShowEventLines { get { return gzShowEventLines; } internal set { gzShowEventLines = value; } } public bool GZOldHighlightMode { get { return gzOldHighlightMode; } internal set { gzOldHighlightMode = value; } } public int GZMaxDynamicLights { get { return gzMaxDynamicLights; } internal set { gzMaxDynamicLights = value; } } - public float GZDynamicLightRadius { get { return gzDynamicLightRadius; } internal set { gzDynamicLightRadius = value; } } - public float GZDynamicLightIntensity { get { return gzDynamicLightIntensity; } internal set { gzDynamicLightIntensity = value; } } public bool GZStretchView { get { return gzStretchView; } internal set { gzStretchView = value; } } public float GZVertexScale2D { get { return gzVertexScale2D; } internal set { gzVertexScale2D = value; } } public bool GZShowVisualVertices { get { return gzShowVisualVertices; } internal set { gzShowVisualVertices = value; } } @@ -269,7 +265,7 @@ namespace CodeImp.DoomBuilder.Config public string LastUsedConfigName { get { return lastUsedConfigName; } internal set { lastUsedConfigName = value; } } public string LastUsedMapFolder { get { return lastUsedMapFolder; } internal set { lastUsedMapFolder = value; } } public bool GZMarkExtraFloors { get { return gzMarkExtraFloors; } internal set { gzMarkExtraFloors = value; } } - public bool GZDoomRenderingEffects { get { return gzdoomrenderingeffects; } set { gzdoomrenderingeffects = value; } } //mxd + public bool EnhancedRenderingEffects { get { return enhancedrenderingeffects; } set { enhancedrenderingeffects = value; } } //mxd public bool SRB2RenderingEffects { get { return srb2renderingeffects; } set { srb2renderingeffects = value; } } //sphere public bool ShowColormaps { get { return showcolormaps; } set { showcolormaps = value; } } //mxd public bool DrawCrosshair { get { return drawCrosshair; } internal set { drawCrosshair = value; } } @@ -407,8 +403,6 @@ namespace CodeImp.DoomBuilder.Config gzShowEventLines = cfg.ReadSetting("gzshoweventlines", true); gzOldHighlightMode = cfg.ReadSetting("gzoldhighlightmode", false); gzMaxDynamicLights = cfg.ReadSetting("gzmaxdynamiclights", 16); - gzDynamicLightRadius = cfg.ReadSetting("gzdynamiclightradius", 1.0f); - gzDynamicLightIntensity = cfg.ReadSetting("gzdynamiclightintensity", 1.0f); gzStretchView = cfg.ReadSetting("gzstretchview", true); gzVertexScale2D = cfg.ReadSetting("gzvertexscale2d", 1.0f); gzShowVisualVertices = cfg.ReadSetting("gzshowvisualvertices", true); @@ -533,8 +527,6 @@ namespace CodeImp.DoomBuilder.Config cfg.WriteSetting("gzoldhighlightmode", gzOldHighlightMode); cfg.WriteSetting("gztoolbargzdoom", gzToolbarGZDoom); cfg.WriteSetting("gzmaxdynamiclights", gzMaxDynamicLights); - cfg.WriteSetting("gzdynamiclightradius", gzDynamicLightRadius); - cfg.WriteSetting("gzdynamiclightintensity", gzDynamicLightIntensity); cfg.WriteSetting("gzstretchview", gzStretchView); cfg.WriteSetting("gzvertexscale2d", gzVertexScale2D); cfg.WriteSetting("gzshowvisualvertices", gzShowVisualVertices); diff --git a/Source/Core/General/MapManager.cs b/Source/Core/General/MapManager.cs index 9cad322..df04de7 100644 --- a/Source/Core/General/MapManager.cs +++ b/Source/Core/General/MapManager.cs @@ -1823,68 +1823,11 @@ namespace CodeImp.DoomBuilder General.MainWindow.UpdateGZDoomPanel(); } - [BeginAction("gztogglefog")] - internal void ToggleFog() - { - General.Settings.GZDrawFog = !General.Settings.GZDrawFog; - General.MainWindow.DisplayStatus(StatusType.Action, "Fog rendering is " + (General.Settings.GZDrawFog ? "ENABLED" : "DISABLED") + "."); - General.MainWindow.RedrawDisplay(); - General.MainWindow.UpdateGZDoomPanel(); - } - - [BeginAction("gztogglesky")] - internal void ToggleSky() - { - General.Settings.GZDrawSky = !General.Settings.GZDrawSky; - General.MainWindow.DisplayStatus(StatusType.Action, "Sky rendering is " + (General.Settings.GZDrawSky ? "ENABLED" : "DISABLED") + "."); - General.MainWindow.RedrawDisplay(); - General.MainWindow.UpdateGZDoomPanel(); - } - - [BeginAction("gztogglefx")] - internal void ToggleFx() - { - int on = 0; - on += General.Settings.GZDrawFog ? 1 : -1; - on += General.Settings.GZDrawSky ? 1 : -1; - on += General.Settings.GZDrawLightsMode != LightRenderMode.NONE ? 1 : -1; - on += General.Settings.GZDrawModelsMode != ModelRenderMode.NONE ? 1 : -1; - - bool enable = (on < 0); - - General.Settings.GZDrawFog = enable; - General.Settings.GZDrawSky = enable; - General.Settings.GZDrawLightsMode = (enable ? LightRenderMode.ALL : LightRenderMode.NONE); - General.Settings.GZDrawModelsMode = (enable ? ModelRenderMode.ALL : ModelRenderMode.NONE); - General.MainWindow.DisplayStatus(StatusType.Action, "Advanced effects are " + (enable ? "ENABLED" : "DISABLED") + "."); - - General.MainWindow.RedrawDisplay(); - General.MainWindow.UpdateGZDoomPanel(); - } - - [BeginAction("gztoggleeventlines")] - internal void ToggleEventLines() - { - General.Settings.GZShowEventLines = !General.Settings.GZShowEventLines; - General.MainWindow.DisplayStatus(StatusType.Action, "Event lines are " + (General.Settings.GZShowEventLines ? "ENABLED" : "DISABLED") + "."); - General.MainWindow.RedrawDisplay(); - General.MainWindow.UpdateGZDoomPanel(); - } - - [BeginAction("gztogglevisualvertices")] - internal void ToggleVisualVertices() - { - General.Settings.GZShowVisualVertices = !General.Settings.GZShowVisualVertices; - General.MainWindow.DisplayStatus(StatusType.Action, "Visual vertices are " + (General.Settings.GZShowVisualVertices ? "ENABLED" : "DISABLED") + "."); - General.MainWindow.RedrawDisplay(); - General.MainWindow.UpdateGZDoomPanel(); - } - - [BeginAction("gzreloadmodeldef")] - internal void ReloadModeldef() - { - data.ReloadModeldef(); - } + [BeginAction("gzreloadmodeldef")] + internal void ReloadModeldef() + { + data.ReloadModeldef(); + } [BeginAction("gzreloadgldefs")] internal void ReloadGldefs() diff --git a/Source/Core/Properties/Resources.Designer.cs b/Source/Core/Properties/Resources.Designer.cs index 27b305b..45aa355 100644 --- a/Source/Core/Properties/Resources.Designer.cs +++ b/Source/Core/Properties/Resources.Designer.cs @@ -453,19 +453,6 @@ namespace CodeImp.DoomBuilder.Properties { } } - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap fx { - get { - object obj = ResourceManager.GetObject("fx", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// internal static System.Drawing.Bitmap Grid2 { get { object obj = ResourceManager.GetObject("Grid2", resourceCulture); diff --git a/Source/Core/Properties/Resources.resx b/Source/Core/Properties/Resources.resx index 45fc822..7c9ac1f 100644 --- a/Source/Core/Properties/Resources.resx +++ b/Source/Core/Properties/Resources.resx @@ -271,9 +271,6 @@ ..\Resources\Warning.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\fx.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\mergegeometry2.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a diff --git a/Source/Core/Resources/Actions.cfg b/Source/Core/Resources/Actions.cfg index aba2dde..436be87 100644 --- a/Source/Core/Resources/Actions.cfg +++ b/Source/Core/Resources/Actions.cfg @@ -1269,17 +1269,6 @@ gztogglesky allowscroll = false; } -gztogglefx -{ - title = "Toggle models, dynamic lights and fog rendering"; - category = "gzdoombuilder"; - description = "This is a combo action, which toggles models, dynamic lights and fog rendering."; - allowkeys = true; - allowmouse = true; - allowscroll = false; - default = 20; // CapsLock -} - gztoggleeventlines { title = "Toggle Event lines"; @@ -1302,6 +1291,17 @@ gztogglevisualvertices default = 262230; } +gztoggleenhancedrendering +{ + title = "Toggle Enhanced Rendering Effects"; + category = "visual"; + description = "Toggles enhanced rendering effects (slopes, 3D-floors, dynamic lights, fog, sky etc.) in Visual mode."; + allowkeys = true; + allowmouse = true; + allowscroll = false; + default = 9; //Tab +} + ////////////////////////////// //GZDOOMBUILDER MENU ACTIONS// ////////////////////////////// diff --git a/Source/Core/Resources/fx.png b/Source/Core/Resources/fx.png deleted file mode 100644 index 5b4dcc2..0000000 Binary files a/Source/Core/Resources/fx.png and /dev/null differ diff --git a/Source/Core/VisualModes/VisualThing.cs b/Source/Core/VisualModes/VisualThing.cs index ace9fe6..6576eef 100644 --- a/Source/Core/VisualModes/VisualThing.cs +++ b/Source/Core/VisualModes/VisualThing.cs @@ -37,6 +37,8 @@ namespace CodeImp.DoomBuilder.VisualModes #region ================== Constants protected const int FIXED_RADIUS = 8; //mxd. Used to render things with zero width and radius + private const float DYNLIGHT_INTENSITY_SCALER = 255.0f; + private const float SUBLIGHT_INTENSITY_SCALER = 255.0f * 1.5f; // Scaler for subtractive dynamic lights #endregion @@ -545,8 +547,6 @@ namespace CodeImp.DoomBuilder.VisualModes //mxd. Update light info private void UpdateLight(int lightId) { - float scaled_intensity = 255.0f / General.Settings.GZDynamicLightIntensity; - if(lightId < GZBuilder.GZGeneral.GZ_LIGHT_TYPES[2]) //if it's gzdoom light { int n; @@ -554,33 +554,42 @@ namespace CodeImp.DoomBuilder.VisualModes { n = 0; lightRenderStyle = DynamicLightRenderStyle.NORMAL; - //lightColor.Alpha used in shader to perform some calculations based on light type - lightColor = new Color4((float)lightRenderStyle / 100.0f, thing.Args[0] / scaled_intensity / 2, thing.Args[1] / scaled_intensity / 2, thing.Args[2] / scaled_intensity / 2); - } + //lightColor.Alpha used in shader to perform some calculations based on light type + lightColor = new Color4((float)lightRenderStyle / 100.0f, + thing.Args[0] / DYNLIGHT_INTENSITY_SCALER, + thing.Args[1] / DYNLIGHT_INTENSITY_SCALER, + thing.Args[2] / DYNLIGHT_INTENSITY_SCALER); + } else if(lightId < GZBuilder.GZGeneral.GZ_LIGHT_TYPES[1]) { n = 10; lightRenderStyle = DynamicLightRenderStyle.ADDITIVE; - lightColor = new Color4((float)lightRenderStyle / 100.0f, thing.Args[0] / scaled_intensity / 2, thing.Args[1] / scaled_intensity / 2, thing.Args[2] / scaled_intensity / 2); - } + lightColor = new Color4((float)lightRenderStyle / 100.0f, + thing.Args[0] / DYNLIGHT_INTENSITY_SCALER, + thing.Args[1] / DYNLIGHT_INTENSITY_SCALER, + thing.Args[2] / DYNLIGHT_INTENSITY_SCALER); + } else { n = 20; lightRenderStyle = DynamicLightRenderStyle.NEGATIVE; - lightColor = new Color4((float)lightRenderStyle / 100.0f, thing.Args[0] / scaled_intensity / 3, thing.Args[1] / scaled_intensity / 3, thing.Args[2] / scaled_intensity / 3); - } + lightColor = new Color4((float)lightRenderStyle / 100.0f, + thing.Args[0] / SUBLIGHT_INTENSITY_SCALER, + thing.Args[1] / SUBLIGHT_INTENSITY_SCALER, + thing.Args[2] / SUBLIGHT_INTENSITY_SCALER); + } lightType = (DynamicLightType)(thing.SRB2Type - 9800 - n); if(lightType == DynamicLightType.SECTOR) { int scaler = 1; if(thing.Sector != null) scaler = thing.Sector.Brightness / 4; - lightPrimaryRadius = (thing.Args[3] * scaler) * General.Settings.GZDynamicLightRadius; + lightPrimaryRadius = (thing.Args[3] * scaler); } else { - lightPrimaryRadius = (thing.Args[3] * 2) * General.Settings.GZDynamicLightRadius; //works... that.. way in GZDoom - if(lightType > 0) lightSecondaryRadius = (thing.Args[4] * 2) * General.Settings.GZDynamicLightRadius; + lightPrimaryRadius = (thing.Args[3] * 2); //works... that.. way in GZDoom + if(lightType > 0) lightSecondaryRadius = (thing.Args[4] * 2); } } else //it's one of vavoom lights @@ -588,10 +597,18 @@ namespace CodeImp.DoomBuilder.VisualModes lightRenderStyle = DynamicLightRenderStyle.VAVOOM; lightType = (DynamicLightType)thing.SRB2Type; if(lightType == DynamicLightType.VAVOOM_COLORED) - lightColor = new Color4((float)lightRenderStyle / 100.0f, thing.Args[1] / scaled_intensity / 2, thing.Args[2] / scaled_intensity / 2, thing.Args[3] / scaled_intensity / 2); - else - lightColor = new Color4((float)lightRenderStyle / 100.0f, General.Settings.GZDynamicLightIntensity / 2, General.Settings.GZDynamicLightIntensity / 2, General.Settings.GZDynamicLightIntensity / 2); - lightPrimaryRadius = (thing.Args[0] * 8) * General.Settings.GZDynamicLightRadius; + { + lightColor = new Color4((float)lightRenderStyle / 100.0f, + thing.Args[1] / DYNLIGHT_INTENSITY_SCALER, + thing.Args[2] / DYNLIGHT_INTENSITY_SCALER, + thing.Args[3] / DYNLIGHT_INTENSITY_SCALER); + } + else + { + lightColor = new Color4((float)lightRenderStyle / 100.0f, 0.5f, 0.5f, 0.5f); + } + + lightPrimaryRadius = (thing.Args[0] * 8); } UpdateLightRadius(); @@ -601,12 +618,10 @@ namespace CodeImp.DoomBuilder.VisualModes private void UpdateGldefsLight() { DynamicLightData light = General.Map.Data.GldefsEntries[thing.SRB2Type]; - float intensity_mod = General.Settings.GZDynamicLightIntensity; - float scale_mod = General.Settings.GZDynamicLightRadius; //apply settings lightRenderStyle = light.Subtractive ? DynamicLightRenderStyle.NEGATIVE : DynamicLightRenderStyle.NORMAL; - lightColor = new Color4((float)lightRenderStyle / 100.0f, light.Color.Red * intensity_mod, light.Color.Green * intensity_mod, light.Color.Blue * intensity_mod); + lightColor = new Color4((float)lightRenderStyle / 100.0f, light.Color.Red, light.Color.Green, light.Color.Blue); Vector2D o = new Vector2D(light.Offset.X, light.Offset.Y).GetRotated(thing.Angle - Angle2D.PIHALF); lightOffset = new Vector3(o.x, o.y, light.Offset.Z); lightType = light.Type; @@ -617,8 +632,8 @@ namespace CodeImp.DoomBuilder.VisualModes } else { - lightPrimaryRadius = light.PrimaryRadius * scale_mod; - lightSecondaryRadius = light.SecondaryRadius * scale_mod; + lightPrimaryRadius = light.PrimaryRadius; + lightSecondaryRadius = light.SecondaryRadius; } lightInterval = light.Interval; diff --git a/Source/Core/Windows/MainForm.Designer.cs b/Source/Core/Windows/MainForm.Designer.cs index dcc9d84..557e8eb 100644 --- a/Source/Core/Windows/MainForm.Designer.cs +++ b/Source/Core/Windows/MainForm.Designer.cs @@ -177,6 +177,20 @@ namespace CodeImp.DoomBuilder.Windows this.buttonlinededfcolors = new System.Windows.Forms.ToolStripButton(); this.linedefcolorpresets = new System.Windows.Forms.ToolStripDropDownButton(); this.separatorfilters = new System.Windows.Forms.ToolStripSeparator(); + this.separatorrendering = new System.Windows.Forms.ToolStripSeparator(); + this.itemdynlightmodes = new System.Windows.Forms.ToolStripMenuItem(); + this.itemnodynlights = new System.Windows.Forms.ToolStripMenuItem(); + this.itemdynlights = new System.Windows.Forms.ToolStripMenuItem(); + this.itemdynlightsanim = new System.Windows.Forms.ToolStripMenuItem(); + this.itemmodelmodes = new System.Windows.Forms.ToolStripMenuItem(); + this.itemnomdl = new System.Windows.Forms.ToolStripMenuItem(); + this.itemselmdl = new System.Windows.Forms.ToolStripMenuItem(); + this.itemfiltermdl = new System.Windows.Forms.ToolStripMenuItem(); + this.itemallmdl = new System.Windows.Forms.ToolStripMenuItem(); + this.itemtogglefog = new System.Windows.Forms.ToolStripMenuItem(); + this.itemtogglesky = new System.Windows.Forms.ToolStripMenuItem(); + this.itemtoggleeventlines = new System.Windows.Forms.ToolStripMenuItem(); + this.itemtogglevisualverts = new System.Windows.Forms.ToolStripMenuItem(); this.buttonfullbrightness = new System.Windows.Forms.ToolStripButton(); this.buttontogglegrid = new System.Windows.Forms.ToolStripButton(); this.buttontogglecomments = new System.Windows.Forms.ToolStripButton(); @@ -198,7 +212,6 @@ namespace CodeImp.DoomBuilder.Windows this.buttonautoclearsidetextures = new System.Windows.Forms.ToolStripButton(); this.buttontogglenightspath = new System.Windows.Forms.ToolStripButton(); this.seperatorgeometry = new System.Windows.Forms.ToolStripSeparator(); - this.buttontogglefx = new System.Windows.Forms.ToolStripButton(); this.dynamiclightmode = new System.Windows.Forms.ToolStripSplitButton(); this.sightsdontshow = new System.Windows.Forms.ToolStripMenuItem(); this.lightsshow = new System.Windows.Forms.ToolStripMenuItem(); @@ -792,6 +805,13 @@ namespace CodeImp.DoomBuilder.Windows this.itemrendernightspath, this.itemtogglecomments, this.itemtogglefixedthingsscale, + this.separatorrendering, + this.itemdynlightmodes, + this.itemmodelmodes, + this.itemtogglefog, + this.itemtogglesky, + this.itemtoggleeventlines, + this.itemtogglevisualverts, this.toolStripSeparator4, this.menuzoom, this.itemgotocoords, @@ -1347,7 +1367,6 @@ namespace CodeImp.DoomBuilder.Windows this.buttonautoclearsidetextures, this.buttontogglenightspath, this.seperatorgeometry, - this.buttontogglefx, this.dynamiclightmode, this.modelrendermode, this.buttontogglefog, @@ -1635,6 +1654,144 @@ namespace CodeImp.DoomBuilder.Windows this.separatorfilters.Name = "separatorfilters"; this.separatorfilters.Size = new System.Drawing.Size(6, 25); // + // separatorrendering + // + this.separatorrendering.Name = "separatorrendering"; + this.separatorrendering.Size = new System.Drawing.Size(270, 6); + // + // itemdynlightmodes + // + this.itemdynlightmodes.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.itemnodynlights, + this.itemdynlights, + this.itemdynlightsanim}); + this.itemdynlightmodes.Image = global::CodeImp.DoomBuilder.Properties.Resources.Light; + this.itemdynlightmodes.Name = "itemdynlightmodes"; + this.itemdynlightmodes.Size = new System.Drawing.Size(273, 22); + this.itemdynlightmodes.Text = "Dynamic light rendering mode"; + // + // itemnodynlights + // + this.itemnodynlights.CheckOnClick = true; + this.itemnodynlights.Image = global::CodeImp.DoomBuilder.Properties.Resources.LightDisabled; + this.itemnodynlights.Name = "itemnodynlights"; + this.itemnodynlights.Size = new System.Drawing.Size(237, 22); + this.itemnodynlights.Tag = 0; + this.itemnodynlights.Text = "Don\'t show dynamic lights"; + this.itemnodynlights.Click += new System.EventHandler(this.ChangeLightRenderingMode); + // + // itemdynlights + // + this.itemdynlights.CheckOnClick = true; + this.itemdynlights.Image = global::CodeImp.DoomBuilder.Properties.Resources.Light; + this.itemdynlights.Name = "itemdynlights"; + this.itemdynlights.Size = new System.Drawing.Size(237, 22); + this.itemdynlights.Tag = 1; + this.itemdynlights.Text = "Show dynamic lights"; + this.itemdynlights.Click += new System.EventHandler(this.ChangeLightRenderingMode); + // + // itemdynlightsanim + // + this.itemdynlightsanim.CheckOnClick = true; + this.itemdynlightsanim.Image = global::CodeImp.DoomBuilder.Properties.Resources.Light_animate; + this.itemdynlightsanim.Name = "itemdynlightsanim"; + this.itemdynlightsanim.Size = new System.Drawing.Size(237, 22); + this.itemdynlightsanim.Tag = 2; + this.itemdynlightsanim.Text = "Show animated dynamic lights"; + this.itemdynlightsanim.Click += new System.EventHandler(this.ChangeLightRenderingMode); + // + // itemmodelmodes + // + this.itemmodelmodes.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.itemnomdl, + this.itemselmdl, + this.itemfiltermdl, + this.itemallmdl}); + this.itemmodelmodes.Image = global::CodeImp.DoomBuilder.Properties.Resources.Model; + this.itemmodelmodes.Name = "itemmodelmodes"; + this.itemmodelmodes.Size = new System.Drawing.Size(273, 22); + this.itemmodelmodes.Text = "Model rendering mode"; + // + // itemnomdl + // + this.itemnomdl.CheckOnClick = true; + this.itemnomdl.Image = global::CodeImp.DoomBuilder.Properties.Resources.ModelDisabled; + this.itemnomdl.Name = "itemnomdl"; + this.itemnomdl.Size = new System.Drawing.Size(298, 22); + this.itemnomdl.Tag = 0; + this.itemnomdl.Text = "Don\'t show models"; + this.itemnomdl.Click += new System.EventHandler(this.ChangeModelRenderingMode); + // + // itemselmdl + // + this.itemselmdl.CheckOnClick = true; + this.itemselmdl.Image = global::CodeImp.DoomBuilder.Properties.Resources.Model_selected; + this.itemselmdl.Name = "itemselmdl"; + this.itemselmdl.Size = new System.Drawing.Size(298, 22); + this.itemselmdl.Tag = 1; + this.itemselmdl.Text = "Show models for selected Things only"; + this.itemselmdl.Click += new System.EventHandler(this.ChangeModelRenderingMode); + // + // itemfiltermdl + // + this.itemfiltermdl.CheckOnClick = true; + this.itemfiltermdl.Image = global::CodeImp.DoomBuilder.Properties.Resources.ModelFiltered; + this.itemfiltermdl.Name = "itemfiltermdl"; + this.itemfiltermdl.Size = new System.Drawing.Size(298, 22); + this.itemfiltermdl.Tag = 2; + this.itemfiltermdl.Text = "Show models for current Things Filter only"; + this.itemfiltermdl.Click += new System.EventHandler(this.ChangeModelRenderingMode); + // + // itemallmdl + // + this.itemallmdl.CheckOnClick = true; + this.itemallmdl.Image = global::CodeImp.DoomBuilder.Properties.Resources.Model; + this.itemallmdl.Name = "itemallmdl"; + this.itemallmdl.Size = new System.Drawing.Size(298, 22); + this.itemallmdl.Tag = 3; + this.itemallmdl.Text = "Always show models"; + this.itemallmdl.Click += new System.EventHandler(this.ChangeModelRenderingMode); + // + // itemfog + // + this.itemtogglefog.CheckOnClick = true; + this.itemtogglefog.Image = global::CodeImp.DoomBuilder.Properties.Resources.fog; + this.itemtogglefog.Name = "itemtogglefog"; + this.itemtogglefog.Size = new System.Drawing.Size(273, 22); + this.itemtogglefog.Tag = "builder_gztogglefog"; + this.itemtogglefog.Text = "Render fog (Visual mode)"; + this.itemtogglefog.Click += new System.EventHandler(this.InvokeTaggedAction); + // + // itemsky + // + this.itemtogglesky.CheckOnClick = true; + this.itemtogglesky.Image = global::CodeImp.DoomBuilder.Properties.Resources.Sky; + this.itemtogglesky.Name = "itemtogglesky"; + this.itemtogglesky.Size = new System.Drawing.Size(273, 22); + this.itemtogglesky.Tag = "builder_gztogglesky"; + this.itemtogglesky.Text = "Render sky (Visual mode)"; + this.itemtogglesky.Click += new System.EventHandler(this.InvokeTaggedAction); + // + // itemeventlines + // + this.itemtoggleeventlines.CheckOnClick = true; + this.itemtoggleeventlines.Image = global::CodeImp.DoomBuilder.Properties.Resources.InfoLine; + this.itemtoggleeventlines.Name = "itemtoggleeventlines"; + this.itemtoggleeventlines.Size = new System.Drawing.Size(273, 22); + this.itemtoggleeventlines.Tag = "builder_gztoggleeventlines"; + this.itemtoggleeventlines.Text = "Show Event Lines"; + this.itemtoggleeventlines.Click += new System.EventHandler(this.InvokeTaggedAction); + // + // itemvisualverts + // + this.itemtogglevisualverts.CheckOnClick = true; + this.itemtogglevisualverts.Image = global::CodeImp.DoomBuilder.Properties.Resources.VisualVertices; + this.itemtogglevisualverts.Name = "itemtogglevisualverts"; + this.itemtogglevisualverts.Size = new System.Drawing.Size(273, 22); + this.itemtogglevisualverts.Tag = "builder_gztogglevisualvertices"; + this.itemtogglevisualverts.Text = "Show Editable Vertices (Visual mode)"; + this.itemtogglevisualverts.Click += new System.EventHandler(this.InvokeTaggedAction); + // // buttonfullbrightness // this.buttonfullbrightness.Checked = true; @@ -1905,17 +2062,6 @@ namespace CodeImp.DoomBuilder.Windows this.seperatorgeometry.Name = "seperatorgeometry"; this.seperatorgeometry.Size = new System.Drawing.Size(6, 25); // - // buttontogglefx - // - this.buttontogglefx.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.buttontogglefx.Image = global::CodeImp.DoomBuilder.Properties.Resources.fx; - this.buttontogglefx.ImageTransparentColor = System.Drawing.Color.Magenta; - this.buttontogglefx.Name = "buttontogglefx"; - this.buttontogglefx.Size = new System.Drawing.Size(23, 20); - this.buttontogglefx.Tag = "builder_gztogglefx"; - this.buttontogglefx.Text = "Toggle GZDoom Effects"; - this.buttontogglefx.Click += new System.EventHandler(this.InvokeTaggedAction); - // // dynamiclightmode // this.dynamiclightmode.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; @@ -2026,7 +2172,7 @@ namespace CodeImp.DoomBuilder.Windows this.buttontogglefog.Name = "buttontogglefog"; this.buttontogglefog.Size = new System.Drawing.Size(23, 20); this.buttontogglefog.Tag = "builder_gztogglefog"; - this.buttontogglefog.Text = "Toggle Fog Rendering"; + this.buttontogglefog.Text = "Render Fog (Visual mode)"; this.buttontogglefog.Click += new System.EventHandler(this.InvokeTaggedAction); // // buttontogglesky @@ -2038,7 +2184,7 @@ namespace CodeImp.DoomBuilder.Windows this.buttontogglesky.Name = "buttontogglesky"; this.buttontogglesky.Size = new System.Drawing.Size(23, 20); this.buttontogglesky.Tag = "builder_gztogglesky"; - this.buttontogglesky.Text = "Toggle Sky Rendering"; + this.buttontogglesky.Text = "Render Sky (Visual mode)"; this.buttontogglesky.Click += new System.EventHandler(this.InvokeTaggedAction); // // buttontoggleeventlines @@ -2049,7 +2195,7 @@ namespace CodeImp.DoomBuilder.Windows this.buttontoggleeventlines.Name = "buttontoggleeventlines"; this.buttontoggleeventlines.Size = new System.Drawing.Size(23, 20); this.buttontoggleeventlines.Tag = "builder_gztoggleeventlines"; - this.buttontoggleeventlines.Text = "Toggle Event Lines"; + this.buttontoggleeventlines.Text = "Show Event Lines"; this.buttontoggleeventlines.Click += new System.EventHandler(this.InvokeTaggedAction); // // buttontogglevisualvertices @@ -2060,7 +2206,7 @@ namespace CodeImp.DoomBuilder.Windows this.buttontogglevisualvertices.Name = "buttontogglevisualvertices"; this.buttontogglevisualvertices.Size = new System.Drawing.Size(23, 20); this.buttontogglevisualvertices.Tag = "builder_gztogglevisualvertices"; - this.buttontogglevisualvertices.Text = "Show Editable Vertices in Visual Mode"; + this.buttontogglevisualvertices.Text = "Show Editable Vertices (Visual mode)"; this.buttontogglevisualvertices.Click += new System.EventHandler(this.InvokeTaggedAction); // // separatorgzmodes @@ -2867,7 +3013,6 @@ namespace CodeImp.DoomBuilder.Windows private System.Windows.Forms.ToolStripSeparator seperatoreditgrid; private System.Windows.Forms.ToolStripSeparator seperatoreditcopypaste; private System.Windows.Forms.ToolStripSeparator seperatorgeometry; - private System.Windows.Forms.ToolStripButton buttontogglefx; private System.Windows.Forms.ToolStripButton buttontogglefog; private System.Windows.Forms.ToolStripButton buttontogglesky; private System.Windows.Forms.ToolStripStatusLabel warnsLabel; @@ -2914,6 +3059,20 @@ namespace CodeImp.DoomBuilder.Windows private System.Windows.Forms.ToolStripButton buttonfullbrightness; private System.Windows.Forms.ToolStripSeparator separatorfullbrightness; private System.Windows.Forms.ToolStripSeparator separatorfilters; + private System.Windows.Forms.ToolStripSeparator separatorrendering; + private System.Windows.Forms.ToolStripMenuItem itemdynlightmodes; + private System.Windows.Forms.ToolStripMenuItem itemnodynlights; + private System.Windows.Forms.ToolStripMenuItem itemdynlights; + private System.Windows.Forms.ToolStripMenuItem itemdynlightsanim; + private System.Windows.Forms.ToolStripMenuItem itemmodelmodes; + private System.Windows.Forms.ToolStripMenuItem itemnomdl; + private System.Windows.Forms.ToolStripMenuItem itemselmdl; + private System.Windows.Forms.ToolStripMenuItem itemfiltermdl; + private System.Windows.Forms.ToolStripMenuItem itemallmdl; + private System.Windows.Forms.ToolStripMenuItem itemtogglefog; + private System.Windows.Forms.ToolStripMenuItem itemtogglesky; + private System.Windows.Forms.ToolStripMenuItem itemtoggleeventlines; + private System.Windows.Forms.ToolStripMenuItem itemtogglevisualverts; private ToolStripMenuItem itemimport; private ToolStripMenuItem itemexport; private ToolStripSeparator separatorio; diff --git a/Source/Core/Windows/MainForm.cs b/Source/Core/Windows/MainForm.cs index 70b09fe..2aba792 100644 --- a/Source/Core/Windows/MainForm.cs +++ b/Source/Core/Windows/MainForm.cs @@ -2126,7 +2126,6 @@ namespace CodeImp.DoomBuilder.Windows //mxd modelrendermode.Visible = General.Settings.GZToolbarGZDoom && maploaded; dynamiclightmode.Visible = General.Settings.GZToolbarGZDoom && maploaded; - buttontogglefx.Visible = General.Settings.GZToolbarGZDoom && maploaded; buttontogglefog.Visible = General.Settings.GZToolbarGZDoom && maploaded; buttontogglesky.Visible = maploaded && (General.Settings.GZToolbarGZDoom || General.Map.SRB2); buttontoggleeventlines.Visible = General.Settings.GZToolbarGZDoom && maploaded; @@ -3016,7 +3015,7 @@ namespace CodeImp.DoomBuilder.Windows #region ================== View Menu - // This sets up the modes menu + // This sets up the View menu private void UpdateViewMenu() { menuview.Visible = (General.Map != null); //mxd @@ -3029,6 +3028,25 @@ namespace CodeImp.DoomBuilder.Windows itemtogglecomments.Checked = General.Settings.RenderComments; //mxd itemtogglefixedthingsscale.Visible = (General.Map != null); //mxd itemtogglefixedthingsscale.Checked = General.Settings.FixedThingsScale; //mxd + itemtogglefog.Checked = General.Settings.GZDrawFog; + itemtogglesky.Checked = General.Settings.GZDrawSky; + itemtoggleeventlines.Checked = General.Settings.GZShowEventLines; + itemtogglevisualverts.Visible = (General.Map != null && General.Map.UDMF); + itemtogglevisualverts.Checked = General.Settings.GZShowVisualVertices; + + // Update Model Rendering Mode items... + foreach(ToolStripMenuItem item in itemmodelmodes.DropDownItems) + { + item.Checked = ((ModelRenderMode)item.Tag == General.Settings.GZDrawModelsMode); + if(item.Checked) itemmodelmodes.Image = item.Image; + } + + // Update Dynamic Light Mode items... + foreach(ToolStripMenuItem item in itemdynlightmodes.DropDownItems) + { + item.Checked = ((LightRenderMode)item.Tag == General.Settings.GZDrawLightsMode); + if(item.Checked) itemdynlightmodes.Image = item.Image; + } // View mode items if(General.Map != null) @@ -3042,6 +3060,76 @@ namespace CodeImp.DoomBuilder.Windows } } + //mxd + [BeginAction("gztoggleenhancedrendering")] + public void ToggleEnhancedRendering() + { + General.Settings.EnhancedRenderingEffects = !General.Settings.EnhancedRenderingEffects; + + General.Settings.GZDrawFog = General.Settings.EnhancedRenderingEffects; + General.Settings.GZDrawSky = General.Settings.EnhancedRenderingEffects; + General.Settings.GZDrawLightsMode = (General.Settings.EnhancedRenderingEffects ? LightRenderMode.ALL : LightRenderMode.NONE); + General.Settings.GZDrawModelsMode = (General.Settings.EnhancedRenderingEffects ? ModelRenderMode.ALL : ModelRenderMode.NONE); + + UpdateGZDoomPanel(); + UpdateViewMenu(); + DisplayStatus(StatusType.Info, "Enhanced rendering effects are " + (General.Settings.EnhancedRenderingEffects ? "ENABLED" : "DISABLED")); + } + + //mxd + [BeginAction("gztogglefog")] + internal void ToggleFog() + { + General.Settings.GZDrawFog = !General.Settings.GZDrawFog; + + itemtogglefog.Checked = General.Settings.GZDrawFog; + buttontogglefog.Checked = General.Settings.GZDrawFog; + + General.MainWindow.DisplayStatus(StatusType.Action, "Fog rendering is " + (General.Settings.GZDrawFog ? "ENABLED" : "DISABLED")); + General.MainWindow.RedrawDisplay(); + General.MainWindow.UpdateGZDoomPanel(); + } + + //mxd + [BeginAction("gztogglesky")] + internal void ToggleSky() + { + General.Settings.GZDrawSky = !General.Settings.GZDrawSky; + + itemtogglesky.Checked = General.Settings.GZDrawSky; + buttontogglesky.Checked = General.Settings.GZDrawSky; + + General.MainWindow.DisplayStatus(StatusType.Action, "Sky rendering is " + (General.Settings.GZDrawSky ? "ENABLED" : "DISABLED")); + General.MainWindow.RedrawDisplay(); + General.MainWindow.UpdateGZDoomPanel(); + } + + [BeginAction("gztoggleeventlines")] + internal void ToggleEventLines() + { + General.Settings.GZShowEventLines = !General.Settings.GZShowEventLines; + + itemtoggleeventlines.Checked = General.Settings.GZShowEventLines; + buttontoggleeventlines.Checked = General.Settings.GZShowEventLines; + + General.MainWindow.DisplayStatus(StatusType.Action, "Event lines are " + (General.Settings.GZShowEventLines ? "ENABLED" : "DISABLED")); + General.MainWindow.RedrawDisplay(); + General.MainWindow.UpdateGZDoomPanel(); + } + + [BeginAction("gztogglevisualvertices")] + internal void ToggleVisualVertices() + { + General.Settings.GZShowVisualVertices = !General.Settings.GZShowVisualVertices; + + itemtogglevisualverts.Checked = General.Settings.GZShowVisualVertices; + buttontogglevisualvertices.Checked = General.Settings.GZShowVisualVertices; + + General.MainWindow.DisplayStatus(StatusType.Action, "Visual vertices are " + (General.Settings.GZShowVisualVertices ? "ENABLED" : "DISABLED")); + General.MainWindow.RedrawDisplay(); + General.MainWindow.UpdateGZDoomPanel(); + } + #endregion #region ================== Mode Menu @@ -3509,7 +3597,8 @@ namespace CodeImp.DoomBuilder.Windows General.MainWindow.DisplayStatus(StatusType.Action, "Models rendering mode: ALL"); break; } - + + UpdateViewMenu(); UpdateGZDoomPanel(); RedrawDisplay(); } @@ -3532,7 +3621,8 @@ namespace CodeImp.DoomBuilder.Windows General.MainWindow.DisplayStatus(StatusType.Action, "Models rendering mode: ANIMATED"); break; } - + + UpdateViewMenu(); UpdateGZDoomPanel(); RedrawDisplay(); } diff --git a/Source/Core/Windows/PreferencesForm.Designer.cs b/Source/Core/Windows/PreferencesForm.Designer.cs index 0b6c849..7aae495 100644 --- a/Source/Core/Windows/PreferencesForm.Designer.cs +++ b/Source/Core/Windows/PreferencesForm.Designer.cs @@ -165,10 +165,6 @@ namespace CodeImp.DoomBuilder.Windows this.capitalizetexturenames = new System.Windows.Forms.CheckBox(); this.cbMarkExtraFloors = new System.Windows.Forms.CheckBox(); this.cbOldHighlightMode = new System.Windows.Forms.CheckBox(); - this.labelDynLightIntensity = new System.Windows.Forms.Label(); - this.tbDynLightIntensity = new System.Windows.Forms.TrackBar(); - this.labelDynLightSize = new System.Windows.Forms.Label(); - this.tbDynLightSize = new System.Windows.Forms.TrackBar(); this.labelDynLightCount = new System.Windows.Forms.Label(); this.tbDynLightCount = new System.Windows.Forms.TrackBar(); this.animatevisualselection = new System.Windows.Forms.CheckBox(); @@ -276,8 +272,6 @@ namespace CodeImp.DoomBuilder.Windows ((System.ComponentModel.ISupportInitialize)(this.inactivethingsalpha)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.activethingsalpha)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.tbDefaultThingSize)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.tbDynLightIntensity)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.tbDynLightSize)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.tbDynLightCount)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.imagebrightness)).BeginInit(); this.nightsgroup.SuspendLayout(); @@ -1675,12 +1669,8 @@ namespace CodeImp.DoomBuilder.Windows this.appearancegroup1.Controls.Add(this.cbMarkExtraFloors); this.appearancegroup1.Controls.Add(this.cbOldHighlightMode); this.appearancegroup1.Controls.Add(label21); - this.appearancegroup1.Controls.Add(this.labelDynLightIntensity); this.appearancegroup1.Controls.Add(this.cbStretchView); - this.appearancegroup1.Controls.Add(this.tbDynLightIntensity); this.appearancegroup1.Controls.Add(this.qualitydisplay); - this.appearancegroup1.Controls.Add(this.labelDynLightSize); - this.appearancegroup1.Controls.Add(this.tbDynLightSize); this.appearancegroup1.Controls.Add(label18); this.appearancegroup1.Controls.Add(this.labelDynLightCount); this.appearancegroup1.Controls.Add(this.tbDynLightCount); @@ -1853,59 +1843,6 @@ namespace CodeImp.DoomBuilder.Windows "ighlight\" mode is disabled \r\n(Doom Builder 2 behaviour)."); this.cbOldHighlightMode.UseVisualStyleBackColor = true; // - // labelDynLightIntensity - // - this.labelDynLightIntensity.AutoSize = true; - this.labelDynLightIntensity.Enabled = false; - this.labelDynLightIntensity.Location = new System.Drawing.Point(435, 96); - this.labelDynLightIntensity.Name = "labelDynLightIntensity"; - this.labelDynLightIntensity.Size = new System.Drawing.Size(22, 13); - this.labelDynLightIntensity.TabIndex = 32; - this.labelDynLightIntensity.Text = "1.0"; - this.labelDynLightIntensity.Visible = false; - // - // tbDynLightIntensity - // - this.tbDynLightIntensity.BackColor = System.Drawing.SystemColors.Window; - this.tbDynLightIntensity.Enabled = false; - this.tbDynLightIntensity.LargeChange = 1; - this.tbDynLightIntensity.Location = new System.Drawing.Point(385, 51); - this.tbDynLightIntensity.Minimum = 1; - this.tbDynLightIntensity.Name = "tbDynLightIntensity"; - this.tbDynLightIntensity.Size = new System.Drawing.Size(80, 45); - this.tbDynLightIntensity.TabIndex = 30; - this.tbDynLightIntensity.TickStyle = System.Windows.Forms.TickStyle.TopLeft; - this.tbDynLightIntensity.Value = 10; - this.tbDynLightIntensity.Visible = false; - this.tbDynLightIntensity.ValueChanged += new System.EventHandler(this.tbDynLightIntensity_ValueChanged); - // - // labelDynLightSize - // - this.labelDynLightSize.AutoSize = true; - this.labelDynLightSize.Enabled = false; - this.labelDynLightSize.Location = new System.Drawing.Point(440, 162); - this.labelDynLightSize.Name = "labelDynLightSize"; - this.labelDynLightSize.Size = new System.Drawing.Size(22, 13); - this.labelDynLightSize.TabIndex = 29; - this.labelDynLightSize.Text = "1.0"; - this.labelDynLightSize.Visible = false; - // - // tbDynLightSize - // - this.tbDynLightSize.BackColor = System.Drawing.SystemColors.Window; - this.tbDynLightSize.Enabled = false; - this.tbDynLightSize.LargeChange = 1; - this.tbDynLightSize.Location = new System.Drawing.Point(385, 76); - this.tbDynLightSize.Maximum = 20; - this.tbDynLightSize.Minimum = 1; - this.tbDynLightSize.Name = "tbDynLightSize"; - this.tbDynLightSize.Size = new System.Drawing.Size(80, 45); - this.tbDynLightSize.TabIndex = 27; - this.tbDynLightSize.TickStyle = System.Windows.Forms.TickStyle.TopLeft; - this.tbDynLightSize.Value = 10; - this.tbDynLightSize.Visible = false; - this.tbDynLightSize.ValueChanged += new System.EventHandler(this.tbDynLightSize_ValueChanged); - // // labelDynLightCount // this.labelDynLightCount.AutoSize = true; @@ -2780,8 +2717,6 @@ namespace CodeImp.DoomBuilder.Windows ((System.ComponentModel.ISupportInitialize)(this.inactivethingsalpha)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.activethingsalpha)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.tbDefaultThingSize)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.tbDynLightIntensity)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.tbDynLightSize)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.tbDynLightCount)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.imagebrightness)).EndInit(); this.nightsgroup.ResumeLayout(false); @@ -2889,10 +2824,6 @@ namespace CodeImp.DoomBuilder.Windows private System.Windows.Forms.CheckBox toolbar_gzdoom; private System.Windows.Forms.Label labelDynLightCount; private System.Windows.Forms.TrackBar tbDynLightCount; - private System.Windows.Forms.Label labelDynLightSize; - private System.Windows.Forms.TrackBar tbDynLightSize; - private System.Windows.Forms.Label labelDynLightIntensity; - private System.Windows.Forms.TrackBar tbDynLightIntensity; private System.Windows.Forms.CheckBox cbSynchCameras; private System.Windows.Forms.CheckBox cbStretchView; private System.Windows.Forms.ToolTip toolTip1; diff --git a/Source/Core/Windows/PreferencesForm.cs b/Source/Core/Windows/PreferencesForm.cs index 7bb0019..ee8af3c 100644 --- a/Source/Core/Windows/PreferencesForm.cs +++ b/Source/Core/Windows/PreferencesForm.cs @@ -99,10 +99,6 @@ namespace CodeImp.DoomBuilder.Windows cbSynchCameras.Checked = General.Settings.GZSynchCameras; tbDynLightCount.Value = General.Clamp(General.Settings.GZMaxDynamicLights, tbDynLightCount.Minimum, tbDynLightCount.Maximum); labelDynLightCount.Text = General.Settings.GZMaxDynamicLights.ToString(); - tbDynLightSize.Value = General.Clamp((int)(General.Settings.GZDynamicLightRadius * 10), tbDynLightSize.Minimum, tbDynLightSize.Maximum); - labelDynLightSize.Text = General.Settings.GZDynamicLightRadius.ToString(); - tbDynLightIntensity.Value = General.Clamp((int)(General.Settings.GZDynamicLightIntensity * 10), tbDynLightIntensity.Minimum, tbDynLightIntensity.Maximum); - labelDynLightIntensity.Text = General.Settings.GZDynamicLightIntensity.ToString(); cbStretchView.Checked = General.Settings.GZStretchView; cbOldHighlightMode.Checked = General.Settings.GZOldHighlightMode; vertexScale.Value = General.Clamp((int)(General.Settings.GZVertexScale2D), vertexScale.Minimum, vertexScale.Maximum); @@ -434,8 +430,6 @@ namespace CodeImp.DoomBuilder.Windows //mxd General.Settings.GZSynchCameras = cbSynchCameras.Checked; General.Settings.GZMaxDynamicLights = tbDynLightCount.Value; - General.Settings.GZDynamicLightRadius = (tbDynLightSize.Value / 10.0f); - General.Settings.GZDynamicLightIntensity = (tbDynLightIntensity.Value / 10.0f); General.Settings.GZStretchView = cbStretchView.Checked; General.Settings.GZVertexScale2D = vertexScale.Value; General.Settings.GZOldHighlightMode = cbOldHighlightMode.Checked; @@ -1046,18 +1040,6 @@ namespace CodeImp.DoomBuilder.Windows labelDynLightCount.Text = tbDynLightCount.Value.ToString(); } - //mxd - private void tbDynLightSize_ValueChanged(object sender, EventArgs e) - { - labelDynLightSize.Text = ((float)tbDynLightSize.Value / 10).ToString(); - } - - //mxd - private void tbDynLightIntensity_ValueChanged(object sender, EventArgs e) - { - labelDynLightIntensity.Text = ((float)tbDynLightIntensity.Value / 10).ToString(); - } - //mxd private void tbDefaultThingSize_ValueChanged(object sender, EventArgs e) { diff --git a/Source/Plugins/BuilderModes/ClassicModes/ThingsMode.cs b/Source/Plugins/BuilderModes/ClassicModes/ThingsMode.cs index a47b785..1fa0a21 100644 --- a/Source/Plugins/BuilderModes/ClassicModes/ThingsMode.cs +++ b/Source/Plugins/BuilderModes/ClassicModes/ThingsMode.cs @@ -1091,18 +1091,17 @@ namespace CodeImp.DoomBuilder.BuilderModes { if(t.Sector == null) t.DetermineSector(); int scaler = (t.Sector != null ? t.Sector.Brightness / 4 : 2); - primaryradius = (int)Math.Round((t.Args[3] * scaler) * General.Settings.GZDynamicLightRadius); + primaryradius = t.Args[3] * scaler; } else { - primaryradius = (int)Math.Round((t.Args[3] * 2) * General.Settings.GZDynamicLightRadius); //works... that.. way in GZDoom - if(lightType > 0) - secondaryradius = (int)Math.Round((t.Args[4] * 2) * General.Settings.GZDynamicLightRadius); + primaryradius = t.Args[3] * 2; //works... that.. way in GZDoom + if(lightType > 0) secondaryradius = t.Args[4] * 2; } } else //it's one of vavoom lights { - primaryradius = (int)Math.Round((t.Args[0] * 8) * General.Settings.GZDynamicLightRadius); + primaryradius = t.Args[0] * 8; } // Check radii... diff --git a/Source/Plugins/BuilderModes/IO/WavefrontExporter.cs b/Source/Plugins/BuilderModes/IO/WavefrontExporter.cs index f9b7dc4..8ad66e4 100644 --- a/Source/Plugins/BuilderModes/IO/WavefrontExporter.cs +++ b/Source/Plugins/BuilderModes/IO/WavefrontExporter.cs @@ -197,10 +197,10 @@ namespace CodeImp.DoomBuilder.BuilderModes.IO BaseVisualMode mode = new BaseVisualMode(); bool renderingEffectsDisabled = false; - if(!General.Settings.GZDoomRenderingEffects) + if(!General.Settings.EnhancedRenderingEffects) { renderingEffectsDisabled = true; - mode.ToggleGZDoomRenderingEffects(); + mode.ToggleEnhancedRendering(); } mode.RebuildElementData(); @@ -224,7 +224,7 @@ namespace CodeImp.DoomBuilder.BuilderModes.IO List>> geometryByTexture = SortGeometry(visualSectors); //restore vm settings - if(renderingEffectsDisabled) mode.ToggleGZDoomRenderingEffects(); + if(renderingEffectsDisabled) mode.ToggleEnhancedRendering(); mode.Dispose(); //create obj diff --git a/Source/Plugins/BuilderModes/Resources/Actions.cfg b/Source/Plugins/BuilderModes/Resources/Actions.cfg index eff9a7c..b9a515b 100644 --- a/Source/Plugins/BuilderModes/Resources/Actions.cfg +++ b/Source/Plugins/BuilderModes/Resources/Actions.cfg @@ -1671,17 +1671,6 @@ ceilingalignmode allowscroll = true; } -togglegzdoomgeometryeffects -{ - title = "Toggle Geometry Effects"; - category = "visual"; - description = "Toggles rendering of (G)ZDoom's geometry effects (slopes, 3D-floors etc.) in Visual mode."; - allowkeys = true; - allowmouse = true; - allowscroll = false; - default = 9; //Tab -} - togglesrb2geometryeffects { title = "Toggle SRB2 Invisible FOFs"; diff --git a/Source/Plugins/BuilderModes/VisualModes/BaseVisualMode.cs b/Source/Plugins/BuilderModes/VisualModes/BaseVisualMode.cs index 1f1ac80..c8d9c61 100644 --- a/Source/Plugins/BuilderModes/VisualModes/BaseVisualMode.cs +++ b/Source/Plugins/BuilderModes/VisualModes/BaseVisualMode.cs @@ -795,9 +795,9 @@ namespace CodeImp.DoomBuilder.BuilderModes bsp.Build(); useblockmap = bsp.IsDeactivated; - if (!General.Settings.GZDoomRenderingEffects) - { - //Store all sectors with effects + if(!General.Settings.EnhancedRenderingEffects) //mxd + { + // Store all sectors with effects if(sectordata != null && sectordata.Count > 0) effectsectors = new HashSet(sectordata.Keys); @@ -839,7 +839,7 @@ namespace CodeImp.DoomBuilder.BuilderModes vertices.Clear(); } - if (!General.Settings.GZDoomRenderingEffects) return; //mxd + if (!General.Settings.EnhancedRenderingEffects) return; //mxd if (General.Map.SRB2) { @@ -3581,14 +3581,13 @@ namespace CodeImp.DoomBuilder.BuilderModes } //mxd - [BeginAction("togglegzdoomgeometryeffects")] - public void ToggleGZDoomRenderingEffects() + [BeginAction("gztoggleenhancedrendering", BaseAction = true)] + public void ToggleEnhancedRendering() { - General.Settings.GZDoomRenderingEffects = !General.Settings.GZDoomRenderingEffects; - RebuildElementData(); + // Actual toggling is done in MainForm.ToggleEnhancedRendering(), so we only need to update the view here + RebuildElementData(); UpdateChangedObjects(); - General.Interface.DisplayStatus(StatusType.Info, "(G)ZDoom geometry effects are " + (General.Settings.GZDoomRenderingEffects ? "ENABLED" : "DISABLED")); - } + } //mxd [BeginAction("togglesrb2geometryeffects")] diff --git a/Source/Plugins/BuilderModes/VisualModes/VisualMiddle3D.cs b/Source/Plugins/BuilderModes/VisualModes/VisualMiddle3D.cs index 49df565..3c5b052 100644 --- a/Source/Plugins/BuilderModes/VisualModes/VisualMiddle3D.cs +++ b/Source/Plugins/BuilderModes/VisualModes/VisualMiddle3D.cs @@ -547,7 +547,7 @@ namespace CodeImp.DoomBuilder.BuilderModes //mxd public override void OnResetLocalTextureOffset() { - if(!General.Map.UDMF || !General.Map.Config.UseLocalSidedefTextureOffsets) + if(!General.Map.UDMF) { OnResetTextureOffset(); return;