diff --git a/Build/Builder.cfg b/Build/Builder.cfg index 5cf925f1..aa252878 100644 --- a/Build/Builder.cfg +++ b/Build/Builder.cfg @@ -154,8 +154,8 @@ configurations blackbrowsers = false; undolevels = 20; visualfov = 80; -visualmousesensx = 40f; -visualmousesensy = 40f; +visualmousesensx = 4f; +visualmousesensy = 4f; visualviewrange = 1000f; imagebrightness = 3; qualitydisplay = true; diff --git a/Documents/ideas.txt b/Documents/ideas.txt index f6753bc0..d3f6aa30 100644 --- a/Documents/ideas.txt +++ b/Documents/ideas.txt @@ -9,12 +9,6 @@ [15:52] i dont even think that should be an option, but normal behaviour -=========================================================================================== - -Slider to change transparency amount of doublesided lines - -Slider to change transparency amount of background image - =========================================================================================== Draw association on top of highlight so that a highligted sector referring to it's own diff --git a/Documents/todo.txt b/Documents/todo.txt index b1dff138..b24493e6 100644 --- a/Documents/todo.txt +++ b/Documents/todo.txt @@ -1,17 +1,17 @@ -- Add more find/replace types - -- Add more error checks - -- Make script editor - -- Make DECORATE support - - Make 3D Mode (config specific!) - Make texture alignment features - Make Prefabs support +- Make DECORATE support + +- Add more find/replace types + +- Add more error checks + +- Add more associations coloring + - Make plugin dependencies (load BEFORE and load AFTER so that also their functions are called in that order) diff --git a/Source/Actions/MouseInput.cs b/Source/Actions/MouseInput.cs index 3e98b72b..b13c549f 100644 --- a/Source/Actions/MouseInput.cs +++ b/Source/Actions/MouseInput.cs @@ -122,8 +122,8 @@ namespace CodeImp.DoomBuilder.Actions ms = mouse.GetCurrentState(); // Calculate changes depending on sensitivity - changex = (float)ms.X * General.Settings.VisualMouseSensX; - changey = (float)ms.Y * General.Settings.VisualMouseSensY; + changex = (float)ms.X * General.Settings.VisualMouseSensX * (float)General.Settings.MouseSpeed * 0.01f; + changey = (float)ms.Y * General.Settings.VisualMouseSensY * (float)General.Settings.MouseSpeed * 0.01f; // Return changes return new Vector2D(changex, changey); diff --git a/Source/BuilderModes/ClassicModes/BrightnessMode.cs b/Source/BuilderModes/ClassicModes/BrightnessMode.cs index 1b57ae30..f11fe9bd 100644 --- a/Source/BuilderModes/ClassicModes/BrightnessMode.cs +++ b/Source/BuilderModes/ClassicModes/BrightnessMode.cs @@ -354,7 +354,7 @@ namespace CodeImp.DoomBuilder.BuilderModes // Make custom presentation CustomPresentation p = new CustomPresentation(); - p.AddLayer(new PresentLayer(RendererLayer.Background, BlendingMode.Mask)); + p.AddLayer(new PresentLayer(RendererLayer.Background, BlendingMode.Mask, General.Settings.BackgroundAlpha)); p.AddLayer(new PresentLayer(RendererLayer.Grid, BlendingMode.Mask)); p.AddLayer(new PresentLayer(RendererLayer.Surface, BlendingMode.Mask)); p.AddLayer(new PresentLayer(RendererLayer.Overlay, BlendingMode.Alpha, 1f, true)); diff --git a/Source/BuilderModes/ClassicModes/MakeSectorMode.cs b/Source/BuilderModes/ClassicModes/MakeSectorMode.cs index e6368ba7..130029f9 100644 --- a/Source/BuilderModes/ClassicModes/MakeSectorMode.cs +++ b/Source/BuilderModes/ClassicModes/MakeSectorMode.cs @@ -224,7 +224,7 @@ namespace CodeImp.DoomBuilder.BuilderModes // Make customized presentation CustomPresentation p = new CustomPresentation(); - p.AddLayer(new PresentLayer(RendererLayer.Background, BlendingMode.Mask)); + p.AddLayer(new PresentLayer(RendererLayer.Background, BlendingMode.Mask, General.Settings.BackgroundAlpha)); p.AddLayer(new PresentLayer(RendererLayer.Surface, BlendingMode.Mask)); p.AddLayer(new PresentLayer(RendererLayer.Grid, BlendingMode.Mask)); p.AddLayer(new PresentLayer(RendererLayer.Overlay, BlendingMode.Alpha, 1f, true)); diff --git a/Source/Config/ProgramConfiguration.cs b/Source/Config/ProgramConfiguration.cs index 1e039ac7..812aa1c8 100644 --- a/Source/Config/ProgramConfiguration.cs +++ b/Source/Config/ProgramConfiguration.cs @@ -30,6 +30,7 @@ using CodeImp.DoomBuilder.Map; using System.Reflection; using CodeImp.DoomBuilder.Plugins; using CodeImp.DoomBuilder.Editing; +using CodeImp.DoomBuilder.Rendering; #endregion @@ -54,9 +55,19 @@ namespace CodeImp.DoomBuilder.Config private float visualmousesensy; private float visualviewrange; private int imagebrightness; + private float doublesidedalpha; + private float backgroundalpha; private bool qualitydisplay; private bool squarethings; private bool testmonsters; + private int defaultviewmode; + private bool classicbilinear; + private bool visualbilinear; + private int mousespeed; + private int movespeed; + private float viewdistance; + private bool invertyaxis; + private bool fixedaspect; // These are not stored in the configuration, only used at runtime private string defaulttexture; @@ -77,12 +88,22 @@ namespace CodeImp.DoomBuilder.Config public bool BlackBrowsers { get { return blackbrowsers; } internal set { blackbrowsers = value; } } public int VisualFOV { get { return visualfov; } internal set { visualfov = value; } } public int ImageBrightness { get { return imagebrightness; } internal set { imagebrightness = value; } } + public float DoubleSidedAlpha { get { return doublesidedalpha; } internal set { doublesidedalpha = value; } } + public float BackgroundAlpha { get { return backgroundalpha; } internal set { backgroundalpha = value; } } public float VisualMouseSensX { get { return visualmousesensx; } internal set { visualmousesensx = value; } } public float VisualMouseSensY { get { return visualmousesensy; } internal set { visualmousesensy = value; } } public float VisualViewRange { get { return visualviewrange; } internal set { visualviewrange = value; } } public bool QualityDisplay { get { return qualitydisplay; } internal set { qualitydisplay = value; } } public bool SquareThings { get { return squarethings; } internal set { squarethings = value; } } public bool TestMonsters { get { return testmonsters; } internal set { testmonsters = value; } } + public int DefaultViewMode { get { return defaultviewmode; } internal set { defaultviewmode = value; } } + public bool ClassicBilinear { get { return classicbilinear; } internal set { classicbilinear = value; } } + public bool VisualBilinear { get { return visualbilinear; } internal set { visualbilinear = value; } } + public int MouseSpeed { get { return mousespeed; } internal set { mousespeed = value; } } + public int MoveSpeed { get { return movespeed; } internal set { movespeed = value; } } + public float ViewDistance { get { return viewdistance; } internal set { viewdistance = value; } } + public bool InvertYAxis { get { return invertyaxis; } internal set { invertyaxis = value; } } + public bool FixedAspect { get { return fixedaspect; } internal set { fixedaspect = value; } } public string DefaultTexture { get { return defaulttexture; } set { defaulttexture = value; } } public string DefaultFloorTexture { get { return defaultfloortexture; } set { defaultfloortexture = value; } } @@ -122,9 +143,19 @@ namespace CodeImp.DoomBuilder.Config visualmousesensy = cfg.ReadSetting("visualmousesensy", 40f); visualviewrange = cfg.ReadSetting("visualviewrange", 1000f); imagebrightness = cfg.ReadSetting("imagebrightness", 3); + doublesidedalpha = cfg.ReadSetting("doublesidedalpha", 0.4f); + backgroundalpha = cfg.ReadSetting("backgroundalpha", 1.0f); qualitydisplay = cfg.ReadSetting("qualitydisplay", true); squarethings = cfg.ReadSetting("squarethings", false); testmonsters = cfg.ReadSetting("testmonsters", true); + defaultviewmode = cfg.ReadSetting("defaultviewmode", (int)ViewMode.Normal); + classicbilinear = cfg.ReadSetting("classicbilinear", false); + visualbilinear = cfg.ReadSetting("visualbilinear", false); + mousespeed = cfg.ReadSetting("mousespeed", 100); + movespeed = cfg.ReadSetting("movespeed", 100); + viewdistance = cfg.ReadSetting("viewdistance", 3000.0f); + invertyaxis = cfg.ReadSetting("invertyaxis", false); + fixedaspect = cfg.ReadSetting("fixedaspect", true); // Success return true; @@ -150,6 +181,16 @@ namespace CodeImp.DoomBuilder.Config cfg.WriteSetting("qualitydisplay", qualitydisplay); cfg.WriteSetting("squarethings", squarethings); cfg.WriteSetting("testmonsters", testmonsters); + cfg.WriteSetting("doublesidedalpha", doublesidedalpha); + cfg.WriteSetting("backgroundalpha", backgroundalpha); + cfg.WriteSetting("defaultviewmode", defaultviewmode); + cfg.WriteSetting("classicbilinear", classicbilinear); + cfg.WriteSetting("visualbilinear", visualbilinear); + cfg.WriteSetting("mousespeed", mousespeed); + cfg.WriteSetting("movespeed", movespeed); + cfg.WriteSetting("viewdistance", viewdistance); + cfg.WriteSetting("invertyaxis", invertyaxis); + cfg.WriteSetting("fixedaspect", fixedaspect); // Save settings configuration General.WriteLogLine("Saving program configuration..."); diff --git a/Source/Editing/ClassicMode.cs b/Source/Editing/ClassicMode.cs index 3f4ec805..9912398e 100644 --- a/Source/Editing/ClassicMode.cs +++ b/Source/Editing/ClassicMode.cs @@ -432,6 +432,14 @@ namespace CodeImp.DoomBuilder.Editing renderer2d.Present(); } + // This sets the view mode + private void SetViewMode(ViewMode mode) + { + General.Map.CRenderer2D.SetViewMode(mode); + General.MainWindow.UpdateInterface(); + General.MainWindow.RedrawDisplay(); + } + #endregion #region ================== Methods @@ -577,6 +585,30 @@ namespace CodeImp.DoomBuilder.Editing panning = false; } + [BeginAction("viewmodenormal", BaseAction = true)] + protected virtual void ViewModeNormal() + { + SetViewMode(ViewMode.Normal); + } + + [BeginAction("viewmodebrightness", BaseAction = true)] + protected virtual void ViewModeBrightness() + { + SetViewMode(ViewMode.Brightness); + } + + [BeginAction("viewmodefloors", BaseAction = true)] + protected virtual void ViewModeFloors() + { + SetViewMode(ViewMode.FloorTextures); + } + + [BeginAction("viewmodeceilings", BaseAction = true)] + protected virtual void ViewModeCeilings() + { + SetViewMode(ViewMode.CeilingTextures); + } + #endregion } } diff --git a/Source/General/General.cs b/Source/General/General.cs index f6b65df3..3aa6f633 100644 --- a/Source/General/General.cs +++ b/Source/General/General.cs @@ -1245,6 +1245,24 @@ namespace CodeImp.DoomBuilder #region ================== Tools + // This clamps a value + public static float Clamp(float value, float min, float max) + { + return Math.Min(Math.Max(min, value), max); + } + + // This clamps a value + public static int Clamp(int value, int min, int max) + { + return Math.Min(Math.Max(min, value), max); + } + + // This clamps a value + public static byte Clamp(byte value, byte min, byte max) + { + return Math.Min(Math.Max(min, value), max); + } + // This returns an element from a collection by index public static T GetByIndex(ICollection collection, int index) { diff --git a/Source/General/MapManager.cs b/Source/General/MapManager.cs index af55bbc2..b34eaf48 100644 --- a/Source/General/MapManager.cs +++ b/Source/General/MapManager.cs @@ -260,7 +260,7 @@ namespace CodeImp.DoomBuilder // Update structures map.Update(); thingsfilter.Update(); - + // Bind any methods General.Actions.BindMethods(this); @@ -268,6 +268,7 @@ namespace CodeImp.DoomBuilder ChangeMode("VerticesMode"); ClassicMode cmode = (mode as ClassicMode); cmode.SetZoom(0.5f); + renderer2d.SetViewMode((ViewMode)General.Settings.DefaultViewMode); // Success General.WriteLogLine("Map creation done"); @@ -352,6 +353,7 @@ namespace CodeImp.DoomBuilder // Set default mode ChangeMode("VerticesMode"); + renderer2d.SetViewMode((ViewMode)General.Settings.DefaultViewMode); // Center map in screen if(General.Map.Mode is ClassicMode) (General.Map.Mode as ClassicMode).CenterInScreen(); diff --git a/Source/Rendering/D3DDevice.cs b/Source/Rendering/D3DDevice.cs index a7d1dde1..028defc8 100644 --- a/Source/Rendering/D3DDevice.cs +++ b/Source/Rendering/D3DDevice.cs @@ -206,6 +206,12 @@ namespace CodeImp.DoomBuilder.Rendering material.Diffuse = new Color4(Color.White); material.Specular = new Color4(Color.White); device.Material = material; + + // Shader settings + shaders.World3D.SetConstants(General.Settings.VisualBilinear, true); + + // Initialize presentations + Presentation.Initialize(); } #endregion @@ -292,9 +298,6 @@ namespace CodeImp.DoomBuilder.Rendering fonttexture.MipMapLevels = 2; fonttexture.CreateTexture(); - // Initialize presentations - Presentation.Initialize(); - // Initialize settings SetupSettings(); @@ -393,12 +396,12 @@ namespace CodeImp.DoomBuilder.Rendering // Get the viewport viewport = device.Viewport; - // Initialize settings - SetupSettings(); - // Reload all Direct3D resources foreach(ID3DResource res in resources.Values) res.ReloadResource(); + // Re-apply settings + SetupSettings(); + // Success return true; } diff --git a/Source/Rendering/Display2DShader.cs b/Source/Rendering/Display2DShader.cs index 5ae18719..e282b4d8 100644 --- a/Source/Rendering/Display2DShader.cs +++ b/Source/Rendering/Display2DShader.cs @@ -44,7 +44,8 @@ namespace CodeImp.DoomBuilder.Rendering private EffectHandle texture1; private EffectHandle rendersettings; private EffectHandle transformsettings; - + private EffectHandle filtersettings; + #endregion #region ================== Properties @@ -67,6 +68,7 @@ namespace CodeImp.DoomBuilder.Rendering texture1 = effect.GetParameter(null, "texture1"); rendersettings = effect.GetParameter(null, "rendersettings"); transformsettings = effect.GetParameter(null, "transformsettings"); + filtersettings = effect.GetParameter(null, "filtersettings"); } // Initialize world vertex declaration @@ -93,6 +95,7 @@ namespace CodeImp.DoomBuilder.Rendering if(texture1 != null) texture1.Dispose(); if(rendersettings != null) rendersettings.Dispose(); if(transformsettings != null) transformsettings.Dispose(); + if(filtersettings != null) filtersettings.Dispose(); // Done base.Dispose(); @@ -104,7 +107,7 @@ namespace CodeImp.DoomBuilder.Rendering #region ================== Methods // This sets the settings - public void SetSettings(float texelx, float texely, float fsaafactor, float alpha) + public void SetSettings(float texelx, float texely, float fsaafactor, float alpha, bool bilinear) { if(manager.Enabled) { @@ -113,6 +116,9 @@ namespace CodeImp.DoomBuilder.Rendering Matrix world = manager.D3DDevice.Device.GetTransform(TransformState.World); Matrix view = manager.D3DDevice.Device.GetTransform(TransformState.View); effect.SetValue(transformsettings, Matrix.Multiply(world, view)); + TextureFilter filter = TextureFilter.Point; + if(bilinear) filter = TextureFilter.Linear; + effect.SetValue(filtersettings, (int)filter); } } diff --git a/Source/Rendering/Presentation.cs b/Source/Rendering/Presentation.cs index 89561164..ff2fa6a0 100644 --- a/Source/Rendering/Presentation.cs +++ b/Source/Rendering/Presentation.cs @@ -64,7 +64,7 @@ namespace CodeImp.DoomBuilder.Rendering { // Standard classic mode standard = new Presentation(); - standard.layers.Add(new PresentLayer(RendererLayer.Background, BlendingMode.Mask)); + standard.layers.Add(new PresentLayer(RendererLayer.Background, BlendingMode.Mask, General.Settings.BackgroundAlpha)); standard.layers.Add(new PresentLayer(RendererLayer.Surface, BlendingMode.Mask)); standard.layers.Add(new PresentLayer(RendererLayer.Things, BlendingMode.Alpha, THINGS_BACK_ALPHA)); standard.layers.Add(new PresentLayer(RendererLayer.Grid, BlendingMode.Mask)); @@ -73,7 +73,7 @@ namespace CodeImp.DoomBuilder.Rendering // Things classic mode things = new Presentation(); - things.layers.Add(new PresentLayer(RendererLayer.Background, BlendingMode.Mask)); + things.layers.Add(new PresentLayer(RendererLayer.Background, BlendingMode.Mask, General.Settings.BackgroundAlpha)); things.layers.Add(new PresentLayer(RendererLayer.Surface, BlendingMode.Mask)); things.layers.Add(new PresentLayer(RendererLayer.Grid, BlendingMode.Mask)); things.layers.Add(new PresentLayer(RendererLayer.Geometry, BlendingMode.Alpha, 1f, true)); diff --git a/Source/Rendering/Renderer2D.cs b/Source/Rendering/Renderer2D.cs index 98b8bd59..df504401 100644 --- a/Source/Rendering/Renderer2D.cs +++ b/Source/Rendering/Renderer2D.cs @@ -48,7 +48,6 @@ namespace CodeImp.DoomBuilder.Rendering { #region ================== Constants - private const byte DOUBLESIDED_LINE_ALPHA = 130; private const float FSAA_FACTOR = 0.6f; private const float THING_ARROW_SIZE = 1.5f; private const float THING_ARROW_SHRINK = 2f; @@ -257,7 +256,7 @@ namespace CodeImp.DoomBuilder.Rendering if((backimageverts == null) || (General.Map.Grid.Background.Texture == null)) break; graphics.Device.SetTexture(0, General.Map.Grid.Background.Texture); graphics.Shaders.Display2D.Texture1 = General.Map.Grid.Background.Texture; - graphics.Shaders.Display2D.SetSettings(1f / windowsize.Width, 1f / windowsize.Height, FSAA_FACTOR, layer.alpha); + graphics.Shaders.Display2D.SetSettings(1f / windowsize.Width, 1f / windowsize.Height, FSAA_FACTOR, layer.alpha, false); graphics.Shaders.Display2D.BeginPass(aapass); graphics.Device.DrawUserPrimitives(PrimitiveType.TriangleStrip, 0, 2, backimageverts); graphics.Shaders.Display2D.EndPass(); @@ -268,7 +267,7 @@ namespace CodeImp.DoomBuilder.Rendering case RendererLayer.Grid: graphics.Device.SetTexture(0, backtex); graphics.Shaders.Display2D.Texture1 = backtex; - graphics.Shaders.Display2D.SetSettings(1f / backsize.Width, 1f / backsize.Height, FSAA_FACTOR, layer.alpha); + graphics.Shaders.Display2D.SetSettings(1f / backsize.Width, 1f / backsize.Height, FSAA_FACTOR, layer.alpha, false); graphics.Shaders.Display2D.BeginPass(aapass); graphics.Device.DrawPrimitives(PrimitiveType.TriangleStrip, 0, 2); graphics.Shaders.Display2D.EndPass(); @@ -278,7 +277,7 @@ namespace CodeImp.DoomBuilder.Rendering case RendererLayer.Geometry: graphics.Device.SetTexture(0, plottertex); graphics.Shaders.Display2D.Texture1 = plottertex; - graphics.Shaders.Display2D.SetSettings(1f / structsize.Width, 1f / structsize.Height, FSAA_FACTOR, layer.alpha); + graphics.Shaders.Display2D.SetSettings(1f / structsize.Width, 1f / structsize.Height, FSAA_FACTOR, layer.alpha, false); graphics.Shaders.Display2D.BeginPass(aapass); graphics.Device.DrawPrimitives(PrimitiveType.TriangleStrip, 0, 2); graphics.Shaders.Display2D.EndPass(); @@ -288,7 +287,7 @@ namespace CodeImp.DoomBuilder.Rendering case RendererLayer.Things: graphics.Device.SetTexture(0, thingstex); graphics.Shaders.Display2D.Texture1 = thingstex; - graphics.Shaders.Display2D.SetSettings(1f / thingssize.Width, 1f / thingssize.Height, FSAA_FACTOR, layer.alpha); + graphics.Shaders.Display2D.SetSettings(1f / thingssize.Width, 1f / thingssize.Height, FSAA_FACTOR, layer.alpha, false); graphics.Shaders.Display2D.BeginPass(aapass); graphics.Device.DrawPrimitives(PrimitiveType.TriangleStrip, 0, 2); graphics.Shaders.Display2D.EndPass(); @@ -298,7 +297,7 @@ namespace CodeImp.DoomBuilder.Rendering case RendererLayer.Overlay: graphics.Device.SetTexture(0, overlaytex); graphics.Shaders.Display2D.Texture1 = overlaytex; - graphics.Shaders.Display2D.SetSettings(1f / overlaysize.Width, 1f / overlaysize.Height, FSAA_FACTOR, layer.alpha); + graphics.Shaders.Display2D.SetSettings(1f / overlaysize.Width, 1f / overlaysize.Height, FSAA_FACTOR, layer.alpha, false); graphics.Shaders.Display2D.BeginPass(aapass); graphics.Device.DrawPrimitives(PrimitiveType.TriangleStrip, 0, 2); graphics.Shaders.Display2D.EndPass(); @@ -308,7 +307,7 @@ namespace CodeImp.DoomBuilder.Rendering case RendererLayer.Surface: graphics.Device.SetTexture(0, surfacetex); graphics.Shaders.Display2D.Texture1 = surfacetex; - graphics.Shaders.Display2D.SetSettings(1f / overlaysize.Width, 1f / overlaysize.Height, FSAA_FACTOR, layer.alpha); + graphics.Shaders.Display2D.SetSettings(1f / overlaysize.Width, 1f / overlaysize.Height, FSAA_FACTOR, layer.alpha, false); graphics.Shaders.Display2D.BeginPass(aapass); graphics.Device.DrawPrimitives(PrimitiveType.TriangleStrip, 0, 2); graphics.Shaders.Display2D.EndPass(); @@ -574,10 +573,11 @@ namespace CodeImp.DoomBuilder.Rendering else { // Determine color + byte a = (byte)(General.Settings.DoubleSidedAlpha * 255.0f); if(l.Selected) return General.Colors.Selection; - else if(l.Action != 0) return General.Colors.Actions.WithAlpha(DOUBLESIDED_LINE_ALPHA); - else if(l.IsFlagSet(General.Map.Config.SoundLinedefFlag)) return General.Colors.Sounds.WithAlpha(DOUBLESIDED_LINE_ALPHA); - else return General.Colors.Linedefs.WithAlpha(DOUBLESIDED_LINE_ALPHA); + else if(l.Action != 0) return General.Colors.Actions.WithAlpha(a); + else if(l.IsFlagSet(General.Map.Config.SoundLinedefFlag)) return General.Colors.Sounds.WithAlpha(a); + else return General.Colors.Linedefs.WithAlpha(a); } } @@ -1136,7 +1136,7 @@ namespace CodeImp.DoomBuilder.Rendering graphics.Device.SetRenderState(RenderState.AlphaTestEnable, false); graphics.Device.SetRenderState(RenderState.TextureFactor, -1); SetWorldTransformation(true); - graphics.Shaders.Display2D.SetSettings(1f, 1f, 0f, 1f); + graphics.Shaders.Display2D.SetSettings(1f, 1f, 0f, 1f, General.Settings.ClassicBilinear); // Render all sectors foreach(Sector s in sectors) @@ -1153,7 +1153,7 @@ namespace CodeImp.DoomBuilder.Rendering graphics.Device.SetRenderState(RenderState.AlphaTestEnable, false); graphics.Device.SetRenderState(RenderState.TextureFactor, -1); SetWorldTransformation(true); - graphics.Shaders.Display2D.SetSettings(1f, 1f, 0f, 1f); + graphics.Shaders.Display2D.SetSettings(1f, 1f, 0f, 1f, General.Settings.ClassicBilinear); // Render all sectors foreach(Sector s in sectors) @@ -1170,7 +1170,7 @@ namespace CodeImp.DoomBuilder.Rendering graphics.Device.SetRenderState(RenderState.AlphaTestEnable, false); graphics.Device.SetRenderState(RenderState.TextureFactor, -1); SetWorldTransformation(true); - graphics.Shaders.Display2D.SetSettings(1f, 1f, 0f, 1f); + graphics.Shaders.Display2D.SetSettings(1f, 1f, 0f, 1f, General.Settings.ClassicBilinear); // Render all sectors foreach(Sector s in sectors) @@ -1250,7 +1250,7 @@ namespace CodeImp.DoomBuilder.Rendering graphics.Shaders.Display2D.Texture1 = t; graphics.Device.SetTexture(0, t); SetWorldTransformation(transformcoords); - graphics.Shaders.Display2D.SetSettings(1f, 1f, 0f, 1f); + graphics.Shaders.Display2D.SetSettings(1f, 1f, 0f, 1f, General.Settings.ClassicBilinear); // Draw graphics.Shaders.Display2D.Begin(); @@ -1278,7 +1278,7 @@ namespace CodeImp.DoomBuilder.Rendering graphics.Device.SetRenderState(RenderState.TextureFactor, -1); graphics.Shaders.Display2D.Texture1 = graphics.FontTexture; SetWorldTransformation(false); - graphics.Shaders.Display2D.SetSettings(1f, 1f, 0f, 1f); + graphics.Shaders.Display2D.SetSettings(1f, 1f, 0f, 1f, true); graphics.Device.SetTexture(0, graphics.FontTexture); graphics.Device.SetStreamSource(0, text.VertexBuffer, 0, FlatVertex.Stride); @@ -1343,7 +1343,7 @@ namespace CodeImp.DoomBuilder.Rendering SetWorldTransformation(false); graphics.Device.SetTexture(0, whitetexture.Texture); graphics.Shaders.Display2D.Texture1 = whitetexture.Texture; - graphics.Shaders.Display2D.SetSettings(1f, 1f, 0f, 1f); + graphics.Shaders.Display2D.SetSettings(1f, 1f, 0f, 1f, General.Settings.ClassicBilinear); // Draw graphics.Shaders.Display2D.Begin(); @@ -1381,7 +1381,7 @@ namespace CodeImp.DoomBuilder.Rendering SetWorldTransformation(false); graphics.Device.SetTexture(0, whitetexture.Texture); graphics.Shaders.Display2D.Texture1 = whitetexture.Texture; - graphics.Shaders.Display2D.SetSettings(1f, 1f, 0f, 1f); + graphics.Shaders.Display2D.SetSettings(1f, 1f, 0f, 1f, General.Settings.ClassicBilinear); // Draw graphics.Shaders.Display2D.Begin(); @@ -1434,7 +1434,7 @@ namespace CodeImp.DoomBuilder.Rendering SetWorldTransformation(false); graphics.Device.SetTexture(0, whitetexture.Texture); graphics.Shaders.Display2D.Texture1 = whitetexture.Texture; - graphics.Shaders.Display2D.SetSettings(1f, 1f, 0f, 1f); + graphics.Shaders.Display2D.SetSettings(1f, 1f, 0f, 1f, General.Settings.ClassicBilinear); // Draw graphics.Shaders.Display2D.Begin(); diff --git a/Source/Rendering/World3DShader.cs b/Source/Rendering/World3DShader.cs index f61184c7..42efc567 100644 --- a/Source/Rendering/World3DShader.cs +++ b/Source/Rendering/World3DShader.cs @@ -43,6 +43,8 @@ namespace CodeImp.DoomBuilder.Rendering // Property handlers private EffectHandle texture1; private EffectHandle worldviewproj; + private EffectHandle minfiltersettings; + private EffectHandle magfiltersettings; #endregion @@ -66,6 +68,8 @@ namespace CodeImp.DoomBuilder.Rendering { worldviewproj = effect.GetParameter(null, "worldviewproj"); texture1 = effect.GetParameter(null, "texture1"); + minfiltersettings = effect.GetParameter(null, "minfiltersettings"); + magfiltersettings = effect.GetParameter(null, "magfiltersettings"); } // Initialize world vertex declaration @@ -91,6 +95,8 @@ namespace CodeImp.DoomBuilder.Rendering // Clean up if(texture1 != null) texture1.Dispose(); if(worldviewproj != null) worldviewproj.Dispose(); + if(minfiltersettings != null) minfiltersettings.Dispose(); + if(magfiltersettings != null) magfiltersettings.Dispose(); // Done base.Dispose(); @@ -101,6 +107,24 @@ namespace CodeImp.DoomBuilder.Rendering #region ================== Methods + // This sets the constant settings + public void SetConstants(bool bilinear, bool useanisotropic) + { + if(manager.Enabled) + { + if(bilinear) + { + effect.SetValue(magfiltersettings, (int)TextureFilter.Linear); + if(useanisotropic) effect.SetValue(minfiltersettings, (int)TextureFilter.Anisotropic); + } + else + { + effect.SetValue(magfiltersettings, (int)TextureFilter.Point); + effect.SetValue(minfiltersettings, (int)TextureFilter.Point); + } + } + } + #endregion } } diff --git a/Source/Resources/Actions.cfg b/Source/Resources/Actions.cfg index e61deee1..760f26ae 100644 --- a/Source/Resources/Actions.cfg +++ b/Source/Resources/Actions.cfg @@ -7,6 +7,7 @@ categories { file = "File"; edit = "Edit"; + view = "View"; modes = "Modes"; tools = "Tools"; classic = "Classic Modes"; @@ -414,7 +415,7 @@ moveright testmap { title = "Test Map"; - category = "file"; + category = "tools"; description = "Starts the game and loads this map for playing."; allowkeys = true; allowmouse = false; @@ -423,7 +424,7 @@ testmap thingsfilterssetup { - title = "Setup Things Filters"; + title = "Configure Things Filters"; category = "tools"; description = "Shows the Things Filters setup dialog which allows you to add, remove and change the things filters."; allowkeys = true; @@ -664,9 +665,50 @@ assigngroup10 openscripteditor { title = "Script Editor"; - category = "tools"; + category = "view"; description = "This opens the script editor that allows you to edit any scripts in your map or any script files."; allowkeys = true; allowmouse = true; allowscroll = false; } + +viewmodenormal +{ + title = "View Wireframe"; + category = "view"; + description = "This sets the view mode to Wireframe. This shows only the map elements without any sector filling."; + allowkeys = true; + allowmouse = true; + allowscroll = false; +} + +viewmodebrightness +{ + title = "View Brightness Levels"; + category = "view"; + description = "This sets the view mode to Brightness Levels. This fills all sectors with their brightness levels."; + allowkeys = true; + allowmouse = true; + allowscroll = false; +} + +viewmodefloors +{ + title = "View Floor Textures"; + category = "view"; + description = "This sets the view mode to Floor Textures. In this view mode the sectors are filled with their floor texture and with their brightness level applied."; + allowkeys = true; + allowmouse = true; + allowscroll = false; +} + +viewmodeceilings +{ + title = "View Ceiling Textures"; + category = "view"; + description = "This sets the view mode to Ceiling Textures. In this view mode the sectors are filled with their ceiling texture and with their brightness level applied."; + allowkeys = true; + allowmouse = true; + allowscroll = false; +} + diff --git a/Source/Resources/display2d.fx b/Source/Resources/display2d.fx index 29c9849c..551aa7a9 100644 --- a/Source/Resources/display2d.fx +++ b/Source/Resources/display2d.fx @@ -27,6 +27,9 @@ float4 rendersettings; // Transform settings float4x4 transformsettings; +// Filter settings +dword filtersettings; + // Texture1 input texture texture1 < @@ -38,9 +41,9 @@ texture texture1 sampler2D texture1samp = sampler_state { Texture = ; - MagFilter = Point; - MinFilter = Point; - MipFilter = Point; + MagFilter = filtersettings; + MinFilter = filtersettings; + MipFilter = filtersettings; AddressU = Wrap; AddressV = Wrap; MipMapLodBias = 0.0f; diff --git a/Source/Resources/world3d.fx b/Source/Resources/world3d.fx index dd1b4781..cf6ac590 100644 --- a/Source/Resources/world3d.fx +++ b/Source/Resources/world3d.fx @@ -23,13 +23,17 @@ float4x4 worldviewproj; // Texture input texture texture1; +// Filter settings +dword minfiltersettings; +dword magfiltersettings; + // Texture sampler settings sampler2D texturesamp = sampler_state { Texture = ; - MagFilter = Linear; - MinFilter = Anisotropic; - MipFilter = Linear; + MagFilter = magfiltersettings; + MinFilter = minfiltersettings; + MipFilter = magfiltersettings; AddressU = Wrap; AddressV = Wrap; MipMapLodBias = 0.0f; diff --git a/Source/Windows/ConfigForm.Designer.cs b/Source/Windows/ConfigForm.Designer.cs index 8b9a51b4..7538f315 100644 --- a/Source/Windows/ConfigForm.Designer.cs +++ b/Source/Windows/ConfigForm.Designer.cs @@ -223,9 +223,9 @@ namespace CodeImp.DoomBuilder.Windows this.tabs.ItemSize = new System.Drawing.Size(100, 19); this.tabs.Location = new System.Drawing.Point(256, 12); this.tabs.Name = "tabs"; + this.tabs.Padding = new System.Drawing.Point(16, 3); this.tabs.SelectedIndex = 0; this.tabs.Size = new System.Drawing.Size(423, 345); - this.tabs.SizeMode = System.Windows.Forms.TabSizeMode.Fixed; this.tabs.TabIndex = 18; // // tabresources @@ -443,8 +443,8 @@ namespace CodeImp.DoomBuilder.Windows this.listtextures.TabIndex = 32; this.listtextures.UseCompatibleStateImageBehavior = false; this.listtextures.View = System.Windows.Forms.View.List; - this.listtextures.DoubleClick += new System.EventHandler(this.listtextures_DoubleClick); this.listtextures.SelectedIndexChanged += new System.EventHandler(this.listtextures_SelectedIndexChanged); + this.listtextures.DoubleClick += new System.EventHandler(this.listtextures_DoubleClick); // // smallimages // diff --git a/Source/Windows/ConfigForm.resx b/Source/Windows/ConfigForm.resx index f1502a71..e81ab22f 100644 --- a/Source/Windows/ConfigForm.resx +++ b/Source/Windows/ConfigForm.resx @@ -234,6 +234,51 @@ True + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + 159, 17 @@ -241,7 +286,7 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABA + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAA4 CAAAAk1TRnQBSQFMAwEBAAEEAQABBAEAARMBAAEQAQAE/wEJAQAI/wFCAU0BNgEEBgABNgEEAgABKAMA AUwDAAEQAwABAQEAAQgFAAHAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 @@ -271,13 +316,13 @@ AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/5sAAfcCrgFtAWwB6gJs - BGZAAAH3A/8C9QL0AxkBZkAAAbUC/wKTAZkBBwG7AbQCGQNmPgABtQL/AZMBmgF6AZ8BngG7AfQB8wFm - ARkBZj4AAbUC/wG7AQgCnwF+AXkC9AFsARkDZjwAAbUC/wLbAQkBCAF+AXkB9QH0AWwB8wFmARkBZjwA - AQcI/wL1AWwB9AFsARkBZjwAAgcEtQH3AbUC7QKRAfQBbAHzAWY+AAEHCP8C9QFsAfQBbD4AAgcEtQH3 - AbUC7QKRAfQBbEAAAQcI/wL1AWxAAAIHBLUB9wG1Au0CkdIAAUIBTQE+BwABPgMAASgDAAFMAwABEAMA - AQEBAAEBBQABwBcAA/8BAAL/AeAJAAL/AeAJAAHAAQMB4AkAAcABAwHgCQABwAEAAeAJAAHAAQAB4AkA - AcABAAEgCQABwAEAASAJAAHAAQABIAkAAcABAAEgCQAB8AEAASAJAAHwAQABIAkAAfwBAAEgCQAB/AEA - ASAJAAL/AeAJAAL/AeAJAAs= + BGZAAAH3Bf8C9AMZAWZAAAG1Av8CkwGZAQcBuwG0AhkDZj4AAbUC/wGTAZoBegGfAZ4BuwH0AfMBZgEZ + AWY+AAG1Av8BuwEIAp8BfgF5AvQBbAEZA2Y8AAG1Av8C2wEJAQgBfgF5Af8B9AFsAfMBZgEZAWY8AAEH + Cv8BbAH0AWwBGQFmPAACBwS1AfcBtQLtApEB9AFsAfMBZj4AAQcK/wFsAfQBbD4AAgcEtQH3AbUC7QKR + AfQBbEAAAQcK/wFsQAACBwS1AfcBtQLtApHSAAFCAU0BPgcAAT4DAAEoAwABTAMAARADAAEBAQABAQUA + AcAXAAP/AQAC/wHgCQAC/wHgCQABwAEDAeAJAAHAAQMB4AkAAcABAAHgCQABwAEAAeAJAAHAAQABIAkA + AcABAAEgCQABwAEAASAJAAHAAQABIAkAAfABAAEgCQAB8AEAASAJAAH8AQABIAkAAfwBAAEgCQAC/wHg + CQAC/wHgCQAL diff --git a/Source/Windows/MainForm.Designer.cs b/Source/Windows/MainForm.Designer.cs index 05cc0715..cbe2c78b 100644 --- a/Source/Windows/MainForm.Designer.cs +++ b/Source/Windows/MainForm.Designer.cs @@ -30,10 +30,8 @@ namespace CodeImp.DoomBuilder.Windows { this.components = new System.ComponentModel.Container(); System.Windows.Forms.ToolStripSeparator toolStripMenuItem1; - System.Windows.Forms.ToolStripSeparator toolStripMenuItem2; System.Windows.Forms.ToolStripSeparator toolStripMenuItem3; System.Windows.Forms.ToolStripSeparator toolStripSeparator1; - System.Windows.Forms.ToolStripSeparator toolStripSeparator4; System.Windows.Forms.ToolStripSeparator toolStripSeparator9; System.Windows.Forms.ToolStripSeparator toolStripSeparator3; System.Windows.Forms.ToolStripSeparator toolStripSeparator10; @@ -56,7 +54,6 @@ namespace CodeImp.DoomBuilder.Windows this.itemsavemapas = new System.Windows.Forms.ToolStripMenuItem(); this.itemsavemapinto = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripMenuItem5 = new System.Windows.Forms.ToolStripSeparator(); - this.itemtestmap = new System.Windows.Forms.ToolStripMenuItem(); this.itemnorecent = new System.Windows.Forms.ToolStripMenuItem(); this.itemexit = new System.Windows.Forms.ToolStripMenuItem(); this.menuedit = new System.Windows.Forms.ToolStripMenuItem(); @@ -73,11 +70,19 @@ namespace CodeImp.DoomBuilder.Windows this.itemgriddec = new System.Windows.Forms.ToolStripMenuItem(); this.itemgridsetup = new System.Windows.Forms.ToolStripMenuItem(); this.itemmapoptions = new System.Windows.Forms.ToolStripMenuItem(); + this.menuview = new System.Windows.Forms.ToolStripMenuItem(); + this.itemthingsfilter = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem9 = new System.Windows.Forms.ToolStripSeparator(); + this.itemviewnormal = new System.Windows.Forms.ToolStripMenuItem(); + this.itemviewbrightness = new System.Windows.Forms.ToolStripMenuItem(); + this.itemviewfloors = new System.Windows.Forms.ToolStripMenuItem(); + this.itemviewceilings = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem10 = new System.Windows.Forms.ToolStripSeparator(); + this.itemscripteditor = new System.Windows.Forms.ToolStripMenuItem(); this.menumode = new System.Windows.Forms.ToolStripMenuItem(); this.menutools = new System.Windows.Forms.ToolStripMenuItem(); this.itemreloadresources = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripMenuItem8 = new System.Windows.Forms.ToolStripSeparator(); - this.itemscripteditor = new System.Windows.Forms.ToolStripMenuItem(); this.configurationToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.preferencesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.menuhelp = new System.Windows.Forms.ToolStripMenuItem(); @@ -143,11 +148,11 @@ namespace CodeImp.DoomBuilder.Windows this.processor = new System.Windows.Forms.Timer(this.components); this.warningtimer = new System.Windows.Forms.Timer(this.components); this.warningflasher = new System.Windows.Forms.Timer(this.components); + this.toolStripMenuItem11 = new System.Windows.Forms.ToolStripSeparator(); + this.itemtestmap = new System.Windows.Forms.ToolStripMenuItem(); toolStripMenuItem1 = new System.Windows.Forms.ToolStripSeparator(); - toolStripMenuItem2 = new System.Windows.Forms.ToolStripSeparator(); toolStripMenuItem3 = new System.Windows.Forms.ToolStripSeparator(); toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); - toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator(); toolStripSeparator9 = new System.Windows.Forms.ToolStripSeparator(); toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); toolStripSeparator10 = new System.Windows.Forms.ToolStripSeparator(); @@ -166,18 +171,15 @@ namespace CodeImp.DoomBuilder.Windows // // toolStripMenuItem1 // + toolStripMenuItem1.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); toolStripMenuItem1.Name = "toolStripMenuItem1"; - toolStripMenuItem1.Size = new System.Drawing.Size(187, 6); - // - // toolStripMenuItem2 - // - toolStripMenuItem2.Name = "toolStripMenuItem2"; - toolStripMenuItem2.Size = new System.Drawing.Size(187, 6); + toolStripMenuItem1.Size = new System.Drawing.Size(198, 6); // // toolStripMenuItem3 // + toolStripMenuItem3.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); toolStripMenuItem3.Name = "toolStripMenuItem3"; - toolStripMenuItem3.Size = new System.Drawing.Size(187, 6); + toolStripMenuItem3.Size = new System.Drawing.Size(198, 6); // // toolStripSeparator1 // @@ -185,11 +187,6 @@ namespace CodeImp.DoomBuilder.Windows toolStripSeparator1.Name = "toolStripSeparator1"; toolStripSeparator1.Size = new System.Drawing.Size(6, 23); // - // toolStripSeparator4 - // - toolStripSeparator4.Name = "toolStripSeparator4"; - toolStripSeparator4.Size = new System.Drawing.Size(183, 6); - // // toolStripSeparator9 // toolStripSeparator9.Margin = new System.Windows.Forms.Padding(3, 0, 3, 0); @@ -210,8 +207,9 @@ namespace CodeImp.DoomBuilder.Windows // // toolStripSeparator11 // + toolStripSeparator11.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); toolStripSeparator11.Name = "toolStripSeparator11"; - toolStripSeparator11.Size = new System.Drawing.Size(151, 6); + toolStripSeparator11.Size = new System.Drawing.Size(162, 6); // // toolstripSeperator1 // @@ -221,8 +219,9 @@ namespace CodeImp.DoomBuilder.Windows // // toolstripSeperator6 // + toolstripSeperator6.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); toolstripSeperator6.Name = "toolstripSeperator6"; - toolstripSeperator6.Size = new System.Drawing.Size(151, 6); + toolstripSeperator6.Size = new System.Drawing.Size(162, 6); // // toolStripSeparator7 // @@ -239,12 +238,12 @@ namespace CodeImp.DoomBuilder.Windows // toolStripMenuItem4 // toolStripMenuItem4.Name = "toolStripMenuItem4"; - toolStripMenuItem4.Size = new System.Drawing.Size(150, 6); + toolStripMenuItem4.Size = new System.Drawing.Size(161, 6); // // toolStripSeparator2 // toolStripSeparator2.Name = "toolStripSeparator2"; - toolStripSeparator2.Size = new System.Drawing.Size(153, 6); + toolStripSeparator2.Size = new System.Drawing.Size(164, 6); // // buttoneditmodesseperator // @@ -264,6 +263,7 @@ namespace CodeImp.DoomBuilder.Windows this.menumain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.menufile, this.menuedit, + this.menuview, this.menumode, this.menutools, this.menuhelp}); @@ -283,8 +283,6 @@ namespace CodeImp.DoomBuilder.Windows this.itemsavemapas, this.itemsavemapinto, this.toolStripMenuItem5, - this.itemtestmap, - toolStripMenuItem2, this.itemnorecent, toolStripMenuItem3, this.itemexit}); @@ -297,7 +295,7 @@ namespace CodeImp.DoomBuilder.Windows this.itemnewmap.Image = global::CodeImp.DoomBuilder.Properties.Resources.File; this.itemnewmap.Name = "itemnewmap"; this.itemnewmap.ShortcutKeyDisplayString = ""; - this.itemnewmap.Size = new System.Drawing.Size(190, 22); + this.itemnewmap.Size = new System.Drawing.Size(201, 22); this.itemnewmap.Tag = "builder_newmap"; this.itemnewmap.Text = "New Map"; this.itemnewmap.Click += new System.EventHandler(this.InvokeTaggedAction); @@ -306,7 +304,7 @@ namespace CodeImp.DoomBuilder.Windows // this.itemopenmap.Image = global::CodeImp.DoomBuilder.Properties.Resources.OpenMap; this.itemopenmap.Name = "itemopenmap"; - this.itemopenmap.Size = new System.Drawing.Size(190, 22); + this.itemopenmap.Size = new System.Drawing.Size(201, 22); this.itemopenmap.Tag = "builder_openmap"; this.itemopenmap.Text = "Open Map..."; this.itemopenmap.Click += new System.EventHandler(this.InvokeTaggedAction); @@ -314,7 +312,7 @@ namespace CodeImp.DoomBuilder.Windows // itemclosemap // this.itemclosemap.Name = "itemclosemap"; - this.itemclosemap.Size = new System.Drawing.Size(190, 22); + this.itemclosemap.Size = new System.Drawing.Size(201, 22); this.itemclosemap.Tag = "builder_closemap"; this.itemclosemap.Text = "Close Map"; this.itemclosemap.Click += new System.EventHandler(this.InvokeTaggedAction); @@ -323,7 +321,7 @@ namespace CodeImp.DoomBuilder.Windows // this.itemsavemap.Image = global::CodeImp.DoomBuilder.Properties.Resources.SaveMap; this.itemsavemap.Name = "itemsavemap"; - this.itemsavemap.Size = new System.Drawing.Size(190, 22); + this.itemsavemap.Size = new System.Drawing.Size(201, 22); this.itemsavemap.Tag = "builder_savemap"; this.itemsavemap.Text = "Save Map"; this.itemsavemap.Click += new System.EventHandler(this.InvokeTaggedAction); @@ -331,7 +329,7 @@ namespace CodeImp.DoomBuilder.Windows // itemsavemapas // this.itemsavemapas.Name = "itemsavemapas"; - this.itemsavemapas.Size = new System.Drawing.Size(190, 22); + this.itemsavemapas.Size = new System.Drawing.Size(201, 22); this.itemsavemapas.Tag = "builder_savemapas"; this.itemsavemapas.Text = "Save Map As..."; this.itemsavemapas.Click += new System.EventHandler(this.InvokeTaggedAction); @@ -339,36 +337,28 @@ namespace CodeImp.DoomBuilder.Windows // itemsavemapinto // this.itemsavemapinto.Name = "itemsavemapinto"; - this.itemsavemapinto.Size = new System.Drawing.Size(190, 22); + this.itemsavemapinto.Size = new System.Drawing.Size(201, 22); this.itemsavemapinto.Tag = "builder_savemapinto"; this.itemsavemapinto.Text = "Save Map Into..."; this.itemsavemapinto.Click += new System.EventHandler(this.InvokeTaggedAction); // // toolStripMenuItem5 // + this.toolStripMenuItem5.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); this.toolStripMenuItem5.Name = "toolStripMenuItem5"; - this.toolStripMenuItem5.Size = new System.Drawing.Size(187, 6); - // - // itemtestmap - // - this.itemtestmap.Image = global::CodeImp.DoomBuilder.Properties.Resources.Test; - this.itemtestmap.Name = "itemtestmap"; - this.itemtestmap.Size = new System.Drawing.Size(190, 22); - this.itemtestmap.Tag = "builder_testmap"; - this.itemtestmap.Text = "Test Map"; - this.itemtestmap.Click += new System.EventHandler(this.InvokeTaggedAction); + this.toolStripMenuItem5.Size = new System.Drawing.Size(198, 6); // // itemnorecent // this.itemnorecent.Enabled = false; this.itemnorecent.Name = "itemnorecent"; - this.itemnorecent.Size = new System.Drawing.Size(190, 22); + this.itemnorecent.Size = new System.Drawing.Size(201, 22); this.itemnorecent.Text = "No recently opened files"; // // itemexit // this.itemexit.Name = "itemexit"; - this.itemexit.Size = new System.Drawing.Size(190, 22); + this.itemexit.Size = new System.Drawing.Size(201, 22); this.itemexit.Text = "Exit"; this.itemexit.Click += new System.EventHandler(this.itemexit_Click); // @@ -398,7 +388,7 @@ namespace CodeImp.DoomBuilder.Windows // this.itemundo.Image = global::CodeImp.DoomBuilder.Properties.Resources.Undo; this.itemundo.Name = "itemundo"; - this.itemundo.Size = new System.Drawing.Size(154, 22); + this.itemundo.Size = new System.Drawing.Size(165, 22); this.itemundo.Tag = "builder_undo"; this.itemundo.Text = "Undo"; this.itemundo.Click += new System.EventHandler(this.InvokeTaggedAction); @@ -407,21 +397,22 @@ namespace CodeImp.DoomBuilder.Windows // this.itemredo.Image = global::CodeImp.DoomBuilder.Properties.Resources.Redo; this.itemredo.Name = "itemredo"; - this.itemredo.Size = new System.Drawing.Size(154, 22); + this.itemredo.Size = new System.Drawing.Size(165, 22); this.itemredo.Tag = "builder_redo"; this.itemredo.Text = "Redo"; this.itemredo.Click += new System.EventHandler(this.InvokeTaggedAction); // // toolStripMenuItem7 // + this.toolStripMenuItem7.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); this.toolStripMenuItem7.Name = "toolStripMenuItem7"; - this.toolStripMenuItem7.Size = new System.Drawing.Size(151, 6); + this.toolStripMenuItem7.Size = new System.Drawing.Size(162, 6); // // itemcut // this.itemcut.Image = global::CodeImp.DoomBuilder.Properties.Resources.Cut; this.itemcut.Name = "itemcut"; - this.itemcut.Size = new System.Drawing.Size(154, 22); + this.itemcut.Size = new System.Drawing.Size(165, 22); this.itemcut.Tag = "builder_cutselection"; this.itemcut.Text = "Cut"; this.itemcut.Click += new System.EventHandler(this.InvokeTaggedAction); @@ -430,7 +421,7 @@ namespace CodeImp.DoomBuilder.Windows // this.itemcopy.Image = global::CodeImp.DoomBuilder.Properties.Resources.Copy; this.itemcopy.Name = "itemcopy"; - this.itemcopy.Size = new System.Drawing.Size(154, 22); + this.itemcopy.Size = new System.Drawing.Size(165, 22); this.itemcopy.Tag = "builder_copyselection"; this.itemcopy.Text = "Copy"; this.itemcopy.Click += new System.EventHandler(this.InvokeTaggedAction); @@ -439,7 +430,7 @@ namespace CodeImp.DoomBuilder.Windows // this.itempaste.Image = global::CodeImp.DoomBuilder.Properties.Resources.Paste; this.itempaste.Name = "itempaste"; - this.itempaste.Size = new System.Drawing.Size(154, 22); + this.itempaste.Size = new System.Drawing.Size(165, 22); this.itempaste.Tag = "builder_pasteselection"; this.itempaste.Text = "Paste"; this.itempaste.Click += new System.EventHandler(this.InvokeTaggedAction); @@ -450,7 +441,7 @@ namespace CodeImp.DoomBuilder.Windows this.itemsnaptogrid.CheckState = System.Windows.Forms.CheckState.Checked; this.itemsnaptogrid.Image = global::CodeImp.DoomBuilder.Properties.Resources.Grid4; this.itemsnaptogrid.Name = "itemsnaptogrid"; - this.itemsnaptogrid.Size = new System.Drawing.Size(154, 22); + this.itemsnaptogrid.Size = new System.Drawing.Size(165, 22); this.itemsnaptogrid.Tag = "builder_togglesnap"; this.itemsnaptogrid.Text = "Snap to Grid"; this.itemsnaptogrid.Click += new System.EventHandler(this.InvokeTaggedAction); @@ -461,20 +452,21 @@ namespace CodeImp.DoomBuilder.Windows this.itemautomerge.CheckState = System.Windows.Forms.CheckState.Checked; this.itemautomerge.Image = global::CodeImp.DoomBuilder.Properties.Resources.mergegeometry2; this.itemautomerge.Name = "itemautomerge"; - this.itemautomerge.Size = new System.Drawing.Size(154, 22); + this.itemautomerge.Size = new System.Drawing.Size(165, 22); this.itemautomerge.Tag = "builder_toggleautomerge"; this.itemautomerge.Text = "Merge Geometry"; this.itemautomerge.Click += new System.EventHandler(this.InvokeTaggedAction); // // toolStripMenuItem6 // + this.toolStripMenuItem6.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); this.toolStripMenuItem6.Name = "toolStripMenuItem6"; - this.toolStripMenuItem6.Size = new System.Drawing.Size(151, 6); + this.toolStripMenuItem6.Size = new System.Drawing.Size(162, 6); // // itemgridinc // this.itemgridinc.Name = "itemgridinc"; - this.itemgridinc.Size = new System.Drawing.Size(154, 22); + this.itemgridinc.Size = new System.Drawing.Size(165, 22); this.itemgridinc.Tag = "builder_gridinc"; this.itemgridinc.Text = "Increase Grid"; this.itemgridinc.Click += new System.EventHandler(this.InvokeTaggedAction); @@ -482,7 +474,7 @@ namespace CodeImp.DoomBuilder.Windows // itemgriddec // this.itemgriddec.Name = "itemgriddec"; - this.itemgriddec.Size = new System.Drawing.Size(154, 22); + this.itemgriddec.Size = new System.Drawing.Size(165, 22); this.itemgriddec.Tag = "builder_griddec"; this.itemgriddec.Text = "Decrease Grid"; this.itemgriddec.Click += new System.EventHandler(this.InvokeTaggedAction); @@ -491,7 +483,7 @@ namespace CodeImp.DoomBuilder.Windows // this.itemgridsetup.Image = global::CodeImp.DoomBuilder.Properties.Resources.Grid2; this.itemgridsetup.Name = "itemgridsetup"; - this.itemgridsetup.Size = new System.Drawing.Size(154, 22); + this.itemgridsetup.Size = new System.Drawing.Size(165, 22); this.itemgridsetup.Tag = "builder_gridsetup"; this.itemgridsetup.Text = "Grid Setup..."; this.itemgridsetup.Click += new System.EventHandler(this.InvokeTaggedAction); @@ -500,11 +492,92 @@ namespace CodeImp.DoomBuilder.Windows // this.itemmapoptions.Image = global::CodeImp.DoomBuilder.Properties.Resources.Properties; this.itemmapoptions.Name = "itemmapoptions"; - this.itemmapoptions.Size = new System.Drawing.Size(154, 22); + this.itemmapoptions.Size = new System.Drawing.Size(165, 22); this.itemmapoptions.Tag = "builder_mapoptions"; this.itemmapoptions.Text = "Map Options...."; this.itemmapoptions.Click += new System.EventHandler(this.InvokeTaggedAction); // + // menuview + // + this.menuview.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.itemthingsfilter, + this.toolStripMenuItem9, + this.itemviewnormal, + this.itemviewbrightness, + this.itemviewfloors, + this.itemviewceilings, + this.toolStripMenuItem10, + this.itemscripteditor}); + this.menuview.Name = "menuview"; + this.menuview.Size = new System.Drawing.Size(41, 20); + this.menuview.Text = "View"; + // + // itemthingsfilter + // + this.itemthingsfilter.Image = global::CodeImp.DoomBuilder.Properties.Resources.Filter; + this.itemthingsfilter.Name = "itemthingsfilter"; + this.itemthingsfilter.Size = new System.Drawing.Size(210, 22); + this.itemthingsfilter.Tag = "builder_thingsfilterssetup"; + this.itemthingsfilter.Text = "Configure Things Filters..."; + this.itemthingsfilter.Click += new System.EventHandler(this.InvokeTaggedAction); + // + // toolStripMenuItem9 + // + this.toolStripMenuItem9.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); + this.toolStripMenuItem9.Name = "toolStripMenuItem9"; + this.toolStripMenuItem9.Size = new System.Drawing.Size(207, 6); + // + // itemviewnormal + // + this.itemviewnormal.Image = global::CodeImp.DoomBuilder.Properties.Resources.ViewNormal; + this.itemviewnormal.Name = "itemviewnormal"; + this.itemviewnormal.Size = new System.Drawing.Size(210, 22); + this.itemviewnormal.Tag = "builder_viewmodenormal"; + this.itemviewnormal.Text = "Wireframe"; + this.itemviewnormal.Click += new System.EventHandler(this.InvokeTaggedAction); + // + // itemviewbrightness + // + this.itemviewbrightness.Image = global::CodeImp.DoomBuilder.Properties.Resources.ViewBrightness; + this.itemviewbrightness.Name = "itemviewbrightness"; + this.itemviewbrightness.Size = new System.Drawing.Size(210, 22); + this.itemviewbrightness.Tag = "builder_viewmodebrightness"; + this.itemviewbrightness.Text = "Brightness Levels"; + this.itemviewbrightness.Click += new System.EventHandler(this.InvokeTaggedAction); + // + // itemviewfloors + // + this.itemviewfloors.Image = global::CodeImp.DoomBuilder.Properties.Resources.ViewTextureFloor; + this.itemviewfloors.Name = "itemviewfloors"; + this.itemviewfloors.Size = new System.Drawing.Size(210, 22); + this.itemviewfloors.Tag = "builder_viewmodefloors"; + this.itemviewfloors.Text = "Floor Textures"; + this.itemviewfloors.Click += new System.EventHandler(this.InvokeTaggedAction); + // + // itemviewceilings + // + this.itemviewceilings.Image = global::CodeImp.DoomBuilder.Properties.Resources.ViewTextureCeiling; + this.itemviewceilings.Name = "itemviewceilings"; + this.itemviewceilings.Size = new System.Drawing.Size(210, 22); + this.itemviewceilings.Tag = "builder_viewmodeceilings"; + this.itemviewceilings.Text = "Ceiling Textures"; + this.itemviewceilings.Click += new System.EventHandler(this.InvokeTaggedAction); + // + // toolStripMenuItem10 + // + this.toolStripMenuItem10.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); + this.toolStripMenuItem10.Name = "toolStripMenuItem10"; + this.toolStripMenuItem10.Size = new System.Drawing.Size(207, 6); + // + // itemscripteditor + // + this.itemscripteditor.Image = global::CodeImp.DoomBuilder.Properties.Resources.Script2; + this.itemscripteditor.Name = "itemscripteditor"; + this.itemscripteditor.Size = new System.Drawing.Size(210, 22); + this.itemscripteditor.Tag = "builder_openscripteditor"; + this.itemscripteditor.Text = "Script Editor..."; + this.itemscripteditor.Click += new System.EventHandler(this.InvokeTaggedAction); + // // menumode // this.menumode.Name = "menumode"; @@ -516,10 +589,10 @@ namespace CodeImp.DoomBuilder.Windows this.menutools.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.itemreloadresources, this.toolStripMenuItem8, - this.itemscripteditor, - toolStripSeparator4, this.configurationToolStripMenuItem, - this.preferencesToolStripMenuItem}); + this.preferencesToolStripMenuItem, + this.toolStripMenuItem11, + this.itemtestmap}); this.menutools.Name = "menutools"; this.menutools.Size = new System.Drawing.Size(44, 20); this.menutools.Text = "Tools"; @@ -527,29 +600,21 @@ namespace CodeImp.DoomBuilder.Windows // itemreloadresources // this.itemreloadresources.Name = "itemreloadresources"; - this.itemreloadresources.Size = new System.Drawing.Size(186, 22); + this.itemreloadresources.Size = new System.Drawing.Size(197, 22); this.itemreloadresources.Tag = "builder_reloadresources"; this.itemreloadresources.Text = "Reload Resources"; this.itemreloadresources.Click += new System.EventHandler(this.InvokeTaggedAction); // // toolStripMenuItem8 // + this.toolStripMenuItem8.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); this.toolStripMenuItem8.Name = "toolStripMenuItem8"; - this.toolStripMenuItem8.Size = new System.Drawing.Size(183, 6); - // - // itemscripteditor - // - this.itemscripteditor.Image = global::CodeImp.DoomBuilder.Properties.Resources.Script2; - this.itemscripteditor.Name = "itemscripteditor"; - this.itemscripteditor.Size = new System.Drawing.Size(186, 22); - this.itemscripteditor.Tag = "builder_openscripteditor"; - this.itemscripteditor.Text = "Script Editor"; - this.itemscripteditor.Click += new System.EventHandler(this.InvokeTaggedAction); + this.toolStripMenuItem8.Size = new System.Drawing.Size(194, 6); // // configurationToolStripMenuItem // this.configurationToolStripMenuItem.Name = "configurationToolStripMenuItem"; - this.configurationToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.configurationToolStripMenuItem.Size = new System.Drawing.Size(197, 22); this.configurationToolStripMenuItem.Tag = "builder_configuration"; this.configurationToolStripMenuItem.Text = "Game Configurations..."; this.configurationToolStripMenuItem.Click += new System.EventHandler(this.InvokeTaggedAction); @@ -557,7 +622,7 @@ namespace CodeImp.DoomBuilder.Windows // preferencesToolStripMenuItem // this.preferencesToolStripMenuItem.Name = "preferencesToolStripMenuItem"; - this.preferencesToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.preferencesToolStripMenuItem.Size = new System.Drawing.Size(197, 22); this.preferencesToolStripMenuItem.Tag = "builder_preferences"; this.preferencesToolStripMenuItem.Text = "Preferences..."; this.preferencesToolStripMenuItem.Click += new System.EventHandler(this.InvokeTaggedAction); @@ -573,7 +638,7 @@ namespace CodeImp.DoomBuilder.Windows // itemhelpabout // this.itemhelpabout.Name = "itemhelpabout"; - this.itemhelpabout.Size = new System.Drawing.Size(180, 22); + this.itemhelpabout.Size = new System.Drawing.Size(191, 22); this.itemhelpabout.Text = "About Doom Builder..."; this.itemhelpabout.Click += new System.EventHandler(this.itemhelpabout_Click); // @@ -762,9 +827,9 @@ namespace CodeImp.DoomBuilder.Windows this.buttonviewnormal.ImageTransparentColor = System.Drawing.Color.Magenta; this.buttonviewnormal.Name = "buttonviewnormal"; this.buttonviewnormal.Size = new System.Drawing.Size(23, 22); - this.buttonviewnormal.Tag = "0"; + this.buttonviewnormal.Tag = "builder_viewmodenormal"; this.buttonviewnormal.Text = "View Wireframe"; - this.buttonviewnormal.Click += new System.EventHandler(this.ViewModeButtonClick); + this.buttonviewnormal.Click += new System.EventHandler(this.InvokeTaggedAction); // // buttonviewbrightness // @@ -774,9 +839,9 @@ namespace CodeImp.DoomBuilder.Windows this.buttonviewbrightness.ImageTransparentColor = System.Drawing.Color.Magenta; this.buttonviewbrightness.Name = "buttonviewbrightness"; this.buttonviewbrightness.Size = new System.Drawing.Size(23, 22); - this.buttonviewbrightness.Tag = "1"; + this.buttonviewbrightness.Tag = "builder_viewmodebrightness"; this.buttonviewbrightness.Text = "View Brightness Levels"; - this.buttonviewbrightness.Click += new System.EventHandler(this.ViewModeButtonClick); + this.buttonviewbrightness.Click += new System.EventHandler(this.InvokeTaggedAction); // // buttonviewfloors // @@ -786,9 +851,9 @@ namespace CodeImp.DoomBuilder.Windows this.buttonviewfloors.ImageTransparentColor = System.Drawing.Color.Magenta; this.buttonviewfloors.Name = "buttonviewfloors"; this.buttonviewfloors.Size = new System.Drawing.Size(23, 22); - this.buttonviewfloors.Tag = "2"; + this.buttonviewfloors.Tag = "builder_viewmodefloors"; this.buttonviewfloors.Text = "View Floor Textures"; - this.buttonviewfloors.Click += new System.EventHandler(this.ViewModeButtonClick); + this.buttonviewfloors.Click += new System.EventHandler(this.InvokeTaggedAction); // // buttonviewceilings // @@ -798,9 +863,9 @@ namespace CodeImp.DoomBuilder.Windows this.buttonviewceilings.ImageTransparentColor = System.Drawing.Color.Magenta; this.buttonviewceilings.Name = "buttonviewceilings"; this.buttonviewceilings.Size = new System.Drawing.Size(23, 22); - this.buttonviewceilings.Tag = "3"; + this.buttonviewceilings.Tag = "builder_viewmodeceilings"; this.buttonviewceilings.Text = "View Ceiling Textures"; - this.buttonviewceilings.Click += new System.EventHandler(this.ViewModeButtonClick); + this.buttonviewceilings.Click += new System.EventHandler(this.InvokeTaggedAction); // // toolStripSeparator8 // @@ -952,7 +1017,7 @@ namespace CodeImp.DoomBuilder.Windows // itemgrid1024 // this.itemgrid1024.Name = "itemgrid1024"; - this.itemgrid1024.Size = new System.Drawing.Size(153, 22); + this.itemgrid1024.Size = new System.Drawing.Size(164, 22); this.itemgrid1024.Tag = "1024"; this.itemgrid1024.Text = "1024 mp"; this.itemgrid1024.Click += new System.EventHandler(this.itemgridsize_Click); @@ -960,7 +1025,7 @@ namespace CodeImp.DoomBuilder.Windows // itemgrid512 // this.itemgrid512.Name = "itemgrid512"; - this.itemgrid512.Size = new System.Drawing.Size(153, 22); + this.itemgrid512.Size = new System.Drawing.Size(164, 22); this.itemgrid512.Tag = "512"; this.itemgrid512.Text = "512 mp"; this.itemgrid512.Click += new System.EventHandler(this.itemgridsize_Click); @@ -968,7 +1033,7 @@ namespace CodeImp.DoomBuilder.Windows // itemgrid256 // this.itemgrid256.Name = "itemgrid256"; - this.itemgrid256.Size = new System.Drawing.Size(153, 22); + this.itemgrid256.Size = new System.Drawing.Size(164, 22); this.itemgrid256.Tag = "256"; this.itemgrid256.Text = "256 mp"; this.itemgrid256.Click += new System.EventHandler(this.itemgridsize_Click); @@ -976,7 +1041,7 @@ namespace CodeImp.DoomBuilder.Windows // itemgrid128 // this.itemgrid128.Name = "itemgrid128"; - this.itemgrid128.Size = new System.Drawing.Size(153, 22); + this.itemgrid128.Size = new System.Drawing.Size(164, 22); this.itemgrid128.Tag = "128"; this.itemgrid128.Text = "128 mp"; this.itemgrid128.Click += new System.EventHandler(this.itemgridsize_Click); @@ -984,7 +1049,7 @@ namespace CodeImp.DoomBuilder.Windows // itemgrid64 // this.itemgrid64.Name = "itemgrid64"; - this.itemgrid64.Size = new System.Drawing.Size(153, 22); + this.itemgrid64.Size = new System.Drawing.Size(164, 22); this.itemgrid64.Tag = "64"; this.itemgrid64.Text = "64 mp"; this.itemgrid64.Click += new System.EventHandler(this.itemgridsize_Click); @@ -992,7 +1057,7 @@ namespace CodeImp.DoomBuilder.Windows // itemgrid32 // this.itemgrid32.Name = "itemgrid32"; - this.itemgrid32.Size = new System.Drawing.Size(153, 22); + this.itemgrid32.Size = new System.Drawing.Size(164, 22); this.itemgrid32.Tag = "32"; this.itemgrid32.Text = "32 mp"; this.itemgrid32.Click += new System.EventHandler(this.itemgridsize_Click); @@ -1000,7 +1065,7 @@ namespace CodeImp.DoomBuilder.Windows // itemgrid16 // this.itemgrid16.Name = "itemgrid16"; - this.itemgrid16.Size = new System.Drawing.Size(153, 22); + this.itemgrid16.Size = new System.Drawing.Size(164, 22); this.itemgrid16.Tag = "16"; this.itemgrid16.Text = "16 mp"; this.itemgrid16.Click += new System.EventHandler(this.itemgridsize_Click); @@ -1008,7 +1073,7 @@ namespace CodeImp.DoomBuilder.Windows // itemgrid8 // this.itemgrid8.Name = "itemgrid8"; - this.itemgrid8.Size = new System.Drawing.Size(153, 22); + this.itemgrid8.Size = new System.Drawing.Size(164, 22); this.itemgrid8.Tag = "8"; this.itemgrid8.Text = "8 mp"; this.itemgrid8.Click += new System.EventHandler(this.itemgridsize_Click); @@ -1016,7 +1081,7 @@ namespace CodeImp.DoomBuilder.Windows // itemgrid4 // this.itemgrid4.Name = "itemgrid4"; - this.itemgrid4.Size = new System.Drawing.Size(153, 22); + this.itemgrid4.Size = new System.Drawing.Size(164, 22); this.itemgrid4.Tag = "4"; this.itemgrid4.Text = "4 mp"; this.itemgrid4.Click += new System.EventHandler(this.itemgridsize_Click); @@ -1024,7 +1089,7 @@ namespace CodeImp.DoomBuilder.Windows // itemgridcustom // this.itemgridcustom.Name = "itemgridcustom"; - this.itemgridcustom.Size = new System.Drawing.Size(153, 22); + this.itemgridcustom.Size = new System.Drawing.Size(164, 22); this.itemgridcustom.Text = "Customize..."; this.itemgridcustom.Click += new System.EventHandler(this.itemgridcustom_Click); // @@ -1063,7 +1128,7 @@ namespace CodeImp.DoomBuilder.Windows // itemzoom200 // this.itemzoom200.Name = "itemzoom200"; - this.itemzoom200.Size = new System.Drawing.Size(156, 22); + this.itemzoom200.Size = new System.Drawing.Size(167, 22); this.itemzoom200.Tag = "200"; this.itemzoom200.Text = "200%"; this.itemzoom200.Click += new System.EventHandler(this.itemzoomto_Click); @@ -1071,7 +1136,7 @@ namespace CodeImp.DoomBuilder.Windows // itemzoom100 // this.itemzoom100.Name = "itemzoom100"; - this.itemzoom100.Size = new System.Drawing.Size(156, 22); + this.itemzoom100.Size = new System.Drawing.Size(167, 22); this.itemzoom100.Tag = "100"; this.itemzoom100.Text = "100%"; this.itemzoom100.Click += new System.EventHandler(this.itemzoomto_Click); @@ -1079,7 +1144,7 @@ namespace CodeImp.DoomBuilder.Windows // itemzoom50 // this.itemzoom50.Name = "itemzoom50"; - this.itemzoom50.Size = new System.Drawing.Size(156, 22); + this.itemzoom50.Size = new System.Drawing.Size(167, 22); this.itemzoom50.Tag = "50"; this.itemzoom50.Text = "50%"; this.itemzoom50.Click += new System.EventHandler(this.itemzoomto_Click); @@ -1087,7 +1152,7 @@ namespace CodeImp.DoomBuilder.Windows // itemzoom25 // this.itemzoom25.Name = "itemzoom25"; - this.itemzoom25.Size = new System.Drawing.Size(156, 22); + this.itemzoom25.Size = new System.Drawing.Size(167, 22); this.itemzoom25.Tag = "25"; this.itemzoom25.Text = "25%"; this.itemzoom25.Click += new System.EventHandler(this.itemzoomto_Click); @@ -1095,7 +1160,7 @@ namespace CodeImp.DoomBuilder.Windows // itemzoom10 // this.itemzoom10.Name = "itemzoom10"; - this.itemzoom10.Size = new System.Drawing.Size(156, 22); + this.itemzoom10.Size = new System.Drawing.Size(167, 22); this.itemzoom10.Tag = "10"; this.itemzoom10.Text = "10%"; this.itemzoom10.Click += new System.EventHandler(this.itemzoomto_Click); @@ -1103,7 +1168,7 @@ namespace CodeImp.DoomBuilder.Windows // itemzoom5 // this.itemzoom5.Name = "itemzoom5"; - this.itemzoom5.Size = new System.Drawing.Size(156, 22); + this.itemzoom5.Size = new System.Drawing.Size(167, 22); this.itemzoom5.Tag = "5"; this.itemzoom5.Text = "5%"; this.itemzoom5.Click += new System.EventHandler(this.itemzoomto_Click); @@ -1111,7 +1176,7 @@ namespace CodeImp.DoomBuilder.Windows // itemzoomfittoscreen // this.itemzoomfittoscreen.Name = "itemzoomfittoscreen"; - this.itemzoomfittoscreen.Size = new System.Drawing.Size(156, 22); + this.itemzoomfittoscreen.Size = new System.Drawing.Size(167, 22); this.itemzoomfittoscreen.Text = "Fit to screen"; this.itemzoomfittoscreen.Click += new System.EventHandler(this.itemzoomfittoscreen_Click); // @@ -1241,6 +1306,21 @@ namespace CodeImp.DoomBuilder.Windows // this.warningflasher.Tick += new System.EventHandler(this.warningflasher_Tick); // + // toolStripMenuItem11 + // + this.toolStripMenuItem11.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); + this.toolStripMenuItem11.Name = "toolStripMenuItem11"; + this.toolStripMenuItem11.Size = new System.Drawing.Size(194, 6); + // + // itemtestmap + // + this.itemtestmap.Image = global::CodeImp.DoomBuilder.Properties.Resources.Test; + this.itemtestmap.Name = "itemtestmap"; + this.itemtestmap.Size = new System.Drawing.Size(197, 22); + this.itemtestmap.Tag = "builder_testmap"; + this.itemtestmap.Text = "Test Map"; + this.itemtestmap.Click += new System.EventHandler(this.InvokeTaggedAction); + // // MainForm // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; @@ -1353,7 +1433,6 @@ namespace CodeImp.DoomBuilder.Windows private System.Windows.Forms.Timer processor; private System.Windows.Forms.ToolStripSeparator toolStripSeparator5; private System.Windows.Forms.ToolStripSeparator toolStripMenuItem5; - private System.Windows.Forms.ToolStripMenuItem itemtestmap; private System.Windows.Forms.ToolStripSeparator toolStripSeparator6; private System.Windows.Forms.ToolStripSeparator toolStripMenuItem6; private System.Windows.Forms.ToolStripMenuItem itemgridinc; @@ -1377,8 +1456,18 @@ namespace CodeImp.DoomBuilder.Windows private System.Windows.Forms.ToolStripButton buttonviewbrightness; private System.Windows.Forms.ToolStripButton buttonviewfloors; private System.Windows.Forms.ToolStripButton buttonviewceilings; - private System.Windows.Forms.ToolStripMenuItem itemscripteditor; private System.Windows.Forms.ToolStripSeparator toolStripMenuItem8; private System.Windows.Forms.ToolStripButton buttonscripteditor; + private System.Windows.Forms.ToolStripMenuItem menuview; + private System.Windows.Forms.ToolStripMenuItem itemthingsfilter; + private System.Windows.Forms.ToolStripSeparator toolStripMenuItem9; + private System.Windows.Forms.ToolStripMenuItem itemviewnormal; + private System.Windows.Forms.ToolStripMenuItem itemviewbrightness; + private System.Windows.Forms.ToolStripMenuItem itemviewfloors; + private System.Windows.Forms.ToolStripMenuItem itemviewceilings; + private System.Windows.Forms.ToolStripSeparator toolStripMenuItem10; + private System.Windows.Forms.ToolStripMenuItem itemscripteditor; + private System.Windows.Forms.ToolStripSeparator toolStripMenuItem11; + private System.Windows.Forms.ToolStripMenuItem itemtestmap; } } \ No newline at end of file diff --git a/Source/Windows/MainForm.cs b/Source/Windows/MainForm.cs index ae96c47e..307b57d5 100644 --- a/Source/Windows/MainForm.cs +++ b/Source/Windows/MainForm.cs @@ -90,8 +90,9 @@ namespace CodeImp.DoomBuilder.Windows // Recent files private ToolStripMenuItem[] recentitems; - // View mode buttons - private ToolStripButton[] viewmodes; + // View modes + private ToolStripButton[] viewmodesbuttons; + private ToolStripMenuItem[] viewmodesitems; // Edit modes private List editmodeitems; @@ -129,12 +130,17 @@ namespace CodeImp.DoomBuilder.Windows InitializeComponent(); editmodeitems = new List(); - // Make array from view mode buttons - viewmodes = new ToolStripButton[Renderer2D.NUM_VIEW_MODES]; - viewmodes[(int)ViewMode.Normal] = buttonviewnormal; - viewmodes[(int)ViewMode.Brightness] = buttonviewbrightness; - viewmodes[(int)ViewMode.FloorTextures] = buttonviewfloors; - viewmodes[(int)ViewMode.CeilingTextures] = buttonviewceilings; + // Make array for view modes + viewmodesbuttons = new ToolStripButton[Renderer2D.NUM_VIEW_MODES]; + viewmodesbuttons[(int)ViewMode.Normal] = buttonviewnormal; + viewmodesbuttons[(int)ViewMode.Brightness] = buttonviewbrightness; + viewmodesbuttons[(int)ViewMode.FloorTextures] = buttonviewfloors; + viewmodesbuttons[(int)ViewMode.CeilingTextures] = buttonviewceilings; + viewmodesitems = new ToolStripMenuItem[Renderer2D.NUM_VIEW_MODES]; + viewmodesitems[(int)ViewMode.Normal] = itemviewnormal; + viewmodesitems[(int)ViewMode.Brightness] = itemviewbrightness; + viewmodesitems[(int)ViewMode.FloorTextures] = itemviewfloors; + viewmodesitems[(int)ViewMode.CeilingTextures] = itemviewceilings; // Visual Studio IDE doesn't let me set these in the designer :( buttonzoom.Font = menufile.Font; @@ -183,7 +189,11 @@ namespace CodeImp.DoomBuilder.Windows } // View mode only matters in classic editing modes - for(int i = 0; i < Renderer2D.NUM_VIEW_MODES; i++) viewmodes[i].Enabled = (General.Map.Mode is ClassicMode); + for(int i = 0; i < Renderer2D.NUM_VIEW_MODES; i++) + { + viewmodesitems[i].Enabled = (General.Map.Mode is ClassicMode); + viewmodesbuttons[i].Enabled = (General.Map.Mode is ClassicMode); + } } // This makes a beep sound @@ -213,6 +223,7 @@ namespace CodeImp.DoomBuilder.Windows // Update menus and toolbar icons UpdateFileMenu(); UpdateEditMenu(); + UpdateViewMenu(); UpdateModeMenu(); UpdateToolsMenu(); UpdateToolbar(); @@ -577,6 +588,7 @@ namespace CodeImp.DoomBuilder.Windows if(statusbar.InvokeRequired) { // Call to form thread + // TODO: This causes deadlocks! Instead of invoking immediately, send a message and handle that! CallUpdateStatusIcon call = new CallUpdateStatusIcon(UpdateStatusIcon); this.Invoke(call); } @@ -1251,23 +1263,6 @@ namespace CodeImp.DoomBuilder.Windows // Update buttons buttontestmonsters.Enabled = (General.Map != null); buttontestmonsters.Checked = General.Settings.TestMonsters; - - // View mode buttons - for(int i = 0; i < Renderer2D.NUM_VIEW_MODES; i++) - { - // NOTE: We only disable them when no map is loaded, because they may - // need to be disabled for non-classic modes - if(General.Map == null) - { - viewmodes[i].Enabled = false; - viewmodes[i].Checked = false; - } - else - { - // Check the correct button - viewmodes[i].Checked = (i == (int)General.Map.CRenderer2D.ViewMode); - } - } } // This checks one of the edit mode items (and unchecks all others) @@ -1352,27 +1347,6 @@ namespace CodeImp.DoomBuilder.Windows this.Update(); } - // This changes view mode - private void ViewModeButtonClick(object sender, EventArgs e) - { - int mode = 0; - - if((sender is ToolStripButton) && (General.Map != null)) - { - ToolStripButton button = sender as ToolStripButton; - int.TryParse(button.Tag.ToString(), NumberStyles.Integer, CultureInfo.InvariantCulture, out mode); - - // Update all view buttons - for(int i = 0; i < Renderer2D.NUM_VIEW_MODES; i++) viewmodes[i].Checked = (i == mode); - - // Apply view mode - General.Map.CRenderer2D.SetViewMode((ViewMode)mode); - - // Redraw - RedrawDisplay(); - } - } - #endregion #region ================== Menus @@ -1704,6 +1678,34 @@ namespace CodeImp.DoomBuilder.Windows #endregion + #region ================== View Menu + + // This sets up the modes menu + private void UpdateViewMenu() + { + // View mode items + for(int i = 0; i < Renderer2D.NUM_VIEW_MODES; i++) + { + // NOTE: We only disable them when no map is loaded, because they may + // need to be disabled for non-classic modes + if(General.Map == null) + { + viewmodesbuttons[i].Enabled = false; + viewmodesbuttons[i].Checked = false; + viewmodesitems[i].Enabled = false; + viewmodesitems[i].Checked = false; + } + else + { + // Check the correct item + viewmodesbuttons[i].Checked = (i == (int)General.Map.CRenderer2D.ViewMode); + viewmodesitems[i].Checked = (i == (int)General.Map.CRenderer2D.ViewMode); + } + } + } + + #endregion + #region ================== Mode Menu // This sets up the modes menu diff --git a/Source/Windows/MainForm.resx b/Source/Windows/MainForm.resx index e44b2179..9f090011 100644 --- a/Source/Windows/MainForm.resx +++ b/Source/Windows/MainForm.resx @@ -120,18 +120,12 @@ False - - False - False False - - False - False diff --git a/Source/Windows/PreferencesForm.Designer.cs b/Source/Windows/PreferencesForm.Designer.cs index 52b316a4..52d89dad 100644 --- a/Source/Windows/PreferencesForm.Designer.cs +++ b/Source/Windows/PreferencesForm.Designer.cs @@ -33,10 +33,11 @@ namespace CodeImp.DoomBuilder.Windows System.Windows.Forms.Label label5; System.Windows.Forms.GroupBox groupBox1; System.Windows.Forms.Label label1; + this.label14 = new System.Windows.Forms.Label(); + this.defaultviewmode = new System.Windows.Forms.ComboBox(); + this.classicbilinear = new System.Windows.Forms.CheckBox(); this.squarethings = new System.Windows.Forms.CheckBox(); this.qualitydisplay = new System.Windows.Forms.CheckBox(); - this.imagebrightnesslabel = new System.Windows.Forms.Label(); - this.imagebrightness = new System.Windows.Forms.TrackBar(); this.colorsgroup1 = new System.Windows.Forms.GroupBox(); this.colorgrid64 = new CodeImp.DoomBuilder.Controls.ColorControl(); this.colorgrid = new CodeImp.DoomBuilder.Controls.ColorControl(); @@ -52,6 +53,22 @@ namespace CodeImp.DoomBuilder.Windows this.apply = new System.Windows.Forms.Button(); this.tabs = new System.Windows.Forms.TabControl(); this.tabinterface = new System.Windows.Forms.TabPage(); + this.groupBox2 = new System.Windows.Forms.GroupBox(); + this.viewdistancelabel = new System.Windows.Forms.Label(); + this.viewdistance = new System.Windows.Forms.TrackBar(); + this.label13 = new System.Windows.Forms.Label(); + this.fixedaspect = new System.Windows.Forms.CheckBox(); + this.invertyaxis = new System.Windows.Forms.CheckBox(); + this.movespeedlabel = new System.Windows.Forms.Label(); + this.movespeed = new System.Windows.Forms.TrackBar(); + this.label11 = new System.Windows.Forms.Label(); + this.mousespeedlabel = new System.Windows.Forms.Label(); + this.mousespeed = new System.Windows.Forms.TrackBar(); + this.label9 = new System.Windows.Forms.Label(); + this.fieldofviewlabel = new System.Windows.Forms.Label(); + this.fieldofview = new System.Windows.Forms.TrackBar(); + this.label4 = new System.Windows.Forms.Label(); + this.visualbilinear = new System.Windows.Forms.CheckBox(); this.tabkeys = new System.Windows.Forms.TabPage(); this.listactions = new System.Windows.Forms.ListView(); this.columncontrolaction = new System.Windows.Forms.ColumnHeader(); @@ -63,6 +80,11 @@ namespace CodeImp.DoomBuilder.Windows this.actionkey = new System.Windows.Forms.TextBox(); this.actiondescription = new System.Windows.Forms.Label(); this.tabcolors = new System.Windows.Forms.TabPage(); + this.imagebrightnesslabel = new System.Windows.Forms.Label(); + this.imagebrightness = new System.Windows.Forms.TrackBar(); + this.doublesidedalphalabel = new System.Windows.Forms.Label(); + this.doublesidedalpha = new System.Windows.Forms.TrackBar(); + this.label2 = new System.Windows.Forms.Label(); this.blackbrowsers = new System.Windows.Forms.CheckBox(); this.colorsgroup3 = new System.Windows.Forms.GroupBox(); this.colorconstants = new CodeImp.DoomBuilder.Controls.ColorControl(); @@ -72,25 +94,26 @@ namespace CodeImp.DoomBuilder.Windows this.colorlinenumbers = new CodeImp.DoomBuilder.Controls.ColorControl(); this.colorcomments = new CodeImp.DoomBuilder.Controls.ColorControl(); this.colorplaintext = new CodeImp.DoomBuilder.Controls.ColorControl(); - this.colorsgroup2 = new System.Windows.Forms.GroupBox(); - this.colorselection3d = new CodeImp.DoomBuilder.Controls.ColorControl(); - this.colorhighlight3d = new CodeImp.DoomBuilder.Controls.ColorControl(); - this.colorcrosshair3d = new CodeImp.DoomBuilder.Controls.ColorControl(); label7 = new System.Windows.Forms.Label(); label6 = new System.Windows.Forms.Label(); label5 = new System.Windows.Forms.Label(); groupBox1 = new System.Windows.Forms.GroupBox(); label1 = new System.Windows.Forms.Label(); groupBox1.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.imagebrightness)).BeginInit(); this.colorsgroup1.SuspendLayout(); this.tabs.SuspendLayout(); this.tabinterface.SuspendLayout(); + this.groupBox2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.viewdistance)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.movespeed)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.mousespeed)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.fieldofview)).BeginInit(); this.tabkeys.SuspendLayout(); this.actioncontrolpanel.SuspendLayout(); this.tabcolors.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.imagebrightness)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.doublesidedalpha)).BeginInit(); this.colorsgroup3.SuspendLayout(); - this.colorsgroup2.SuspendLayout(); this.SuspendLayout(); // // label7 @@ -122,22 +145,55 @@ namespace CodeImp.DoomBuilder.Windows // // groupBox1 // + groupBox1.Controls.Add(this.label14); + groupBox1.Controls.Add(this.defaultviewmode); + groupBox1.Controls.Add(this.classicbilinear); groupBox1.Controls.Add(this.squarethings); groupBox1.Controls.Add(this.qualitydisplay); - groupBox1.Controls.Add(this.imagebrightnesslabel); - groupBox1.Controls.Add(this.imagebrightness); - groupBox1.Controls.Add(label1); groupBox1.Location = new System.Drawing.Point(8, 8); groupBox1.Name = "groupBox1"; - groupBox1.Size = new System.Drawing.Size(257, 196); + groupBox1.Size = new System.Drawing.Size(248, 363); groupBox1.TabIndex = 6; groupBox1.TabStop = false; - groupBox1.Text = " Graphics "; + groupBox1.Text = " Classic Modes "; + // + // label14 + // + this.label14.AutoSize = true; + this.label14.Location = new System.Drawing.Point(22, 41); + this.label14.Name = "label14"; + this.label14.Size = new System.Drawing.Size(71, 14); + this.label14.TabIndex = 14; + this.label14.Text = "Default view:"; + // + // defaultviewmode + // + this.defaultviewmode.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.defaultviewmode.FormattingEnabled = true; + this.defaultviewmode.Items.AddRange(new object[] { + "Wireframe", + "Brightness Levels", + "Floor Textures", + "Ceiling Textures"}); + this.defaultviewmode.Location = new System.Drawing.Point(99, 38); + this.defaultviewmode.Name = "defaultviewmode"; + this.defaultviewmode.Size = new System.Drawing.Size(129, 22); + this.defaultviewmode.TabIndex = 13; + // + // classicbilinear + // + this.classicbilinear.AutoSize = true; + this.classicbilinear.Location = new System.Drawing.Point(25, 159); + this.classicbilinear.Name = "classicbilinear"; + this.classicbilinear.Size = new System.Drawing.Size(136, 18); + this.classicbilinear.TabIndex = 12; + this.classicbilinear.Text = "Bilinear texture filtering"; + this.classicbilinear.UseVisualStyleBackColor = true; // // squarethings // this.squarethings.AutoSize = true; - this.squarethings.Location = new System.Drawing.Point(25, 150); + this.squarethings.Location = new System.Drawing.Point(25, 95); this.squarethings.Name = "squarethings"; this.squarethings.Size = new System.Drawing.Size(93, 18); this.squarethings.TabIndex = 11; @@ -147,38 +203,20 @@ namespace CodeImp.DoomBuilder.Windows // qualitydisplay // this.qualitydisplay.AutoSize = true; - this.qualitydisplay.Location = new System.Drawing.Point(25, 126); + this.qualitydisplay.Location = new System.Drawing.Point(25, 127); this.qualitydisplay.Name = "qualitydisplay"; this.qualitydisplay.Size = new System.Drawing.Size(118, 18); this.qualitydisplay.TabIndex = 10; this.qualitydisplay.Text = "High quality display"; this.qualitydisplay.UseVisualStyleBackColor = true; // - // imagebrightnesslabel - // - this.imagebrightnesslabel.Location = new System.Drawing.Point(17, 75); - this.imagebrightnesslabel.Name = "imagebrightnesslabel"; - this.imagebrightnesslabel.Size = new System.Drawing.Size(205, 14); - this.imagebrightnesslabel.TabIndex = 8; - this.imagebrightnesslabel.Text = "0"; - this.imagebrightnesslabel.TextAlign = System.Drawing.ContentAlignment.BottomCenter; - // - // imagebrightness - // - this.imagebrightness.LargeChange = 2; - this.imagebrightness.Location = new System.Drawing.Point(17, 45); - this.imagebrightness.Name = "imagebrightness"; - this.imagebrightness.Size = new System.Drawing.Size(205, 42); - this.imagebrightness.TabIndex = 7; - this.imagebrightness.ValueChanged += new System.EventHandler(this.imagebrightness_ValueChanged); - // // label1 // label1.AutoSize = true; - label1.Location = new System.Drawing.Point(22, 28); + label1.Location = new System.Drawing.Point(226, 248); label1.Name = "label1"; label1.Size = new System.Drawing.Size(148, 14); - label1.TabIndex = 6; + label1.TabIndex = 20; label1.Text = "Texture and Flats brightness:"; // // colorsgroup1 @@ -195,10 +233,10 @@ namespace CodeImp.DoomBuilder.Windows this.colorsgroup1.Controls.Add(this.colorlinedefs); this.colorsgroup1.Location = new System.Drawing.Point(8, 8); this.colorsgroup1.Name = "colorsgroup1"; - this.colorsgroup1.Size = new System.Drawing.Size(185, 327); + this.colorsgroup1.Size = new System.Drawing.Size(185, 363); this.colorsgroup1.TabIndex = 10; this.colorsgroup1.TabStop = false; - this.colorsgroup1.Text = " Classic modes "; + this.colorsgroup1.Text = " Display "; this.colorsgroup1.Visible = false; // // colorgrid64 @@ -351,14 +389,15 @@ namespace CodeImp.DoomBuilder.Windows this.tabs.ItemSize = new System.Drawing.Size(110, 19); this.tabs.Location = new System.Drawing.Point(11, 13); this.tabs.Name = "tabs"; + this.tabs.Padding = new System.Drawing.Point(16, 3); this.tabs.SelectedIndex = 0; this.tabs.Size = new System.Drawing.Size(598, 406); - this.tabs.SizeMode = System.Windows.Forms.TabSizeMode.Fixed; this.tabs.TabIndex = 18; this.tabs.SelectedIndexChanged += new System.EventHandler(this.tabs_SelectedIndexChanged); // // tabinterface // + this.tabinterface.Controls.Add(this.groupBox2); this.tabinterface.Controls.Add(groupBox1); this.tabinterface.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.tabinterface.Location = new System.Drawing.Point(4, 23); @@ -369,6 +408,181 @@ namespace CodeImp.DoomBuilder.Windows this.tabinterface.Text = "Interface"; this.tabinterface.UseVisualStyleBackColor = true; // + // groupBox2 + // + this.groupBox2.Controls.Add(this.viewdistancelabel); + this.groupBox2.Controls.Add(this.viewdistance); + this.groupBox2.Controls.Add(this.label13); + this.groupBox2.Controls.Add(this.fixedaspect); + this.groupBox2.Controls.Add(this.invertyaxis); + this.groupBox2.Controls.Add(this.movespeedlabel); + this.groupBox2.Controls.Add(this.movespeed); + this.groupBox2.Controls.Add(this.label11); + this.groupBox2.Controls.Add(this.mousespeedlabel); + this.groupBox2.Controls.Add(this.mousespeed); + this.groupBox2.Controls.Add(this.label9); + this.groupBox2.Controls.Add(this.fieldofviewlabel); + this.groupBox2.Controls.Add(this.fieldofview); + this.groupBox2.Controls.Add(this.label4); + this.groupBox2.Controls.Add(this.visualbilinear); + this.groupBox2.Location = new System.Drawing.Point(262, 8); + this.groupBox2.Name = "groupBox2"; + this.groupBox2.Size = new System.Drawing.Size(320, 363); + this.groupBox2.TabIndex = 7; + this.groupBox2.TabStop = false; + this.groupBox2.Text = " Visual Modes "; + // + // viewdistancelabel + // + this.viewdistancelabel.AutoSize = true; + this.viewdistancelabel.Location = new System.Drawing.Point(259, 208); + this.viewdistancelabel.Name = "viewdistancelabel"; + this.viewdistancelabel.Size = new System.Drawing.Size(48, 14); + this.viewdistancelabel.TabIndex = 30; + this.viewdistancelabel.Text = "1000 mp"; + // + // viewdistance + // + this.viewdistance.LargeChange = 2; + this.viewdistance.Location = new System.Drawing.Point(103, 196); + this.viewdistance.Minimum = 1; + this.viewdistance.Name = "viewdistance"; + this.viewdistance.Size = new System.Drawing.Size(150, 42); + this.viewdistance.TabIndex = 29; + this.viewdistance.TickStyle = System.Windows.Forms.TickStyle.Both; + this.viewdistance.Value = 1; + this.viewdistance.ValueChanged += new System.EventHandler(this.viewdistance_ValueChanged); + // + // label13 + // + this.label13.AutoSize = true; + this.label13.Location = new System.Drawing.Point(17, 208); + this.label13.Name = "label13"; + this.label13.Size = new System.Drawing.Size(80, 14); + this.label13.TabIndex = 28; + this.label13.Text = "View distance:"; + // + // fixedaspect + // + this.fixedaspect.AutoSize = true; + this.fixedaspect.Location = new System.Drawing.Point(28, 325); + this.fixedaspect.Name = "fixedaspect"; + this.fixedaspect.Size = new System.Drawing.Size(133, 18); + this.fixedaspect.TabIndex = 27; + this.fixedaspect.Text = "Fixed 4:3 view aspect"; + this.fixedaspect.UseVisualStyleBackColor = true; + // + // invertyaxis + // + this.invertyaxis.AutoSize = true; + this.invertyaxis.Location = new System.Drawing.Point(28, 293); + this.invertyaxis.Name = "invertyaxis"; + this.invertyaxis.Size = new System.Drawing.Size(122, 18); + this.invertyaxis.TabIndex = 26; + this.invertyaxis.Text = "Invert mouse Y axis"; + this.invertyaxis.UseVisualStyleBackColor = true; + // + // movespeedlabel + // + this.movespeedlabel.AutoSize = true; + this.movespeedlabel.Location = new System.Drawing.Point(259, 153); + this.movespeedlabel.Name = "movespeedlabel"; + this.movespeedlabel.Size = new System.Drawing.Size(25, 14); + this.movespeedlabel.TabIndex = 25; + this.movespeedlabel.Text = "100"; + // + // movespeed + // + this.movespeed.Location = new System.Drawing.Point(103, 141); + this.movespeed.Maximum = 20; + this.movespeed.Minimum = 1; + this.movespeed.Name = "movespeed"; + this.movespeed.Size = new System.Drawing.Size(150, 42); + this.movespeed.TabIndex = 24; + this.movespeed.TickStyle = System.Windows.Forms.TickStyle.Both; + this.movespeed.Value = 1; + this.movespeed.ValueChanged += new System.EventHandler(this.movespeed_ValueChanged); + // + // label11 + // + this.label11.AutoSize = true; + this.label11.Location = new System.Drawing.Point(28, 153); + this.label11.Name = "label11"; + this.label11.Size = new System.Drawing.Size(69, 14); + this.label11.TabIndex = 23; + this.label11.Text = "Move speed:"; + // + // mousespeedlabel + // + this.mousespeedlabel.AutoSize = true; + this.mousespeedlabel.Location = new System.Drawing.Point(259, 96); + this.mousespeedlabel.Name = "mousespeedlabel"; + this.mousespeedlabel.Size = new System.Drawing.Size(25, 14); + this.mousespeedlabel.TabIndex = 22; + this.mousespeedlabel.Text = "100"; + // + // mousespeed + // + this.mousespeed.Location = new System.Drawing.Point(103, 84); + this.mousespeed.Maximum = 20; + this.mousespeed.Minimum = 1; + this.mousespeed.Name = "mousespeed"; + this.mousespeed.Size = new System.Drawing.Size(150, 42); + this.mousespeed.TabIndex = 21; + this.mousespeed.TickStyle = System.Windows.Forms.TickStyle.Both; + this.mousespeed.Value = 1; + this.mousespeed.ValueChanged += new System.EventHandler(this.mousespeed_ValueChanged); + // + // label9 + // + this.label9.AutoSize = true; + this.label9.Location = new System.Drawing.Point(22, 96); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(75, 14); + this.label9.TabIndex = 20; + this.label9.Text = "Mouse speed:"; + // + // fieldofviewlabel + // + this.fieldofviewlabel.AutoSize = true; + this.fieldofviewlabel.Location = new System.Drawing.Point(259, 41); + this.fieldofviewlabel.Name = "fieldofviewlabel"; + this.fieldofviewlabel.Size = new System.Drawing.Size(23, 14); + this.fieldofviewlabel.TabIndex = 19; + this.fieldofviewlabel.Text = "50°"; + // + // fieldofview + // + this.fieldofview.LargeChange = 1; + this.fieldofview.Location = new System.Drawing.Point(103, 29); + this.fieldofview.Maximum = 17; + this.fieldofview.Minimum = 5; + this.fieldofview.Name = "fieldofview"; + this.fieldofview.Size = new System.Drawing.Size(150, 42); + this.fieldofview.TabIndex = 18; + this.fieldofview.TickStyle = System.Windows.Forms.TickStyle.Both; + this.fieldofview.Value = 5; + this.fieldofview.ValueChanged += new System.EventHandler(this.fieldofview_ValueChanged); + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(25, 41); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(72, 14); + this.label4.TabIndex = 17; + this.label4.Text = "Field of view:"; + // + // visualbilinear + // + this.visualbilinear.AutoSize = true; + this.visualbilinear.Location = new System.Drawing.Point(28, 261); + this.visualbilinear.Name = "visualbilinear"; + this.visualbilinear.Size = new System.Drawing.Size(136, 18); + this.visualbilinear.TabIndex = 13; + this.visualbilinear.Text = "Bilinear texture filtering"; + this.visualbilinear.UseVisualStyleBackColor = true; + // // tabkeys // this.tabkeys.Controls.Add(this.listactions); @@ -493,9 +707,14 @@ namespace CodeImp.DoomBuilder.Windows // // tabcolors // + this.tabcolors.Controls.Add(this.imagebrightnesslabel); + this.tabcolors.Controls.Add(this.imagebrightness); + this.tabcolors.Controls.Add(label1); + this.tabcolors.Controls.Add(this.doublesidedalphalabel); + this.tabcolors.Controls.Add(this.doublesidedalpha); + this.tabcolors.Controls.Add(this.label2); this.tabcolors.Controls.Add(this.blackbrowsers); this.tabcolors.Controls.Add(this.colorsgroup3); - this.tabcolors.Controls.Add(this.colorsgroup2); this.tabcolors.Controls.Add(this.colorsgroup1); this.tabcolors.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.tabcolors.Location = new System.Drawing.Point(4, 23); @@ -506,10 +725,57 @@ namespace CodeImp.DoomBuilder.Windows this.tabcolors.Text = "Colors"; this.tabcolors.UseVisualStyleBackColor = true; // + // imagebrightnesslabel + // + this.imagebrightnesslabel.AutoSize = true; + this.imagebrightnesslabel.Location = new System.Drawing.Point(539, 248); + this.imagebrightnesslabel.Name = "imagebrightnesslabel"; + this.imagebrightnesslabel.Size = new System.Drawing.Size(31, 14); + this.imagebrightnesslabel.TabIndex = 22; + this.imagebrightnesslabel.Text = "+ 0 y"; + // + // imagebrightness + // + this.imagebrightness.LargeChange = 3; + this.imagebrightness.Location = new System.Drawing.Point(379, 235); + this.imagebrightness.Name = "imagebrightness"; + this.imagebrightness.Size = new System.Drawing.Size(154, 42); + this.imagebrightness.TabIndex = 21; + this.imagebrightness.TickStyle = System.Windows.Forms.TickStyle.Both; + this.imagebrightness.ValueChanged += new System.EventHandler(this.imagebrightness_ValueChanged); + // + // doublesidedalphalabel + // + this.doublesidedalphalabel.AutoSize = true; + this.doublesidedalphalabel.Location = new System.Drawing.Point(539, 192); + this.doublesidedalphalabel.Name = "doublesidedalphalabel"; + this.doublesidedalphalabel.Size = new System.Drawing.Size(23, 14); + this.doublesidedalphalabel.TabIndex = 16; + this.doublesidedalphalabel.Text = "0%"; + // + // doublesidedalpha + // + this.doublesidedalpha.LargeChange = 3; + this.doublesidedalpha.Location = new System.Drawing.Point(379, 180); + this.doublesidedalpha.Name = "doublesidedalpha"; + this.doublesidedalpha.Size = new System.Drawing.Size(154, 42); + this.doublesidedalpha.TabIndex = 15; + this.doublesidedalpha.TickStyle = System.Windows.Forms.TickStyle.Both; + this.doublesidedalpha.ValueChanged += new System.EventHandler(this.doublesidedalpha_ValueChanged); + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(212, 192); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(162, 14); + this.label2.TabIndex = 14; + this.label2.Text = "Doublesided lines transparency:"; + // // blackbrowsers // this.blackbrowsers.AutoSize = true; - this.blackbrowsers.Location = new System.Drawing.Point(8, 344); + this.blackbrowsers.Location = new System.Drawing.Point(215, 296); this.blackbrowsers.Name = "blackbrowsers"; this.blackbrowsers.Size = new System.Drawing.Size(241, 18); this.blackbrowsers.TabIndex = 13; @@ -525,9 +791,9 @@ namespace CodeImp.DoomBuilder.Windows this.colorsgroup3.Controls.Add(this.colorlinenumbers); this.colorsgroup3.Controls.Add(this.colorcomments); this.colorsgroup3.Controls.Add(this.colorplaintext); - this.colorsgroup3.Location = new System.Drawing.Point(392, 8); + this.colorsgroup3.Location = new System.Drawing.Point(199, 8); this.colorsgroup3.Name = "colorsgroup3"; - this.colorsgroup3.Size = new System.Drawing.Size(190, 327); + this.colorsgroup3.Size = new System.Drawing.Size(383, 153); this.colorsgroup3.TabIndex = 12; this.colorsgroup3.TabStop = false; this.colorsgroup3.Text = " Script editor "; @@ -538,7 +804,7 @@ namespace CodeImp.DoomBuilder.Windows this.colorconstants.BackColor = System.Drawing.SystemColors.Control; this.colorconstants.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.colorconstants.Label = "Constants:"; - this.colorconstants.Location = new System.Drawing.Point(15, 201); + this.colorconstants.Location = new System.Drawing.Point(213, 85); this.colorconstants.MaximumSize = new System.Drawing.Size(10000, 23); this.colorconstants.MinimumSize = new System.Drawing.Size(100, 23); this.colorconstants.Name = "colorconstants"; @@ -550,7 +816,7 @@ namespace CodeImp.DoomBuilder.Windows this.colorliterals.BackColor = System.Drawing.SystemColors.Control; this.colorliterals.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.colorliterals.Label = "Literals:"; - this.colorliterals.Location = new System.Drawing.Point(15, 172); + this.colorliterals.Location = new System.Drawing.Point(213, 56); this.colorliterals.MaximumSize = new System.Drawing.Size(10000, 23); this.colorliterals.MinimumSize = new System.Drawing.Size(100, 23); this.colorliterals.Name = "colorliterals"; @@ -574,7 +840,7 @@ namespace CodeImp.DoomBuilder.Windows this.colorkeywords.BackColor = System.Drawing.SystemColors.Control; this.colorkeywords.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.colorkeywords.Label = "Keywords:"; - this.colorkeywords.Location = new System.Drawing.Point(15, 143); + this.colorkeywords.Location = new System.Drawing.Point(213, 27); this.colorkeywords.MaximumSize = new System.Drawing.Size(10000, 23); this.colorkeywords.MinimumSize = new System.Drawing.Size(100, 23); this.colorkeywords.Name = "colorkeywords"; @@ -617,55 +883,6 @@ namespace CodeImp.DoomBuilder.Windows this.colorplaintext.Size = new System.Drawing.Size(150, 23); this.colorplaintext.TabIndex = 12; // - // colorsgroup2 - // - this.colorsgroup2.Controls.Add(this.colorselection3d); - this.colorsgroup2.Controls.Add(this.colorhighlight3d); - this.colorsgroup2.Controls.Add(this.colorcrosshair3d); - this.colorsgroup2.Location = new System.Drawing.Point(199, 8); - this.colorsgroup2.Name = "colorsgroup2"; - this.colorsgroup2.Size = new System.Drawing.Size(187, 327); - this.colorsgroup2.TabIndex = 11; - this.colorsgroup2.TabStop = false; - this.colorsgroup2.Text = " 3D mode "; - this.colorsgroup2.Visible = false; - // - // colorselection3d - // - this.colorselection3d.BackColor = System.Drawing.SystemColors.Control; - this.colorselection3d.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.colorselection3d.Label = "Selection:"; - this.colorselection3d.Location = new System.Drawing.Point(15, 85); - this.colorselection3d.MaximumSize = new System.Drawing.Size(10000, 23); - this.colorselection3d.MinimumSize = new System.Drawing.Size(100, 23); - this.colorselection3d.Name = "colorselection3d"; - this.colorselection3d.Size = new System.Drawing.Size(150, 23); - this.colorselection3d.TabIndex = 8; - // - // colorhighlight3d - // - this.colorhighlight3d.BackColor = System.Drawing.SystemColors.Control; - this.colorhighlight3d.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.colorhighlight3d.Label = "Highlight:"; - this.colorhighlight3d.Location = new System.Drawing.Point(15, 56); - this.colorhighlight3d.MaximumSize = new System.Drawing.Size(10000, 23); - this.colorhighlight3d.MinimumSize = new System.Drawing.Size(100, 23); - this.colorhighlight3d.Name = "colorhighlight3d"; - this.colorhighlight3d.Size = new System.Drawing.Size(150, 23); - this.colorhighlight3d.TabIndex = 7; - // - // colorcrosshair3d - // - this.colorcrosshair3d.BackColor = System.Drawing.SystemColors.Control; - this.colorcrosshair3d.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.colorcrosshair3d.Label = "Crosshair:"; - this.colorcrosshair3d.Location = new System.Drawing.Point(15, 27); - this.colorcrosshair3d.MaximumSize = new System.Drawing.Size(10000, 23); - this.colorcrosshair3d.MinimumSize = new System.Drawing.Size(100, 23); - this.colorcrosshair3d.Name = "colorcrosshair3d"; - this.colorcrosshair3d.Size = new System.Drawing.Size(150, 23); - this.colorcrosshair3d.TabIndex = 6; - // // PreferencesForm // this.AcceptButton = this.apply; @@ -688,17 +905,23 @@ namespace CodeImp.DoomBuilder.Windows this.Text = "Preferences"; groupBox1.ResumeLayout(false); groupBox1.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.imagebrightness)).EndInit(); this.colorsgroup1.ResumeLayout(false); this.tabs.ResumeLayout(false); this.tabinterface.ResumeLayout(false); + this.groupBox2.ResumeLayout(false); + this.groupBox2.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.viewdistance)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.movespeed)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.mousespeed)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.fieldofview)).EndInit(); this.tabkeys.ResumeLayout(false); this.actioncontrolpanel.ResumeLayout(false); this.actioncontrolpanel.PerformLayout(); this.tabcolors.ResumeLayout(false); this.tabcolors.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.imagebrightness)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.doublesidedalpha)).EndInit(); this.colorsgroup3.ResumeLayout(false); - this.colorsgroup2.ResumeLayout(false); this.ResumeLayout(false); } @@ -726,10 +949,6 @@ namespace CodeImp.DoomBuilder.Windows private CodeImp.DoomBuilder.Controls.ColorControl colorvertices; private CodeImp.DoomBuilder.Controls.ColorControl colorbackcolor; private System.Windows.Forms.GroupBox colorsgroup3; - private System.Windows.Forms.GroupBox colorsgroup2; - private CodeImp.DoomBuilder.Controls.ColorControl colorselection3d; - private CodeImp.DoomBuilder.Controls.ColorControl colorhighlight3d; - private CodeImp.DoomBuilder.Controls.ColorControl colorcrosshair3d; private CodeImp.DoomBuilder.Controls.ColorControl colorscriptbackground; private CodeImp.DoomBuilder.Controls.ColorControl colorkeywords; private CodeImp.DoomBuilder.Controls.ColorControl colorlinenumbers; @@ -745,8 +964,30 @@ namespace CodeImp.DoomBuilder.Windows private System.Windows.Forms.GroupBox colorsgroup1; private System.Windows.Forms.CheckBox blackbrowsers; private System.Windows.Forms.CheckBox qualitydisplay; + private System.Windows.Forms.CheckBox squarethings; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Label doublesidedalphalabel; + private System.Windows.Forms.TrackBar doublesidedalpha; private System.Windows.Forms.Label imagebrightnesslabel; private System.Windows.Forms.TrackBar imagebrightness; - private System.Windows.Forms.CheckBox squarethings; + private System.Windows.Forms.CheckBox classicbilinear; + private System.Windows.Forms.GroupBox groupBox2; + private System.Windows.Forms.CheckBox visualbilinear; + private System.Windows.Forms.Label fieldofviewlabel; + private System.Windows.Forms.TrackBar fieldofview; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.Label movespeedlabel; + private System.Windows.Forms.TrackBar movespeed; + private System.Windows.Forms.Label label11; + private System.Windows.Forms.Label mousespeedlabel; + private System.Windows.Forms.TrackBar mousespeed; + private System.Windows.Forms.Label label9; + private System.Windows.Forms.Label viewdistancelabel; + private System.Windows.Forms.TrackBar viewdistance; + private System.Windows.Forms.Label label13; + private System.Windows.Forms.CheckBox fixedaspect; + private System.Windows.Forms.CheckBox invertyaxis; + private System.Windows.Forms.ComboBox defaultviewmode; + private System.Windows.Forms.Label label14; } } \ No newline at end of file diff --git a/Source/Windows/PreferencesForm.cs b/Source/Windows/PreferencesForm.cs index ec67dbe1..c871a69c 100644 --- a/Source/Windows/PreferencesForm.cs +++ b/Source/Windows/PreferencesForm.cs @@ -54,6 +54,16 @@ namespace CodeImp.DoomBuilder.Windows imagebrightness.Value = General.Settings.ImageBrightness; qualitydisplay.Checked = General.Settings.QualityDisplay; squarethings.Checked = General.Settings.SquareThings; + doublesidedalpha.Value = (int)((1.0f - General.Settings.DoubleSidedAlpha) * 10.0f); + defaultviewmode.SelectedIndex = General.Settings.DefaultViewMode; + classicbilinear.Checked = General.Settings.ClassicBilinear; + visualbilinear.Checked = General.Settings.VisualBilinear; + fieldofview.Value = General.Settings.VisualFOV / 10; + mousespeed.Value = General.Settings.MouseSpeed / 100; + movespeed.Value = General.Settings.MoveSpeed / 100; + viewdistance.Value = (int)(General.Settings.ViewDistance / 1000.0f); + invertyaxis.Checked = General.Settings.InvertYAxis; + fixedaspect.Checked = General.Settings.FixedAspect; // Fill actions list with categories foreach(KeyValuePair c in General.Actions.Categories) @@ -115,9 +125,6 @@ namespace CodeImp.DoomBuilder.Windows colorindication.Color = General.Colors.Indication; colorgrid.Color = General.Colors.Grid; colorgrid64.Color = General.Colors.Grid64; - colorcrosshair3d.Color = General.Colors.Crosshair3D; - colorhighlight3d.Color = General.Colors.Highlight3D; - colorselection3d.Color = General.Colors.Selection3D; colorscriptbackground.Color = General.Colors.ScriptBackground; colorlinenumbers.Color = General.Colors.LineNumbers; colorplaintext.Color = General.Colors.PlainText; @@ -303,6 +310,16 @@ namespace CodeImp.DoomBuilder.Windows General.Settings.ImageBrightness = imagebrightness.Value; General.Settings.QualityDisplay = qualitydisplay.Checked; General.Settings.SquareThings = squarethings.Checked; + General.Settings.DoubleSidedAlpha = 1.0f - (float)(doublesidedalpha.Value * 0.1f); + General.Settings.DefaultViewMode = defaultviewmode.SelectedIndex; + General.Settings.ClassicBilinear = classicbilinear.Checked; + General.Settings.VisualBilinear = visualbilinear.Checked; + General.Settings.VisualFOV = fieldofview.Value * 10; + General.Settings.MouseSpeed = mousespeed.Value * 100; + General.Settings.MoveSpeed = movespeed.Value * 100; + General.Settings.ViewDistance = (float)viewdistance.Value * 1000.0f; + General.Settings.InvertYAxis = invertyaxis.Checked; + General.Settings.FixedAspect = fixedaspect.Checked; // Apply control keys to actions foreach(ListViewItem item in listactions.Items) @@ -320,9 +337,6 @@ namespace CodeImp.DoomBuilder.Windows General.Colors.Indication = colorindication.Color; General.Colors.Grid = colorgrid.Color; General.Colors.Grid64 = colorgrid64.Color; - General.Colors.Crosshair3D = colorcrosshair3d.Color; - General.Colors.Highlight3D = colorhighlight3d.Color; - General.Colors.Selection3D = colorselection3d.Color; General.Colors.ScriptBackground = colorscriptbackground.Color; General.Colors.LineNumbers = colorlinenumbers.Color; General.Colors.PlainText = colorplaintext.Color; @@ -357,20 +371,51 @@ namespace CodeImp.DoomBuilder.Windows if(tabs.SelectedTab != tabkeys) this.AcceptButton = apply; else this.AcceptButton = null; if(tabs.SelectedTab != tabkeys) this.CancelButton = cancel; else this.CancelButton = null; colorsgroup1.Visible = (tabs.SelectedTab == tabcolors); - colorsgroup2.Visible = (tabs.SelectedTab == tabcolors); + //colorsgroup2.Visible = (tabs.SelectedTab == tabcolors); colorsgroup3.Visible = (tabs.SelectedTab == tabcolors); } #endregion + #region ================== Colors Panel + + private void imagebrightness_ValueChanged(object sender, EventArgs e) + { + imagebrightnesslabel.Text = "+ " + imagebrightness.Value.ToString() + " y"; + } + + private void doublesidedalpha_ValueChanged(object sender, EventArgs e) + { + int percent = doublesidedalpha.Value * 10; + doublesidedalphalabel.Text = percent.ToString() + "%"; + } + + #endregion + #region ================== Interface Panel - private void imagebrightness_ValueChanged(object sender, EventArgs e) + private void fieldofview_ValueChanged(object sender, EventArgs e) { - if(imagebrightness.Value > 0) - imagebrightnesslabel.Text = "+" + imagebrightness.Value.ToString(); - else - imagebrightnesslabel.Text = imagebrightness.Value.ToString(); + int value = fieldofview.Value * 10; + fieldofviewlabel.Text = value.ToString() + (char)176; + } + + private void mousespeed_ValueChanged(object sender, EventArgs e) + { + int value = mousespeed.Value * 100; + mousespeedlabel.Text = value.ToString(); + } + + private void movespeed_ValueChanged(object sender, EventArgs e) + { + int value = movespeed.Value * 100; + movespeedlabel.Text = value.ToString(); + } + + private void viewdistance_ValueChanged(object sender, EventArgs e) + { + int value = viewdistance.Value * 1000; + viewdistancelabel.Text = value.ToString() + " mp"; } #endregion diff --git a/Source/Windows/PreferencesForm.resx b/Source/Windows/PreferencesForm.resx index e9845371..5e0340cf 100644 --- a/Source/Windows/PreferencesForm.resx +++ b/Source/Windows/PreferencesForm.resx @@ -141,16 +141,34 @@ False + + True + + + True + + + True + True True - + True - + + True + + + True + + + True + + True @@ -192,6 +210,36 @@ True + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + True @@ -204,6 +252,9 @@ True + + True + True @@ -213,24 +264,24 @@ True - - True - - - True - - - True - - - True - - - True - True + + True + + + True + + + True + + + True + + + True + True @@ -258,19 +309,154 @@ True - + True - + True - + True - + True - + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + True \ No newline at end of file