From ec2303ca9fb79caccd78bb257e4450ab4fb8ffc2 Mon Sep 17 00:00:00 2001
From: MaxED <j.maxed@gmail.com>
Date: Mon, 20 Jan 2014 08:47:49 +0000
Subject: [PATCH] Missing and Unknown textures were incorrectly scaled in
 classic modes. Fixed an update logic error in PairedIntControl.

---
 .../GZBuilder/Controls/PairedFieldsControl.cs |   8 ++--
 .../GZBuilder/Controls/PairedIntControl.cs    |  19 +++++----
 Source/Core/Resources/MissingTexture.png      | Bin 4303 -> 2822 bytes
 Source/Core/Resources/UnknownImage.png        | Bin 586 -> 2324 bytes
 Source/Core/Windows/LinedefEditForm.cs        |  40 +++++++++---------
 5 files changed, 34 insertions(+), 33 deletions(-)

diff --git a/Source/Core/GZBuilder/Controls/PairedFieldsControl.cs b/Source/Core/GZBuilder/Controls/PairedFieldsControl.cs
index 9999d2b1d..3b3410814 100644
--- a/Source/Core/GZBuilder/Controls/PairedFieldsControl.cs
+++ b/Source/Core/GZBuilder/Controls/PairedFieldsControl.cs
@@ -76,8 +76,8 @@ namespace CodeImp.DoomBuilder.GZBuilder.Controls
 				value1.Text = newValue1;
 				value2.Text = newValue2;
 			} else {
-				value1.Text = ((!string.IsNullOrEmpty(value1.Text) && value1.Text != newValue1) ? "" : newValue1);
-				value2.Text = ((!string.IsNullOrEmpty(value2.Text) && value2.Text != newValue2) ? "" : newValue2);
+				value1.Text = ((!string.IsNullOrEmpty(value1.Text) && value1.Text != newValue1) ? string.Empty : newValue1);
+				value2.Text = ((!string.IsNullOrEmpty(value2.Text) && value2.Text != newValue2) ? string.Empty : newValue2);
 			}
 			checkValues();
 
@@ -85,12 +85,12 @@ namespace CodeImp.DoomBuilder.GZBuilder.Controls
 		}
 
 		public void ApplyTo(UniFields fields, int min, int max, float oldValue1, float oldValue2) {
-			if(value1.Text != "")
+			if(value1.Text != string.Empty)
 				UDMFTools.SetFloat(fields, field1, General.Clamp(value1.GetResultFloat(defaultValue), min, max), defaultValue);
 			else
 				UDMFTools.SetFloat(fields, field1, oldValue1, defaultValue);
 
-			if(value2.Text != "")
+			if(value2.Text != string.Empty)
 				UDMFTools.SetFloat(fields, field2, General.Clamp(value2.GetResultFloat(defaultValue), min, max), defaultValue);
 			else
 				UDMFTools.SetFloat(fields, field2, oldValue2, defaultValue);
diff --git a/Source/Core/GZBuilder/Controls/PairedIntControl.cs b/Source/Core/GZBuilder/Controls/PairedIntControl.cs
index a9e4ba636..9215014e1 100644
--- a/Source/Core/GZBuilder/Controls/PairedIntControl.cs
+++ b/Source/Core/GZBuilder/Controls/PairedIntControl.cs
@@ -27,7 +27,7 @@ namespace CodeImp.DoomBuilder.GZBuilder.Controls
 
 		public string Label { get { return label.Text; } set { label.Text = value; } }
 		public int DefaultValue { get { return defaultValue; } set { defaultValue = value; } }
-		public int ButtonStep { get { return (int)value1.ButtonStep; } set { value1.ButtonStep = value; value2.ButtonStep = value; } }
+		public int ButtonStep { get { return value1.ButtonStep; } set { value1.ButtonStep = value; value2.ButtonStep = value; } }
 
 		#endregion
 
@@ -35,18 +35,19 @@ namespace CodeImp.DoomBuilder.GZBuilder.Controls
 			InitializeComponent();
 		}
 
