diff --git a/Source/Core/Controls/LinedefInfoPanel.cs b/Source/Core/Controls/LinedefInfoPanel.cs
index d97b8617aec5137e5eab0b3b093098efc453c00b..3ef4b0c72d3d8f8fc0c954e4e3599cca45239c13 100644
--- a/Source/Core/Controls/LinedefInfoPanel.cs
+++ b/Source/Core/Controls/LinedefInfoPanel.cs
@@ -39,6 +39,7 @@ namespace CodeImp.DoomBuilder.Controls
 	{
 		private int hexenformatwidth;
 		private int doomformatwidth;
+        private List<UniversalFieldInfo> fieldInfos;
 		
 		// Constructor
 		public LinedefInfoPanel()
@@ -58,6 +59,11 @@ namespace CodeImp.DoomBuilder.Controls
 			bool upperunpegged, lowerunpegged;
 			string peggedness;
 			int defaultPanelWidth = 270; //mxd
+
+            //mxd
+            if (General.Map.UDMF && fieldInfos == null) {
+                fieldInfos = General.Map.Config.SidedefFields;
+            }
 			
 			// Show/hide stuff depending on format
 			if(!General.Map.FormatInterface.HasActionArgs)
@@ -173,19 +179,19 @@ namespace CodeImp.DoomBuilder.Controls
 					//sidedef top
 					if(checkPairedUDMFFields(l.Front.Fields, "offsetx_top", "offsety_top", frontTopUDMFOffsetLabel, frontTopUDMFOffset))
 						hasTopFields = true;
-					if(checkPairedUDMFFields(l.Front.Fields, "scalex_top", "scaley_top", frontTopUDMFScaleLabel, frontTopUDMFScale))
+                    if (checkPairedUDMFFields(l.Front.Fields, "scalex_top", "scaley_top", frontTopUDMFScaleLabel, frontTopUDMFScale))
 						hasTopFields = true;
 
 					//sidedef middle
-					if(checkPairedUDMFFields(l.Front.Fields, "offsetx_mid", "offsety_mid", frontMidUDMFOffsetLabel, frontMidUDMFOffset))
+                    if (checkPairedUDMFFields(l.Front.Fields, "offsetx_mid", "offsety_mid", frontMidUDMFOffsetLabel, frontMidUDMFOffset))
 						hasMiddleFields = true;
-					if(checkPairedUDMFFields(l.Front.Fields, "scalex_mid", "scaley_mid", frontMidUDMFScaleLabel, frontMidUDMFScale))
+                    if (checkPairedUDMFFields(l.Front.Fields, "scalex_mid", "scaley_mid", frontMidUDMFScaleLabel, frontMidUDMFScale))
 						hasMiddleFields = true;
 
 					//sidedef bottom
-					if(checkPairedUDMFFields(l.Front.Fields, "offsetx_bottom", "offsety_bottom", frontBottomUDMFOffsetLabel, frontBottomUDMFOffset))
+                    if (checkPairedUDMFFields(l.Front.Fields, "offsetx_bottom", "offsety_bottom", frontBottomUDMFOffsetLabel, frontBottomUDMFOffset))
 						hasBottomFields = true;
-					if(checkPairedUDMFFields(l.Front.Fields, "scalex_bottom", "scaley_bottom", frontBottomUDMFScaleLabel, frontBottomUDMFScale))
+                    if (checkPairedUDMFFields(l.Front.Fields, "scalex_bottom", "scaley_bottom", frontBottomUDMFScaleLabel, frontBottomUDMFScale))
 						hasBottomFields = true;
 
 					//visibility
@@ -269,21 +275,21 @@ namespace CodeImp.DoomBuilder.Controls
 					bool hasBottomFields = false;
 
 					//sidedef top
-					if(checkPairedUDMFFields(l.Back.Fields, "offsetx_top", "offsety_top", backTopUDMFOffsetLabel, backTopUDMFOffset))
+                    if (checkPairedUDMFFields(l.Back.Fields, "offsetx_top", "offsety_top", backTopUDMFOffsetLabel, backTopUDMFOffset))
 						hasTopFields = true;
-					if(checkPairedUDMFFields(l.Back.Fields, "scalex_top", "scaley_top", backTopUDMFScaleLabel, backTopUDMFScale))
+                    if (checkPairedUDMFFields(l.Back.Fields, "scalex_top", "scaley_top", backTopUDMFScaleLabel, backTopUDMFScale))
 						hasTopFields = true;
 
 					//sidedef middle
-					if(checkPairedUDMFFields(l.Back.Fields, "offsetx_mid", "offsety_mid", backMidUDMFOffsetLabel, backMidUDMFOffset))
+                    if (checkPairedUDMFFields(l.Back.Fields, "offsetx_mid", "offsety_mid", backMidUDMFOffsetLabel, backMidUDMFOffset))
 						hasMiddleFields = true;
-					if(checkPairedUDMFFields(l.Back.Fields, "scalex_mid", "scaley_mid", backMidUDMFScaleLabel, backMidUDMFScale))
+                    if (checkPairedUDMFFields(l.Back.Fields, "scalex_mid", "scaley_mid", backMidUDMFScaleLabel, backMidUDMFScale))
 						hasMiddleFields = true;
 
 					//sidedef bottom
-					if(checkPairedUDMFFields(l.Back.Fields, "offsetx_bottom", "offsety_bottom", backBottomUDMFOffsetLabel, backBottomUDMFOffset))
+                    if (checkPairedUDMFFields(l.Back.Fields, "offsetx_bottom", "offsety_bottom", backBottomUDMFOffsetLabel, backBottomUDMFOffset))
 						hasBottomFields = true;
-					if(checkPairedUDMFFields(l.Back.Fields, "scalex_bottom", "scaley_bottom", backBottomUDMFScaleLabel, backBottomUDMFScale))
+                    if (checkPairedUDMFFields(l.Back.Fields, "scalex_bottom", "scaley_bottom", backBottomUDMFScaleLabel, backBottomUDMFScale))
 						hasBottomFields = true;
 
 					//visibility
@@ -352,16 +358,18 @@ namespace CodeImp.DoomBuilder.Controls
 
 		//mxd
 		private bool checkPairedUDMFFields(UniFields fields, string paramX, string paramY, Label label, Label value) {
-			float x = 0;
-			float y = 0;
+            float dx = getDefaultUDMFValue(paramX);
+            float dy = getDefaultUDMFValue(paramY);
+            float x = dx;
+            float y = dy;
 
 			if(fields.ContainsKey(paramX))
 				x = (float)fields[paramX].Value;
 			if(fields.ContainsKey(paramY))
 				y = (float)fields[paramY].Value;
 
-			if(x != 0.0f || y != 0.0f) {
-				value.Text = x + ", " + y;
+			if(x != dx || y != dy) {
+                value.Text = String.Format("{0:0.##}", x) + ", " + String.Format("{0:0.##}", y);
 				value.Enabled = true;
 				label.Enabled = true;
 				return true;
@@ -390,6 +398,15 @@ namespace CodeImp.DoomBuilder.Controls
 			}
 		}
 
+        //mxd
+        private float getDefaultUDMFValue(string valueName) {
+            foreach (UniversalFieldInfo fi in fieldInfos) {
+                if (fi.Name == valueName)
+                    return (float)fi.Default;
+            }
+            return 0;
+        }
+
 		// When visible changed
 		protected override void OnVisibleChanged(EventArgs e)
 		{
diff --git a/Source/Core/Controls/SectorInfoPanel.cs b/Source/Core/Controls/SectorInfoPanel.cs
index b5a72edd62e64cc3c454eb4b729888b40bcb8887..85fa6c755eb74ba8729c6dcf640acf4a645d396e 100644
--- a/Source/Core/Controls/SectorInfoPanel.cs
+++ b/Source/Core/Controls/SectorInfoPanel.cs
@@ -119,7 +119,7 @@ namespace CodeImp.DoomBuilder.Controls
 					showExtededCeilingInfo = true;
 					ceilingOffset.Enabled = true;
 					ceilingOffsetLabel.Enabled = true;
-					ceilingOffset.Text = panX + ", " + panY;
+                    ceilingOffset.Text = String.Format("{0:0.##}", panX) + ", " + String.Format("{0:0.##}", panY);
 				} else {
 					ceilingOffset.Text = "--, --";
 					ceilingOffset.Enabled = false;
@@ -138,7 +138,7 @@ namespace CodeImp.DoomBuilder.Controls
 					showExtededFloorInfo = true;
 					floorOffset.Enabled = true;
 					floorOffsetLabel.Enabled = true;
-					floorOffset.Text = panX + ", " + panY;
+                    floorOffset.Text = String.Format("{0:0.##}", panX) + ", " + String.Format("{0:0.##}", panY);
 				} else {
 					floorOffset.Text = "--, --";
 					floorOffset.Enabled = false;
@@ -159,7 +159,7 @@ namespace CodeImp.DoomBuilder.Controls
 					showExtededCeilingInfo = true;
 					ceilingScale.Enabled = true;
 					ceilingScaleLabel.Enabled = true;
-					ceilingScale.Text = scaleX + ", " + scaleY;
+                    ceilingScale.Text = String.Format("{0:0.##}", scaleX) + ", " + String.Format("{0:0.##}", scaleY);
 				} else {
 					ceilingScale.Text = "--, --";
 					ceilingScale.Enabled = false;
@@ -179,7 +179,7 @@ namespace CodeImp.DoomBuilder.Controls
 					showExtededFloorInfo = true;
 					floorScale.Enabled = true;
 					floorScaleLabel.Enabled = true;
-					floorScale.Text = scaleX + ", " + scaleY;
+                    floorScale.Text = String.Format("{0:0.##}", scaleX) + ", " + String.Format("{0:0.##}", scaleY);
 				} else {
 					floorScale.Text = "--, --";
 					floorScale.Enabled = false;
diff --git a/Source/Plugins/GZDoomEditing/VisualModes/VisualCeiling.cs b/Source/Plugins/GZDoomEditing/VisualModes/VisualCeiling.cs
index 2c9dae1d7a58630c2a3e05b455e7e57e929e15b3..3e4d326484c6e7106b9ccf97fc716ed29cb6c849 100644
--- a/Source/Plugins/GZDoomEditing/VisualModes/VisualCeiling.cs
+++ b/Source/Plugins/GZDoomEditing/VisualModes/VisualCeiling.cs
@@ -227,7 +227,8 @@ namespace CodeImp.DoomBuilder.GZDoomEditing
                     base.OnChangeTargetBrightness(up);
                 }
             } else {
-				if(!General.Map.UDMF) {
+                //if a map is not in UDMF format, or this ceiling is part of 3D-floor...
+                if(!General.Map.UDMF || Sector.Sector != level.sector) {
 					base.OnChangeTargetBrightness(up);
 					return;
 				}
diff --git a/Source/Plugins/UMDFControls/Controls/FloatSlider.cs b/Source/Plugins/UMDFControls/Controls/FloatSlider.cs
index a1a35c08bd6c13ff780ec7569e7ce00f01b326e8..4ab2b907a2bb81915e782c63346bac7e5dfc4055 100644
--- a/Source/Plugins/UMDFControls/Controls/FloatSlider.cs
+++ b/Source/Plugins/UMDFControls/Controls/FloatSlider.cs
@@ -17,7 +17,7 @@ namespace CodeImp.DoomBuilder.UDMFControls
 
         public float Value {
             get {
-                return (float)Math.Round(numericUpDown1.Value, 1);
+                return (float)Math.Round(numericUpDown1.Value, 2);
             }
             set {
                 blockEvents = true;
@@ -47,7 +47,6 @@ namespace CodeImp.DoomBuilder.UDMFControls
         public FloatSlider() {
             InitializeComponent();
             ShowLabels = showLabels;
-            numericUpDown1.DecimalPlaces = 1;
         }
 
         public void SetLimits(float min, float max, bool extendedLimits) {
@@ -75,12 +74,12 @@ namespace CodeImp.DoomBuilder.UDMFControls
 
         //events
         private void trackBar1_ValueChanged(object sender, EventArgs e) {
-            if (!blockEvents) numericUpDown1.Value = Math.Round((decimal)(trackBar1.Value / 10.0), 1);
+            if (!blockEvents) numericUpDown1.Value = Math.Round((decimal)(trackBar1.Value / 10.0), 2);
         }
 
         private void numericUpDown1_ValueChanged(object sender, EventArgs e) {
-            float value = (float)Math.Round(numericUpDown1.Value, 1);
-            delta = (float)Math.Round(value - previousValue, 1);
+            float value = (float)Math.Round(numericUpDown1.Value, 2);
+            delta = (float)Math.Round(value - previousValue, 2);
             previousValue = value;
 
             if (!blockEvents && OnValueChanged != null)
diff --git a/Source/Plugins/UMDFControls/Controls/FloatSlider.designer.cs b/Source/Plugins/UMDFControls/Controls/FloatSlider.designer.cs
index 45df2694084eb29ae1203e83747ec59e7962000d..381e2b5319b9a5a3e703e32c7a19c5cc8cfb9cea 100644
--- a/Source/Plugins/UMDFControls/Controls/FloatSlider.designer.cs
+++ b/Source/Plugins/UMDFControls/Controls/FloatSlider.designer.cs
@@ -35,15 +35,15 @@
             // 
             // numericUpDown1
             // 
-            this.numericUpDown1.DecimalPlaces = 1;
+            this.numericUpDown1.DecimalPlaces = 2;
             this.numericUpDown1.Increment = new decimal(new int[] {
             1,
             0,
             0,
             65536});
-            this.numericUpDown1.Location = new System.Drawing.Point(167, 16);
+            this.numericUpDown1.Location = new System.Drawing.Point(161, 16);
             this.numericUpDown1.Name = "numericUpDown1";
-            this.numericUpDown1.Size = new System.Drawing.Size(44, 20);
+            this.numericUpDown1.Size = new System.Drawing.Size(52, 20);
             this.numericUpDown1.TabIndex = 5;
             this.numericUpDown1.ValueChanged += new System.EventHandler(this.numericUpDown1_ValueChanged);
             // 
diff --git a/Source/Plugins/UMDFControls/Controls/IntSlider.designer.cs b/Source/Plugins/UMDFControls/Controls/IntSlider.designer.cs
index f049976f874355bb9f68805ebbaa4e32d00fbdf2..94c2d1e4fe333a27fa0eaaf61c9a8eb4e82cfb93 100644
--- a/Source/Plugins/UMDFControls/Controls/IntSlider.designer.cs
+++ b/Source/Plugins/UMDFControls/Controls/IntSlider.designer.cs
@@ -34,9 +34,9 @@
             // 
             // numericUpDown1
             // 
-            this.numericUpDown1.Location = new System.Drawing.Point(167, 16);
+            this.numericUpDown1.Location = new System.Drawing.Point(162, 16);
             this.numericUpDown1.Name = "numericUpDown1";
-            this.numericUpDown1.Size = new System.Drawing.Size(44, 20);
+            this.numericUpDown1.Size = new System.Drawing.Size(52, 20);
             this.numericUpDown1.TabIndex = 5;
             this.numericUpDown1.ValueChanged += new System.EventHandler(this.numericUpDown1_ValueChanged);
             // 
@@ -70,7 +70,7 @@
             this.labelMax.Text = "512";
             this.labelMax.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
             // 
-            // ColorPickerSlider
+            // IntSlider
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
@@ -78,7 +78,7 @@
             this.Controls.Add(this.labelMin);
             this.Controls.Add(this.numericUpDown1);
             this.Controls.Add(this.trackBar1);
-            this.Name = "ColorPickerSlider";
+            this.Name = "IntSlider";
             this.Size = new System.Drawing.Size(220, 45);
             ((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.trackBar1)).EndInit();
diff --git a/Source/Plugins/UMDFControls/Controls/PositionControl.designer.cs b/Source/Plugins/UMDFControls/Controls/PositionControl.designer.cs
index 5afed22a71f7eb3a4daa3af61bd658d07a9b9de1..e3d3a21476e43ebb64af496c1a3234e94772369a 100644
--- a/Source/Plugins/UMDFControls/Controls/PositionControl.designer.cs
+++ b/Source/Plugins/UMDFControls/Controls/PositionControl.designer.cs
@@ -39,7 +39,7 @@
             // 
             // nudY
             // 
-            this.nudY.DecimalPlaces = 1;
+            this.nudY.DecimalPlaces = 2;
             this.nudY.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
             this.nudY.Location = new System.Drawing.Point(29, 29);
             this.nudY.Maximum = new decimal(new int[] {
@@ -59,7 +59,7 @@
             // 
             // nudX
             // 
-            this.nudX.DecimalPlaces = 1;
+            this.nudX.DecimalPlaces = 2;
             this.nudX.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
             this.nudX.Location = new System.Drawing.Point(29, 3);
             this.nudX.Maximum = new decimal(new int[] {
diff --git a/Source/Plugins/UMDFControls/Controls/ScaleControl.designer.cs b/Source/Plugins/UMDFControls/Controls/ScaleControl.designer.cs
index 21acc0c95a779c42e0f27bf9689566b5dec8ae52..5dc0d75fd40c4cff00218d442985f833c0e0e243 100644
--- a/Source/Plugins/UMDFControls/Controls/ScaleControl.designer.cs
+++ b/Source/Plugins/UMDFControls/Controls/ScaleControl.designer.cs
@@ -27,15 +27,17 @@
         private void InitializeComponent() {
             this.button1 = new System.Windows.Forms.Button();
             this.pictureBox1 = new System.Windows.Forms.PictureBox();
-            this.floatSlider2 = new CodeImp.DoomBuilder.UDMFControls.FloatSlider();
             this.floatSlider1 = new CodeImp.DoomBuilder.UDMFControls.FloatSlider();
+            this.floatSlider2 = new CodeImp.DoomBuilder.UDMFControls.FloatSlider();
+            this.label1 = new System.Windows.Forms.Label();
+            this.label2 = new System.Windows.Forms.Label();
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
             this.SuspendLayout();
             // 
             // button1
             // 
             this.button1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
-            this.button1.Location = new System.Drawing.Point(6, 38);
+            this.button1.Location = new System.Drawing.Point(11, 38);
             this.button1.Name = "button1";
             this.button1.Size = new System.Drawing.Size(18, 24);
             this.button1.TabIndex = 2;
@@ -44,12 +46,21 @@
             // pictureBox1
             // 
             this.pictureBox1.Image = global::CodeImp.DoomBuilder.UDMFControls.Properties.Resources.ScaleLink;
-            this.pictureBox1.Location = new System.Drawing.Point(15, 26);
+            this.pictureBox1.Location = new System.Drawing.Point(20, 26);
             this.pictureBox1.Name = "pictureBox1";
             this.pictureBox1.Size = new System.Drawing.Size(10, 47);
             this.pictureBox1.TabIndex = 3;
             this.pictureBox1.TabStop = false;
             // 
+            // floatSlider1
+            // 
+            this.floatSlider1.Location = new System.Drawing.Point(0, 0);
+            this.floatSlider1.Name = "floatSlider1";
+            this.floatSlider1.ShowLabels = true;
+            this.floatSlider1.Size = new System.Drawing.Size(220, 45);
+            this.floatSlider1.TabIndex = 0;
+            this.floatSlider1.Value = 0F;
+            // 
             // floatSlider2
             // 
             this.floatSlider2.Location = new System.Drawing.Point(0, 45);
@@ -59,19 +70,30 @@
             this.floatSlider2.TabIndex = 1;
             this.floatSlider2.Value = 0F;
             // 
-            // floatSlider1
+            // label1
             // 
-            this.floatSlider1.Location = new System.Drawing.Point(0, 0);
-            this.floatSlider1.Name = "floatSlider1";
-            this.floatSlider1.ShowLabels = true;
-            this.floatSlider1.Size = new System.Drawing.Size(220, 45);
-            this.floatSlider1.TabIndex = 0;
-            this.floatSlider1.Value = 0F;
+            this.label1.AutoSize = true;
+            this.label1.Location = new System.Drawing.Point(3, 18);
+            this.label1.Name = "label1";
+            this.label1.Size = new System.Drawing.Size(15, 13);
+            this.label1.TabIndex = 4;
+            this.label1.Text = "x:";
+            // 
+            // label2
+            // 
+            this.label2.AutoSize = true;
+            this.label2.Location = new System.Drawing.Point(3, 64);
+            this.label2.Name = "label2";
+            this.label2.Size = new System.Drawing.Size(15, 13);
+            this.label2.TabIndex = 5;
+            this.label2.Text = "y:";
             // 
             // ScaleControl
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.Controls.Add(this.label2);
+            this.Controls.Add(this.label1);
             this.Controls.Add(this.button1);
             this.Controls.Add(this.pictureBox1);
             this.Controls.Add(this.floatSlider1);
@@ -80,6 +102,7 @@
             this.Size = new System.Drawing.Size(220, 94);
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
             this.ResumeLayout(false);
+            this.PerformLayout();
 
         }
 
@@ -89,5 +112,7 @@
         private FloatSlider floatSlider2;
         private System.Windows.Forms.Button button1;
         private System.Windows.Forms.PictureBox pictureBox1;
+        private System.Windows.Forms.Label label1;
+        private System.Windows.Forms.Label label2;
     }
 }
diff --git a/Source/Plugins/UMDFControls/Windows/UDMFControlsForm.Designer.cs b/Source/Plugins/UMDFControls/Windows/UDMFControlsForm.Designer.cs
index 1466a95ce54661a97ee41fa8490fb16cde26718a..2201bd9fcff94921ed2333e133b7d340283855d7 100644
--- a/Source/Plugins/UMDFControls/Windows/UDMFControlsForm.Designer.cs
+++ b/Source/Plugins/UMDFControls/Windows/UDMFControlsForm.Designer.cs
@@ -27,14 +27,10 @@
             this.btnOK = new System.Windows.Forms.Button();
             this.btnCancel = new System.Windows.Forms.Button();
             this.gbRotation = new System.Windows.Forms.GroupBox();
-            this.angleControl1 = new CodeImp.DoomBuilder.UDMFControls.AngleControl();
             this.gbPosition = new System.Windows.Forms.GroupBox();
-            this.positionControl1 = new CodeImp.DoomBuilder.UDMFControls.PositionControl();
             this.gbScale = new System.Windows.Forms.GroupBox();
-            this.scaleControl = new CodeImp.DoomBuilder.UDMFControls.ScaleControl();
             this.bgBrightness = new System.Windows.Forms.GroupBox();
             this.cblightabsolute = new System.Windows.Forms.CheckBox();
-            this.sliderBrightness = new CodeImp.DoomBuilder.UDMFControls.IntSlider();
             this.tabControl1 = new System.Windows.Forms.TabControl();
             this.tabPage1 = new System.Windows.Forms.TabPage();
             this.groupBox1 = new System.Windows.Forms.GroupBox();
@@ -42,13 +38,12 @@
             this.gbAlpha = new System.Windows.Forms.GroupBox();
             this.label2 = new System.Windows.Forms.Label();
             this.cbRenderStyle = new System.Windows.Forms.ComboBox();
-            this.sliderAlpha = new CodeImp.DoomBuilder.UDMFControls.FloatSlider();
             this.labelGravity = new System.Windows.Forms.Label();
             this.nudGravity = new System.Windows.Forms.NumericUpDown();
             this.gbDesaturation = new System.Windows.Forms.GroupBox();
-            this.sliderDesaturation = new CodeImp.DoomBuilder.UDMFControls.FloatSlider();
             this.tabPage2 = new System.Windows.Forms.TabPage();
             this.gbFlagsFloor = new System.Windows.Forms.GroupBox();
+            this.cbhidden = new System.Windows.Forms.CheckBox();
             this.cbsilent = new System.Windows.Forms.CheckBox();
             this.cbnorespawn = new System.Windows.Forms.CheckBox();
             this.cbnofallingdamage = new System.Windows.Forms.CheckBox();
@@ -59,7 +54,12 @@
             this.cbnofakecontrast = new System.Windows.Forms.CheckBox();
             this.cbwrapmidtex = new System.Windows.Forms.CheckBox();
             this.cbclipmidtex = new System.Windows.Forms.CheckBox();
-            this.cbhidden = new System.Windows.Forms.CheckBox();
+            this.positionControl1 = new CodeImp.DoomBuilder.UDMFControls.PositionControl();
+            this.angleControl1 = new CodeImp.DoomBuilder.UDMFControls.AngleControl();
+            this.scaleControl = new CodeImp.DoomBuilder.UDMFControls.ScaleControl();
+            this.sliderAlpha = new CodeImp.DoomBuilder.UDMFControls.FloatSlider();
+            this.sliderDesaturation = new CodeImp.DoomBuilder.UDMFControls.FloatSlider();
+            this.sliderBrightness = new CodeImp.DoomBuilder.UDMFControls.IntSlider();
             this.gbRotation.SuspendLayout();
             this.gbPosition.SuspendLayout();
             this.gbScale.SuspendLayout();
@@ -105,17 +105,6 @@
             this.gbRotation.TabStop = false;
             this.gbRotation.Text = "Rotation:";
             // 
-            // angleControl1
-            // 
-            this.angleControl1.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
-            this.angleControl1.Location = new System.Drawing.Point(6, 19);
-            this.angleControl1.Name = "angleControl1";
-            this.angleControl1.Size = new System.Drawing.Size(102, 125);
-            this.angleControl1.TabIndex = 2;
-            this.angleControl1.Tag = "rotation";
-            this.angleControl1.Value = 0F;
-            this.angleControl1.OnAngleChanged += new System.EventHandler(this.angleControl1_OnAngleChanged);
-            // 
             // gbPosition
             // 
             this.gbPosition.Controls.Add(this.positionControl1);
@@ -126,15 +115,6 @@
             this.gbPosition.TabStop = false;
             this.gbPosition.Text = "Position:";
             // 
-            // positionControl1
-            // 
-            this.positionControl1.Location = new System.Drawing.Point(-2, 20);
-            this.positionControl1.Name = "positionControl1";
-            this.positionControl1.Size = new System.Drawing.Size(106, 127);
-            this.positionControl1.TabIndex = 0;
-            this.positionControl1.Tag = "offset";
-            this.positionControl1.OnValueChanged += new System.EventHandler(this.positionControl1_OnValueChanged);
-            // 
             // gbScale
             // 
             this.gbScale.Controls.Add(this.scaleControl);
@@ -145,15 +125,6 @@
             this.gbScale.TabStop = false;
             this.gbScale.Text = "Scale:";
             // 
-            // scaleControl
-            // 
-            this.scaleControl.Location = new System.Drawing.Point(8, 19);
-            this.scaleControl.Name = "scaleControl";
-            this.scaleControl.Size = new System.Drawing.Size(220, 94);
-            this.scaleControl.TabIndex = 0;
-            this.scaleControl.Tag = "scale";
-            this.scaleControl.OnValueChanged += new System.EventHandler(this.scaleControl_OnValueChanged);
-            // 
             // bgBrightness
             // 
             this.bgBrightness.Controls.Add(this.cblightabsolute);
@@ -177,17 +148,6 @@
             this.cblightabsolute.UseVisualStyleBackColor = true;
             this.cblightabsolute.CheckedChanged += new System.EventHandler(this.cblightabsolute_CheckedChanged);
             // 
-            // sliderBrightness
-            // 
-            this.sliderBrightness.Location = new System.Drawing.Point(6, 19);
-            this.sliderBrightness.Name = "sliderBrightness";
-            this.sliderBrightness.ShowLabels = true;
-            this.sliderBrightness.Size = new System.Drawing.Size(220, 45);
-            this.sliderBrightness.TabIndex = 0;
-            this.sliderBrightness.Tag = "light";
-            this.sliderBrightness.Value = 0;
-            this.sliderBrightness.OnValueChanged += new System.EventHandler(this.sliderBrightness_OnValueChanged);
-            // 
             // tabControl1
             // 
             this.tabControl1.Controls.Add(this.tabPage1);
@@ -269,17 +229,6 @@
             this.cbRenderStyle.Tag = "renderstyle";
             this.cbRenderStyle.SelectedIndexChanged += new System.EventHandler(this.cbRenderStyle_SelectedIndexChanged);
             // 
-            // sliderAlpha
-            // 
-            this.sliderAlpha.Location = new System.Drawing.Point(6, 19);
-            this.sliderAlpha.Name = "sliderAlpha";
-            this.sliderAlpha.ShowLabels = true;
-            this.sliderAlpha.Size = new System.Drawing.Size(220, 45);
-            this.sliderAlpha.TabIndex = 0;
-            this.sliderAlpha.Tag = "alpha";
-            this.sliderAlpha.Value = 0F;
-            this.sliderAlpha.OnValueChanged += new System.EventHandler(this.sliderAlpha_OnValueChanged);
-            // 
             // labelGravity
             // 
             this.labelGravity.AutoSize = true;
@@ -313,16 +262,6 @@
             this.gbDesaturation.TabStop = false;
             this.gbDesaturation.Text = "Desaturation:";
             // 
-            // sliderDesaturation
-            // 
-            this.sliderDesaturation.Location = new System.Drawing.Point(6, 19);
-            this.sliderDesaturation.Name = "sliderDesaturation";
-            this.sliderDesaturation.ShowLabels = true;
-            this.sliderDesaturation.Size = new System.Drawing.Size(220, 45);
-            this.sliderDesaturation.TabIndex = 0;
-            this.sliderDesaturation.Tag = "desaturation";
-            this.sliderDesaturation.Value = 0F;
-            // 
             // tabPage2
             // 
             this.tabPage2.Controls.Add(this.gbFlagsFloor);
@@ -349,6 +288,17 @@
             this.gbFlagsFloor.TabStop = false;
             this.gbFlagsFloor.Text = "Floor and Ceiling flags:";
             // 
+            // cbhidden
+            // 
+            this.cbhidden.AutoSize = true;
+            this.cbhidden.Location = new System.Drawing.Point(6, 43);
+            this.cbhidden.Name = "cbhidden";
+            this.cbhidden.Size = new System.Drawing.Size(59, 18);
+            this.cbhidden.TabIndex = 4;
+            this.cbhidden.Tag = "hidden";
+            this.cbhidden.Text = "Hidden";
+            this.cbhidden.UseVisualStyleBackColor = true;
+            // 
             // cbsilent
             // 
             this.cbsilent.AutoSize = true;
@@ -463,16 +413,66 @@
             this.cbclipmidtex.Text = "Clip Middle Texture";
             this.cbclipmidtex.UseVisualStyleBackColor = true;
             // 
-            // cbhidden
+            // positionControl1
             // 
-            this.cbhidden.AutoSize = true;
-            this.cbhidden.Location = new System.Drawing.Point(6, 43);
-            this.cbhidden.Name = "cbhidden";
-            this.cbhidden.Size = new System.Drawing.Size(59, 18);
-            this.cbhidden.TabIndex = 4;
-            this.cbhidden.Tag = "hidden";
-            this.cbhidden.Text = "Hidden";
-            this.cbhidden.UseVisualStyleBackColor = true;
+            this.positionControl1.Location = new System.Drawing.Point(-2, 20);
+            this.positionControl1.Name = "positionControl1";
+            this.positionControl1.Size = new System.Drawing.Size(106, 127);
+            this.positionControl1.TabIndex = 0;
+            this.positionControl1.Tag = "offset";
+            this.positionControl1.OnValueChanged += new System.EventHandler(this.positionControl1_OnValueChanged);
+            // 
+            // angleControl1
+            // 
+            this.angleControl1.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.angleControl1.Location = new System.Drawing.Point(6, 19);
+            this.angleControl1.Name = "angleControl1";
+            this.angleControl1.Size = new System.Drawing.Size(102, 125);
+            this.angleControl1.TabIndex = 2;
+            this.angleControl1.Tag = "rotation";
+            this.angleControl1.Value = 0F;
+            this.angleControl1.OnAngleChanged += new System.EventHandler(this.angleControl1_OnAngleChanged);
+            // 
+            // scaleControl
+            // 
+            this.scaleControl.Location = new System.Drawing.Point(3, 19);
+            this.scaleControl.Name = "scaleControl";
+            this.scaleControl.Size = new System.Drawing.Size(220, 94);
+            this.scaleControl.TabIndex = 0;
+            this.scaleControl.Tag = "scale";
+            this.scaleControl.OnValueChanged += new System.EventHandler(this.scaleControl_OnValueChanged);
+            // 
+            // sliderAlpha
+            // 
+            this.sliderAlpha.Location = new System.Drawing.Point(6, 19);
+            this.sliderAlpha.Name = "sliderAlpha";
+            this.sliderAlpha.ShowLabels = true;
+            this.sliderAlpha.Size = new System.Drawing.Size(220, 45);
+            this.sliderAlpha.TabIndex = 0;
+            this.sliderAlpha.Tag = "alpha";
+            this.sliderAlpha.Value = 0F;
+            this.sliderAlpha.OnValueChanged += new System.EventHandler(this.sliderAlpha_OnValueChanged);
+            // 
+            // sliderDesaturation
+            // 
+            this.sliderDesaturation.Location = new System.Drawing.Point(6, 19);
+            this.sliderDesaturation.Name = "sliderDesaturation";
+            this.sliderDesaturation.ShowLabels = true;
+            this.sliderDesaturation.Size = new System.Drawing.Size(220, 45);
+            this.sliderDesaturation.TabIndex = 0;
+            this.sliderDesaturation.Tag = "desaturation";
+            this.sliderDesaturation.Value = 0F;
+            // 
+            // sliderBrightness
+            // 
+            this.sliderBrightness.Location = new System.Drawing.Point(6, 19);
+            this.sliderBrightness.Name = "sliderBrightness";
+            this.sliderBrightness.ShowLabels = true;
+            this.sliderBrightness.Size = new System.Drawing.Size(220, 45);
+            this.sliderBrightness.TabIndex = 0;
+            this.sliderBrightness.Tag = "light";
+            this.sliderBrightness.Value = 0;
+            this.sliderBrightness.OnValueChanged += new System.EventHandler(this.sliderBrightness_OnValueChanged);
             // 
             // UDMFControlsForm
             //