From 04ee4717b4a9751ac87a24ffe8d1e92ab3a54140 Mon Sep 17 00:00:00 2001 From: MaxED <j.maxed@gmail.com> Date: Mon, 26 Aug 2013 10:51:33 +0000 Subject: [PATCH] Set Default Textures: empty textures can now be used as default ones. Sector Edit forms: floor/ceiling textures can be cleared with right-click on texture selectors. --- Source/Core/Config/ProgramConfiguration.cs | 4 ++-- Source/Core/Controls/ImageSelectorControl.cs | 5 ++--- Source/Core/Controls/TextureSelectorControl.cs | 1 - Source/Core/Windows/SetDefaultTexturesForm.cs | 12 +++--------- 4 files changed, 7 insertions(+), 15 deletions(-) diff --git a/Source/Core/Config/ProgramConfiguration.cs b/Source/Core/Config/ProgramConfiguration.cs index c8263f677..264a5c33a 100644 --- a/Source/Core/Config/ProgramConfiguration.cs +++ b/Source/Core/Config/ProgramConfiguration.cs @@ -545,13 +545,13 @@ namespace CodeImp.DoomBuilder.Config if(General.Map == null) return; // Default texture missing? - if((defaulttexture == null) || defaulttexture.StartsWith("-")) + if(defaulttexture == null || (!gzForceDefaultTextures && defaulttexture == "-")) //mxd { // Find default texture from map foundone = false; foreach(Sidedef sd in General.Map.Map.Sidedefs) { - if(!sd.MiddleTexture.StartsWith("-")) + if(sd.MiddleTexture != "-") { defaulttexture = sd.MiddleTexture; if(General.Map.Data.GetTextureExists(defaulttexture)) diff --git a/Source/Core/Controls/ImageSelectorControl.cs b/Source/Core/Controls/ImageSelectorControl.cs index d58520c4c..07997a93f 100644 --- a/Source/Core/Controls/ImageSelectorControl.cs +++ b/Source/Core/Controls/ImageSelectorControl.cs @@ -37,7 +37,6 @@ namespace CodeImp.DoomBuilder.Controls private Bitmap bmp; private bool ismouseinside; private MouseButtons button; - protected bool allowclear; private string previousImageName; //mxd #endregion @@ -92,7 +91,7 @@ namespace CodeImp.DoomBuilder.Controls ShowPreview(FindImage(name.Text)); if(button == MouseButtons.Right) { - if(allowclear) name.Text = "-"; + name.Text = "-"; } else if(button == MouseButtons.Left) { @@ -111,7 +110,7 @@ namespace CodeImp.DoomBuilder.Controls private void preview_MouseDown(object sender, MouseEventArgs e) { button = e.Button; - if((button == MouseButtons.Left) || ((button == MouseButtons.Right) && allowclear)) + if((button == MouseButtons.Left) || ((button == MouseButtons.Right))) { //ispressed = true; preview.BackColor = AdjustedColor(SystemColors.Highlight, 0.2f); diff --git a/Source/Core/Controls/TextureSelectorControl.cs b/Source/Core/Controls/TextureSelectorControl.cs index 42a3d8d2e..fa43f0197 100644 --- a/Source/Core/Controls/TextureSelectorControl.cs +++ b/Source/Core/Controls/TextureSelectorControl.cs @@ -39,7 +39,6 @@ namespace CodeImp.DoomBuilder.Controls // Fill autocomplete list name.AutoCompleteCustomSource.AddRange(General.Map.Data.TextureNames.ToArray()); - allowclear = true; } // This finds the image we need for the given texture name diff --git a/Source/Core/Windows/SetDefaultTexturesForm.cs b/Source/Core/Windows/SetDefaultTexturesForm.cs index 69c6b7214..a40edc3c0 100644 --- a/Source/Core/Windows/SetDefaultTexturesForm.cs +++ b/Source/Core/Windows/SetDefaultTexturesForm.cs @@ -27,15 +27,9 @@ namespace CodeImp.DoomBuilder.Windows } private void bApply_Click(object sender, EventArgs e) { - if(General.Map.Data.GetTextureExists(ceiling.TextureName)) - General.Settings.DefaultCeilingTexture = ceiling.TextureName; - - if(General.Map.Data.GetTextureExists(floor.TextureName)) - General.Settings.DefaultFloorTexture = floor.TextureName; - - if(General.Map.Data.GetTextureExists(walls.TextureName)) - General.Settings.DefaultTexture = walls.TextureName; - + General.Settings.DefaultCeilingTexture = string.IsNullOrEmpty(ceiling.TextureName) ? "-" : ceiling.TextureName; + General.Settings.DefaultFloorTexture = string.IsNullOrEmpty(floor.TextureName) ? "-" : floor.TextureName; + General.Settings.DefaultTexture = string.IsNullOrEmpty(walls.TextureName) ? "-" : walls.TextureName; General.Settings.GZForceDefaultTextures = cbForceDefault.Checked; Close(); } -- GitLab