-		public void SetValues(int val1, int val2) {
+		public void SetValues(int val1, int val2, bool first) {
 			blockUpdate = true;
 
-			if(!string.IsNullOrEmpty(value1.Text) && value1.Text != val1.ToString())
-				value1.Text = "";
-			else
+			if (first) {
 				value1.Text = val1.ToString();
-
-			if(!string.IsNullOrEmpty(value2.Text) && value2.Text != val2.ToString())
-				value2.Text = "";
-			else
 				value2.Text = val2.ToString();
+			} else {
+				if (!string.IsNullOrEmpty(value1.Text) && value1.Text != val1.ToString())
+					value1.Text = string.Empty;
+
+				if (!string.IsNullOrEmpty(value2.Text) && value2.Text != val2.ToString())
+					value2.Text = string.Empty;
+			}
 
 			blockUpdate = false;
 		}
diff --git a/Source/Core/Resources/MissingTexture.png b/Source/Core/Resources/MissingTexture.png
index b9c382863e96ab44320671daa65ebbd61b33fccf..5197ac9eaa6c64ac5637e517cd6fb8faae49c687 100644
GIT binary patch
literal 2822
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
Y0Ctt^)>MjS?*IS*07*qoM6N<$f)>X;A^-pY

literal 4303
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
K1gqA09Ql7_e^a&q

diff --git a/Source/Core/Resources/UnknownImage.png b/Source/Core/Resources/UnknownImage.png
index bc48f95b8c11431b447aa85bbcb3941fb95c53d0..272dffd5f45cc9ff23b4d215efb123b578fb5d87 100644
GIT binary patch
literal 2324
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

literal 586
zcmeAS@N?(olHy`uVBq!ia0vp^sUXb31|&mjbk74R&H|6fVg?3oArNM~bhqvgNU+2;
zqQp5rH#aq}gn^+`s~4z&@wumqV@SoEx3@gKnH>e%9tJ(yw`j)#B_*XDja}S&=8lUi
zJ}4~ekh=c=zwnwx`bwR_oF~6n{I&ZK%fx#%cIM1?o-RO>F~9+PqXm&y)?{xpZJ)(_
zwlB@sc=gNPuvn)ylj>RQXQwO6&+<OowM^S-@6u~)Z%*BCVqV&n(`(bL-XA)>YSGSV
z*Jgh-en0DK&1rr4-A?D0+VcLK`P4=|&`kQ$zqW|1Srh*(3zYjiOZ=rzu+H(HzDsS)
zj_yAYF0}3NwhQIw3{5$=yPG_8+a&(Y*Z6z(9NjOi$!k*AT%N2Ue7msL>)WC{bBX;A
zB(i6|zro{`;Z@Up>w3bUO~p3Pr>T9(NK=_}<ZYJ4#Sm2)hHN3RFY69Q>^^0)ec%3B
zU1B$q_^$uFBbCHo>+ig3XUHsz+fLQ%1*+rD9?>+G-PXNJ{J&V0vER&>8}k2b{vll?
zviwYmj%UTm7kg84T~`_@3JdY|&uiP`^}~@z_F3)R|0`zpgd_(YJ9=Hf`ZSN*DnrX}
zyKBOnvu0iN_^NvH9>?a>S~G%A=A8;!^C&2_UeW6GiHa?+8Wz1MUm~=2my50EH{(?M
zsM5|wnyfCtTpi0q1bj6WW(7HzEN#dDB@8rh;eh!%!6h$~mdywT$#}Z@xvX<aXaWFh
C%JvEX

diff --git a/Source/Core/Windows/LinedefEditForm.cs b/Source/Core/Windows/LinedefEditForm.cs
index ea61ff31d..9416d7d8a 100644
--- a/Source/Core/Windows/LinedefEditForm.cs
+++ b/Source/Core/Windows/LinedefEditForm.cs
@@ -332,7 +332,7 @@ namespace CodeImp.DoomBuilder.Windows
 			//mxd. UDMF Settings
 			if(General.Map.FormatInterface.HasCustomFields) {
 				fieldslist.SetValues(fl.Fields, true); // Custom fields
-				int renderstyle = renderStyles.IndexOf(fl.Fields.GetValue("renderstyle", ""));
+				int renderstyle = renderStyles.IndexOf(fl.Fields.GetValue("renderstyle", string.Empty));
 				cbRenderStyle.SelectedIndex = (renderstyle == -1 ? 0 : renderstyle);
 				alpha.Text = General.Clamp(fl.Fields.GetValue("alpha", 1.0f), 0f, 1f).ToString();
 				lockNumber.Text = fl.Fields.GetValue("locknumber", 0).ToString();
@@ -383,7 +383,7 @@ namespace CodeImp.DoomBuilder.Windows
 						if(fl.Front.Flags.ContainsKey(c.Tag.ToString())) c.Checked = fl.Front.Flags[c.Tag.ToString()];
 				}
 
-				frontTextureOffset.SetValues(fl.Front.OffsetX, fl.Front.OffsetY); //mxd
+				frontTextureOffset.SetValues(fl.Front.OffsetX, fl.Front.OffsetY, true); //mxd
 			}
 
 			// Back settings
@@ -411,7 +411,7 @@ namespace CodeImp.DoomBuilder.Windows
 						if(fl.Back.Flags.ContainsKey(c.Tag.ToString()))	c.Checked = fl.Back.Flags[c.Tag.ToString()];
 				}
  
-				backTextureOffset.SetValues(fl.Back.OffsetX, fl.Back.OffsetY); //mxd
+				backTextureOffset.SetValues(fl.Back.OffsetX, fl.Back.OffsetY, true); //mxd
 			}
 
 			////////////////////////////////////////////////////////////////////////
@@ -459,15 +459,15 @@ namespace CodeImp.DoomBuilder.Windows
 
 				//mxd. UDMF Settings
 				if(General.Map.FormatInterface.HasCustomFields) {
-					int i = Math.Max(0, renderStyles.IndexOf(l.Fields.GetValue("renderstyle", "")));
+					int i = Math.Max(0, renderStyles.IndexOf(l.Fields.GetValue("renderstyle", string.Empty)));
 					if(cbRenderStyle.SelectedIndex != -1 && i != cbRenderStyle.SelectedIndex)
 						cbRenderStyle.SelectedIndex = -1;
 
 					if(!string.IsNullOrEmpty(alpha.Text) && General.Clamp(alpha.GetResultFloat(1.0f), 0f, 1f) != l.Fields.GetValue("alpha", 1.0f))
-						alpha.Text = "";
+						alpha.Text = string.Empty;
 
 					if(!string.IsNullOrEmpty(lockNumber.Text) && lockNumber.GetResult(0) != l.Fields.GetValue("locknumber", 0))
-						lockNumber.Text = "";
+						lockNumber.Text = string.Empty;
 
 					if(arg0str != l.Fields.GetValue("arg0str", string.Empty)) {
 						haveArg0Str = true;
@@ -506,13 +506,13 @@ namespace CodeImp.DoomBuilder.Windows
 				// Front settings
 				if(l.Front != null)
 				{
-					if(fronthigh.TextureName != l.Front.HighTexture) fronthigh.TextureName = "";
-					if(frontmid.TextureName != l.Front.MiddleTexture) frontmid.TextureName = "";
-					if(frontlow.TextureName != l.Front.LowTexture) frontlow.TextureName = "";
+					if(fronthigh.TextureName != l.Front.HighTexture) fronthigh.TextureName = string.Empty;
+					if(frontmid.TextureName != l.Front.MiddleTexture) frontmid.TextureName = string.Empty;
+					if(frontlow.TextureName != l.Front.LowTexture) frontlow.TextureName = string.Empty;
 					if(fronthigh.Required != l.Front.HighRequired()) fronthigh.Required = false;
 					if(frontmid.Required != l.Front.MiddleRequired()) frontmid.Required = false;
 					if(frontlow.Required != l.Front.LowRequired()) frontlow.Required = false;
-					if(frontsector.Text != l.Front.Sector.Index.ToString()) frontsector.Text = "";
+					if(frontsector.Text != l.Front.Sector.Index.ToString()) frontsector.Text = string.Empty;
 
 					//mxd
 					if(General.Map.FormatInterface.HasCustomFields) {
@@ -521,7 +521,7 @@ namespace CodeImp.DoomBuilder.Windows
 
 						if(!string.IsNullOrEmpty(lightFront.Text)) {
 							int light = UDMFTools.GetInteger(l.Front.Fields, "light", 0);
-							if(light != lightFront.GetResult(light)) lightFront.Text = "";
+							if(light != lightFront.GetResult(light)) lightFront.Text = string.Empty;
 						}
 						
 						if(l.Front.Fields.GetValue("lightabsolute", false) != cbLightAbsoluteFront.Checked) {
@@ -543,19 +543,19 @@ namespace CodeImp.DoomBuilder.Windows
 					}
 
 					l.Front.Fields.BeforeFieldsChange(); //mxd
-					frontTextureOffset.SetValues(l.Front.OffsetX, l.Front.OffsetY); //mxd
+					frontTextureOffset.SetValues(l.Front.OffsetX, l.Front.OffsetY, false); //mxd
 				}
 
 				// Back settings
 				if(l.Back != null)
 				{
-					if(backhigh.TextureName != l.Back.HighTexture) backhigh.TextureName = "";
-					if(backmid.TextureName != l.Back.MiddleTexture) backmid.TextureName = "";
-					if(backlow.TextureName != l.Back.LowTexture) backlow.TextureName = "";
+					if(backhigh.TextureName != l.Back.HighTexture) backhigh.TextureName = string.Empty;
+					if(backmid.TextureName != l.Back.MiddleTexture) backmid.TextureName = string.Empty;
+					if(backlow.TextureName != l.Back.LowTexture) backlow.TextureName = string.Empty;
 					if(backhigh.Required != l.Back.HighRequired()) backhigh.Required = false;
 					if(backmid.Required != l.Back.MiddleRequired()) backmid.Required = false;
 					if(backlow.Required != l.Back.LowRequired()) backlow.Required = false;
-					if(backsector.Text != l.Back.Sector.Index.ToString()) backsector.Text = "";
+					if(backsector.Text != l.Back.Sector.Index.ToString()) backsector.Text = string.Empty;
 
 					//mxd
 					if(General.Map.FormatInterface.HasCustomFields) {
@@ -564,7 +564,7 @@ namespace CodeImp.DoomBuilder.Windows
 
 						if(!string.IsNullOrEmpty(lightBack.Text)) {
 							int light = UDMFTools.GetInteger(l.Back.Fields, "light", 0);
-							if(light != lightBack.GetResult(light)) lightBack.Text = "";
+							if(light != lightBack.GetResult(light)) lightBack.Text = string.Empty;
 						}
 
 						if(l.Back.Fields.GetValue("lightabsolute", false) != cbLightAbsoluteBack.Checked) {
@@ -586,7 +586,7 @@ namespace CodeImp.DoomBuilder.Windows
 					}
 
 					l.Back.Fields.BeforeFieldsChange(); //mxd
-					backTextureOffset.SetValues(l.Back.OffsetX, l.Back.OffsetY); //mxd
+					backTextureOffset.SetValues(l.Back.OffsetX, l.Back.OffsetY, false); //mxd
 				}
 
 				//mxd
@@ -1017,7 +1017,7 @@ namespace CodeImp.DoomBuilder.Windows
 
 				if(!string.IsNullOrEmpty(lightFront.Text)) {
 					int light = UDMFTools.GetInteger(s.Fields, "light", 0);
-					if(light != lightFront.GetResult(light)) lightFront.Text = "";
+					if(light != lightFront.GetResult(light)) lightFront.Text = string.Empty;
 				}
 
 				if(s.Fields.GetValue("lightabsolute", false) != cbLightAbsoluteFront.Checked) {
@@ -1073,7 +1073,7 @@ namespace CodeImp.DoomBuilder.Windows
 
 				if(!string.IsNullOrEmpty(lightBack.Text)) {
 					int light = UDMFTools.GetInteger(s.Fields, "light", 0);
-					if(light != lightBack.GetResult(light)) lightBack.Text = "";
+					if(light != lightBack.GetResult(light)) lightBack.Text = string.Empty;
 				}
 
 				if(s.Fields.GetValue("lightabsolute", false) != cbLightAbsoluteBack.Checked) {
-- 
GitLab