diff --git a/Source/Core/Builder.csproj b/Source/Core/Builder.csproj
index 38148b48e0e17c133bee1dbbd7c42897c939dab5..f95232a36b3b9a4884a3a5ee1867da6ea08b3976 100644
--- a/Source/Core/Builder.csproj
+++ b/Source/Core/Builder.csproj
@@ -172,16 +172,16 @@
     <Compile Include="Config\CompilerInfo.cs" />
     <Compile Include="Config\ConfigurationInfo.cs" />
     <Compile Include="Geometry\TracksTracer.cs" />
-    <Compile Include="GZBuilder\Controls\AngleControlF.cs">
+    <Compile Include="Controls\AngleControlF.cs">
       <SubType>UserControl</SubType>
     </Compile>
-    <Compile Include="GZBuilder\Controls\AngleControlF.designer.cs">
+    <Compile Include="Controls\AngleControlF.designer.cs">
       <DependentUpon>AngleControlF.cs</DependentUpon>
     </Compile>
-    <Compile Include="GZBuilder\Controls\PairedFloatControl.cs">
+    <Compile Include="Controls\PairedFloatControl.cs">
       <SubType>UserControl</SubType>
     </Compile>
-    <Compile Include="GZBuilder\Controls\PairedFloatControl.Designer.cs">
+    <Compile Include="Controls\PairedFloatControl.Designer.cs">
       <DependentUpon>PairedFloatControl.cs</DependentUpon>
     </Compile>
     <Compile Include="Windows\ThingStatisticsForm.cs">
@@ -573,10 +573,10 @@
     <Reference Include="System.Xml" />
   </ItemGroup>
   <ItemGroup>
-    <EmbeddedResource Include="GZBuilder\Controls\AngleControlF.resx">
+    <EmbeddedResource Include="Controls\AngleControlF.resx">
       <DependentUpon>AngleControlF.cs</DependentUpon>
     </EmbeddedResource>
-    <EmbeddedResource Include="GZBuilder\Controls\PairedFloatControl.resx">
+    <EmbeddedResource Include="Controls\PairedFloatControl.resx">
       <DependentUpon>PairedFloatControl.cs</DependentUpon>
     </EmbeddedResource>
     <EmbeddedResource Include="Windows\ThingStatisticsForm.resx">
@@ -872,46 +872,46 @@
     <Compile Include="General\UpdateChecker.cs" />
     <Compile Include="Geometry\CurveTools.cs" />
     <Compile Include="Geometry\InterpolationTools.cs" />
-    <Compile Include="GZBuilder\Controls\AngleControl.cs">
+    <Compile Include="Controls\AngleControlEx.cs">
       <SubType>UserControl</SubType>
     </Compile>
-    <Compile Include="GZBuilder\Controls\AngleControl.Designer.cs">
-      <DependentUpon>AngleControl.cs</DependentUpon>
+    <Compile Include="Controls\AngleControlEx.Designer.cs">
+      <DependentUpon>AngleControlEx.cs</DependentUpon>
     </Compile>
-    <Compile Include="GZBuilder\Controls\ColorFieldsControl.cs">
+    <Compile Include="Controls\ColorFieldsControl.cs">
       <SubType>UserControl</SubType>
     </Compile>
-    <Compile Include="GZBuilder\Controls\ColorFieldsControl.Designer.cs">
+    <Compile Include="Controls\ColorFieldsControl.Designer.cs">
       <DependentUpon>ColorFieldsControl.cs</DependentUpon>
     </Compile>
-    <Compile Include="GZBuilder\Controls\TagsSelector.cs">
+    <Compile Include="Controls\TagsSelector.cs">
       <SubType>UserControl</SubType>
     </Compile>
-    <Compile Include="GZBuilder\Controls\TagsSelector.Designer.cs">
+    <Compile Include="Controls\TagsSelector.Designer.cs">
       <DependentUpon>TagsSelector.cs</DependentUpon>
     </Compile>
     <Compile Include="Controls\CheckedColoredListBox.cs">
       <SubType>Component</SubType>
     </Compile>
-    <Compile Include="GZBuilder\Controls\MultiSelectTreeview.cs">
+    <Compile Include="Controls\MultiSelectTreeview.cs">
       <SubType>Component</SubType>
     </Compile>
-    <Compile Include="GZBuilder\Controls\PairedFieldsControl.cs">
+    <Compile Include="Controls\PairedFieldsControl.cs">
       <SubType>UserControl</SubType>
     </Compile>
-    <Compile Include="GZBuilder\Controls\PairedFieldsControl.Designer.cs">
+    <Compile Include="Controls\PairedFieldsControl.Designer.cs">
       <DependentUpon>PairedFieldsControl.cs</DependentUpon>
     </Compile>
-    <Compile Include="GZBuilder\Controls\PairedIntControl.cs">
+    <Compile Include="Controls\PairedIntControl.cs">
       <SubType>UserControl</SubType>
     </Compile>
-    <Compile Include="GZBuilder\Controls\PairedIntControl.Designer.cs">
+    <Compile Include="Controls\PairedIntControl.Designer.cs">
       <DependentUpon>PairedIntControl.cs</DependentUpon>
     </Compile>
-    <Compile Include="GZBuilder\Controls\TagSelector.cs">
+    <Compile Include="Controls\TagSelector.cs">
       <SubType>UserControl</SubType>
     </Compile>
-    <Compile Include="GZBuilder\Controls\TagSelector.Designer.cs">
+    <Compile Include="Controls\TagSelector.Designer.cs">
       <DependentUpon>TagSelector.cs</DependentUpon>
     </Compile>
     <Compile Include="GZBuilder\Data\BoundingBox.cs" />
@@ -1106,22 +1106,22 @@
       <SubType>Designer</SubType>
       <DependentUpon>ThingBrowserControl.cs</DependentUpon>
     </EmbeddedResource>
-    <EmbeddedResource Include="GZBuilder\Controls\AngleControl.resx">
-      <DependentUpon>AngleControl.cs</DependentUpon>
+    <EmbeddedResource Include="Controls\AngleControlEx.resx">
+      <DependentUpon>AngleControlEx.cs</DependentUpon>
     </EmbeddedResource>
-    <EmbeddedResource Include="GZBuilder\Controls\ColorFieldsControl.resx">
+    <EmbeddedResource Include="Controls\ColorFieldsControl.resx">
       <DependentUpon>ColorFieldsControl.cs</DependentUpon>
     </EmbeddedResource>
-    <EmbeddedResource Include="GZBuilder\Controls\TagsSelector.resx">
+    <EmbeddedResource Include="Controls\TagsSelector.resx">
       <DependentUpon>TagsSelector.cs</DependentUpon>
     </EmbeddedResource>
-    <EmbeddedResource Include="GZBuilder\Controls\PairedFieldsControl.resx">
+    <EmbeddedResource Include="Controls\PairedFieldsControl.resx">
       <DependentUpon>PairedFieldsControl.cs</DependentUpon>
     </EmbeddedResource>
-    <EmbeddedResource Include="GZBuilder\Controls\PairedIntControl.resx">
+    <EmbeddedResource Include="Controls\PairedIntControl.resx">
       <DependentUpon>PairedIntControl.cs</DependentUpon>
     </EmbeddedResource>
-    <EmbeddedResource Include="GZBuilder\Controls\TagSelector.resx">
+    <EmbeddedResource Include="Controls\TagSelector.resx">
       <DependentUpon>TagSelector.cs</DependentUpon>
     </EmbeddedResource>
     <EmbeddedResource Include="Windows\ExceptionDialog.resx">
diff --git a/Source/Core/GZBuilder/Controls/AngleControl.Designer.cs b/Source/Core/Controls/AngleControlEx.Designer.cs
similarity index 95%
rename from Source/Core/GZBuilder/Controls/AngleControl.Designer.cs
rename to Source/Core/Controls/AngleControlEx.Designer.cs
index 056c10635867f9bc0baf001721cd207702dd1831..78ca92c523a8e1c06e062a0d8a471b84626ffad9 100644
--- a/Source/Core/GZBuilder/Controls/AngleControl.Designer.cs
+++ b/Source/Core/Controls/AngleControlEx.Designer.cs
@@ -1,6 +1,6 @@
-namespace CodeImp.DoomBuilder.GZBuilder.Controls
+namespace CodeImp.DoomBuilder.Controls
 {
-	partial class AngleControl
+	partial class AngleControlEx
 	{
 		/// <summary> 
 		/// Required designer variable.
diff --git a/Source/Core/GZBuilder/Controls/AngleControl.cs b/Source/Core/Controls/AngleControlEx.cs
similarity index 98%
rename from Source/Core/GZBuilder/Controls/AngleControl.cs
rename to Source/Core/Controls/AngleControlEx.cs
index ae156d299bd18655b9641db892df1b6117ab0782..81a5ef181ae87e12388ec8aa7960854e59c00b44 100644
--- a/Source/Core/GZBuilder/Controls/AngleControl.cs
+++ b/Source/Core/Controls/AngleControlEx.cs
@@ -14,9 +14,9 @@ using System.ComponentModel;
 #endregion
 
 //JBR Loops implementation by me, rest remains untouched
-namespace CodeImp.DoomBuilder.GZBuilder.Controls
+namespace CodeImp.DoomBuilder.Controls
 {
-	public partial class AngleControl : UserControl
+	public partial class AngleControlEx : UserControl
 	{
 		#region Variables
 
@@ -87,7 +87,7 @@ namespace CodeImp.DoomBuilder.GZBuilder.Controls
 
 		#endregion
 
-		public AngleControl() 
+		public AngleControlEx() 
 		{
 			InitializeComponent();
 			this.DoubleBuffered = true;
diff --git a/Source/Core/GZBuilder/Controls/AngleControl.resx b/Source/Core/Controls/AngleControlEx.resx
similarity index 100%
rename from Source/Core/GZBuilder/Controls/AngleControl.resx
rename to Source/Core/Controls/AngleControlEx.resx
diff --git a/Source/Core/GZBuilder/Controls/AngleControlF.Designer.cs b/Source/Core/Controls/AngleControlF.Designer.cs
similarity index 97%
rename from Source/Core/GZBuilder/Controls/AngleControlF.Designer.cs
rename to Source/Core/Controls/AngleControlF.Designer.cs
index 77a4790fa45059625bef306eaff41dfaef77d6de..f806ae06b744d8700545968519f851ea0bedb464 100644
--- a/Source/Core/GZBuilder/Controls/AngleControlF.Designer.cs
+++ b/Source/Core/Controls/AngleControlF.Designer.cs
@@ -1,4 +1,4 @@
-namespace CodeImp.DoomBuilder.GZBuilder.Controls
+namespace CodeImp.DoomBuilder.Controls
 {
     partial class AngleControlF
 	{
diff --git a/Source/Core/GZBuilder/Controls/AngleControlF.cs b/Source/Core/Controls/AngleControlF.cs
similarity index 99%
rename from Source/Core/GZBuilder/Controls/AngleControlF.cs
rename to Source/Core/Controls/AngleControlF.cs
index c9a2f16082197a5b9200b5aadac1c9e07ebaa7c0..9268cf73587e39b3df144081eaa19527e36d18c7 100644
--- a/Source/Core/GZBuilder/Controls/AngleControlF.cs
+++ b/Source/Core/Controls/AngleControlF.cs
@@ -15,7 +15,7 @@ using System.ComponentModel;
 
 // JBR Float version of the AngleControl!
 // Supports changing snap angle
-namespace CodeImp.DoomBuilder.GZBuilder.Controls
+namespace CodeImp.DoomBuilder.Controls
 {
 	public partial class AngleControlF : UserControl
 	{
diff --git a/Source/Core/GZBuilder/Controls/AngleControlF.resx b/Source/Core/Controls/AngleControlF.resx
similarity index 100%
rename from Source/Core/GZBuilder/Controls/AngleControlF.resx
rename to Source/Core/Controls/AngleControlF.resx
diff --git a/Source/Core/Controls/ArgumentBox.cs b/Source/Core/Controls/ArgumentBox.cs
index 07e524220ee9c2e268eca5da84d4a374dcd0ab12..c4a771f658cc3c6ccf10bdf0e5eb1c85925083a8 100644
--- a/Source/Core/Controls/ArgumentBox.cs
+++ b/Source/Core/Controls/ArgumentBox.cs
@@ -24,7 +24,7 @@ using CodeImp.DoomBuilder.Config;
 using CodeImp.DoomBuilder.Geometry;
 using CodeImp.DoomBuilder.Types;
 using System.Globalization;
-using CodeImp.DoomBuilder.GZBuilder.Controls;
+using CodeImp.DoomBuilder.Controls;
 using CodeImp.DoomBuilder.Map;
 
 #endregion
diff --git a/Source/Core/GZBuilder/Controls/ColorFieldsControl.Designer.cs b/Source/Core/Controls/ColorFieldsControl.Designer.cs
similarity index 98%
rename from Source/Core/GZBuilder/Controls/ColorFieldsControl.Designer.cs
rename to Source/Core/Controls/ColorFieldsControl.Designer.cs
index ab97148991e03e8697ff9738c3efb8cb4d405eb5..8077d20dd869fd7dc3edfcb27fcffa40e628416a 100644
--- a/Source/Core/GZBuilder/Controls/ColorFieldsControl.Designer.cs
+++ b/Source/Core/Controls/ColorFieldsControl.Designer.cs
@@ -1,4 +1,4 @@
-namespace CodeImp.DoomBuilder.GZBuilder.Controls
+namespace CodeImp.DoomBuilder.Controls
 {
 	partial class ColorFieldsControl
 	{
diff --git a/Source/Core/GZBuilder/Controls/ColorFieldsControl.cs b/Source/Core/Controls/ColorFieldsControl.cs
similarity index 98%
rename from Source/Core/GZBuilder/Controls/ColorFieldsControl.cs
rename to Source/Core/Controls/ColorFieldsControl.cs
index dfbab2380087bf53923ce8909315bba4d9529dbb..c8b15284a72b593b6e6b70426bb8dc4568aadc47 100644
--- a/Source/Core/GZBuilder/Controls/ColorFieldsControl.cs
+++ b/Source/Core/Controls/ColorFieldsControl.cs
@@ -9,7 +9,7 @@ using CodeImp.DoomBuilder.Rendering;
 
 #endregion
 
-namespace CodeImp.DoomBuilder.GZBuilder.Controls
+namespace CodeImp.DoomBuilder.Controls
 {
 	public partial class ColorFieldsControl : UserControl
 	{
diff --git a/Source/Core/GZBuilder/Controls/ColorFieldsControl.resx b/Source/Core/Controls/ColorFieldsControl.resx
similarity index 100%
rename from Source/Core/GZBuilder/Controls/ColorFieldsControl.resx
rename to Source/Core/Controls/ColorFieldsControl.resx
diff --git a/Source/Core/GZBuilder/Controls/MultiSelectTreeview.cs b/Source/Core/Controls/MultiSelectTreeview.cs
similarity index 99%
rename from Source/Core/GZBuilder/Controls/MultiSelectTreeview.cs
rename to Source/Core/Controls/MultiSelectTreeview.cs
index 8ff6188e268dd19c82f28f13798a390646937d81..e419bbb266e3af23f0c820a8f6c27c89fff24d93 100644
--- a/Source/Core/GZBuilder/Controls/MultiSelectTreeview.cs
+++ b/Source/Core/Controls/MultiSelectTreeview.cs
@@ -76,7 +76,7 @@ using CodeImp.DoomBuilder.Controls;
 
 #endregion
 
-namespace CodeImp.DoomBuilder.GZBuilder.Controls
+namespace CodeImp.DoomBuilder.Controls
 {
 	#region TreeViewSelectionMode enumeration
 
diff --git a/Source/Core/GZBuilder/Controls/PairedFieldsControl.Designer.cs b/Source/Core/Controls/PairedFieldsControl.Designer.cs
similarity index 98%
rename from Source/Core/GZBuilder/Controls/PairedFieldsControl.Designer.cs
rename to Source/Core/Controls/PairedFieldsControl.Designer.cs
index 8521f081e0960e95965b5b87b4ec559f01322835..8f39e4cc0f1e01736b546fa38d6f72638401b67d 100644
--- a/Source/Core/GZBuilder/Controls/PairedFieldsControl.Designer.cs
+++ b/Source/Core/Controls/PairedFieldsControl.Designer.cs
@@ -1,4 +1,4 @@
-namespace CodeImp.DoomBuilder.GZBuilder.Controls
+namespace CodeImp.DoomBuilder.Controls
 {
 	partial class PairedFieldsControl
 	{
diff --git a/Source/Core/GZBuilder/Controls/PairedFieldsControl.cs b/Source/Core/Controls/PairedFieldsControl.cs
similarity index 99%
rename from Source/Core/GZBuilder/Controls/PairedFieldsControl.cs
rename to Source/Core/Controls/PairedFieldsControl.cs
index 72df667d816d1577e863d7e6ea9a25e0f59721e1..ee124a603edae1c8987ef4b4a2a6d40bc0447237 100644
--- a/Source/Core/GZBuilder/Controls/PairedFieldsControl.cs
+++ b/Source/Core/Controls/PairedFieldsControl.cs
@@ -8,7 +8,7 @@ using CodeImp.DoomBuilder.Properties;
 
 #endregion
 
-namespace CodeImp.DoomBuilder.GZBuilder.Controls
+namespace CodeImp.DoomBuilder.Controls
 {
 	public partial class PairedFieldsControl : UserControl
 	{
diff --git a/Source/Core/GZBuilder/Controls/PairedFieldsControl.resx b/Source/Core/Controls/PairedFieldsControl.resx
similarity index 100%
rename from Source/Core/GZBuilder/Controls/PairedFieldsControl.resx
rename to Source/Core/Controls/PairedFieldsControl.resx
diff --git a/Source/Core/GZBuilder/Controls/PairedFloatControl.Designer.cs b/Source/Core/Controls/PairedFloatControl.Designer.cs
similarity index 98%
rename from Source/Core/GZBuilder/Controls/PairedFloatControl.Designer.cs
rename to Source/Core/Controls/PairedFloatControl.Designer.cs
index 729d980209521fdbfe2de8ca3b2a1448c2f8a97e..4d4b1cd8b2574fa0d18143378e23c3a737757e8b 100644
--- a/Source/Core/GZBuilder/Controls/PairedFloatControl.Designer.cs
+++ b/Source/Core/Controls/PairedFloatControl.Designer.cs
@@ -1,4 +1,4 @@
-namespace CodeImp.DoomBuilder.GZBuilder.Controls
+namespace CodeImp.DoomBuilder.Controls
 {
     partial class PairedFloatControl
     {
diff --git a/Source/Core/GZBuilder/Controls/PairedFloatControl.cs b/Source/Core/Controls/PairedFloatControl.cs
similarity index 98%
rename from Source/Core/GZBuilder/Controls/PairedFloatControl.cs
rename to Source/Core/Controls/PairedFloatControl.cs
index d5abf5622db9de09c019ddecb3df0a538950e99b..65ceb5e5e2ce902e94b4805c70874e9ac4d43ed0 100644
--- a/Source/Core/GZBuilder/Controls/PairedFloatControl.cs
+++ b/Source/Core/Controls/PairedFloatControl.cs
@@ -3,7 +3,7 @@ using System.Globalization;
 using System.Windows.Forms;
 using CodeImp.DoomBuilder.Properties;
 
-namespace CodeImp.DoomBuilder.GZBuilder.Controls
+namespace CodeImp.DoomBuilder.Controls
 {
     public partial class PairedFloatControl : UserControl
     {
diff --git a/Source/Core/GZBuilder/Controls/PairedFloatControl.resx b/Source/Core/Controls/PairedFloatControl.resx
similarity index 100%
rename from Source/Core/GZBuilder/Controls/PairedFloatControl.resx
rename to Source/Core/Controls/PairedFloatControl.resx
diff --git a/Source/Core/GZBuilder/Controls/PairedIntControl.Designer.cs b/Source/Core/Controls/PairedIntControl.Designer.cs
similarity index 98%
rename from Source/Core/GZBuilder/Controls/PairedIntControl.Designer.cs
rename to Source/Core/Controls/PairedIntControl.Designer.cs
index 27a17e1496c4cbf62378b438ae8a35549c228a09..e5dcfd0e912f771afc7d80402da06a5423ed4f2c 100644
--- a/Source/Core/GZBuilder/Controls/PairedIntControl.Designer.cs
+++ b/Source/Core/Controls/PairedIntControl.Designer.cs
@@ -1,4 +1,4 @@
-namespace CodeImp.DoomBuilder.GZBuilder.Controls
+namespace CodeImp.DoomBuilder.Controls
 {
 	partial class PairedIntControl
 	{
diff --git a/Source/Core/GZBuilder/Controls/PairedIntControl.cs b/Source/Core/Controls/PairedIntControl.cs
similarity index 98%
rename from Source/Core/GZBuilder/Controls/PairedIntControl.cs
rename to Source/Core/Controls/PairedIntControl.cs
index 4197bd953543e3ac2ba49a3ecf1660906f97fc78..33f5baee489d9c2c8bb098554f823ff1fc77058e 100644
--- a/Source/Core/GZBuilder/Controls/PairedIntControl.cs
+++ b/Source/Core/Controls/PairedIntControl.cs
@@ -6,7 +6,7 @@ using System.Windows.Forms;
 
 #endregion
 
-namespace CodeImp.DoomBuilder.GZBuilder.Controls
+namespace CodeImp.DoomBuilder.Controls
 {
 	public partial class PairedIntControl : UserControl
 	{
diff --git a/Source/Core/GZBuilder/Controls/PairedIntControl.resx b/Source/Core/Controls/PairedIntControl.resx
similarity index 100%
rename from Source/Core/GZBuilder/Controls/PairedIntControl.resx
rename to Source/Core/Controls/PairedIntControl.resx
diff --git a/Source/Core/Controls/SectorSlopeControl.Designer.cs b/Source/Core/Controls/SectorSlopeControl.Designer.cs
index 0744e9d578eda2edd8de42e0b31e68a20e7b3122..3863b8ed2815bf0ee33635db7588b30a7959c9e8 100644
--- a/Source/Core/Controls/SectorSlopeControl.Designer.cs
+++ b/Source/Core/Controls/SectorSlopeControl.Designer.cs
@@ -35,7 +35,7 @@
 			this.angletrackbar = new System.Windows.Forms.TrackBar();
 			this.label1 = new System.Windows.Forms.Label();
 			this.pivotmodeselector = new System.Windows.Forms.ComboBox();
-			this.rotationcontrol = new CodeImp.DoomBuilder.GZBuilder.Controls.AngleControl();
+			this.rotationcontrol = new CodeImp.DoomBuilder.Controls.AngleControlEx();
 			this.slopeangle = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
 			this.sloperotation = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
 			this.slopeoffset = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
@@ -225,7 +225,7 @@
 		private System.Windows.Forms.Button reset;
 		private ButtonsNumericTextbox slopeoffset;
 		private System.Windows.Forms.Label label18;
-		private CodeImp.DoomBuilder.GZBuilder.Controls.AngleControl rotationcontrol;
+		private CodeImp.DoomBuilder.Controls.AngleControlEx rotationcontrol;
 		private System.Windows.Forms.TrackBar angletrackbar;
 		private System.Windows.Forms.Label label1;
 		private System.Windows.Forms.ComboBox pivotmodeselector;
diff --git a/Source/Core/Controls/SectorSlopeControl.cs b/Source/Core/Controls/SectorSlopeControl.cs
index da937f366ee126fe53bc0919010f4b07df908eb5..79f7c17ac75f480fa3c01731e65de6e7d405d55c 100644
--- a/Source/Core/Controls/SectorSlopeControl.cs
+++ b/Source/Core/Controls/SectorSlopeControl.cs
@@ -129,7 +129,7 @@ namespace CodeImp.DoomBuilder.Controls
 			if(float.IsNaN(anglexy)) 
 			{
 				sloperotation.Text = "";
-				rotationcontrol.Angle = GZBuilder.Controls.AngleControl.NO_ANGLE;
+				rotationcontrol.Angle = AngleControlEx.NO_ANGLE;
 			} 
 			else 
 			{
@@ -173,7 +173,7 @@ namespace CodeImp.DoomBuilder.Controls
 			preventchanges = true;
 
 			anglexy = General.ClampAngle(sloperotation.GetResultFloat(float.NaN));
-			rotationcontrol.Angle = (float.IsNaN(anglexy) ? GZBuilder.Controls.AngleControl.NO_ANGLE : (int)Math.Round(anglexy + 90));
+			rotationcontrol.Angle = (float.IsNaN(anglexy) ? AngleControlEx.NO_ANGLE : (int)Math.Round(anglexy + 90));
 
 			if(OnAnglesChanged != null) OnAnglesChanged(this, EventArgs.Empty);
 			preventchanges = false;
diff --git a/Source/Core/GZBuilder/Controls/TagSelector.Designer.cs b/Source/Core/Controls/TagSelector.Designer.cs
similarity index 99%
rename from Source/Core/GZBuilder/Controls/TagSelector.Designer.cs
rename to Source/Core/Controls/TagSelector.Designer.cs
index d4ac3ecb99168b162ec6c9a1ef3f15315fcfa5c8..4d9dd94813a659a80e926c485f778027ec7e4260 100644
--- a/Source/Core/GZBuilder/Controls/TagSelector.Designer.cs
+++ b/Source/Core/Controls/TagSelector.Designer.cs
@@ -1,4 +1,4 @@
-namespace CodeImp.DoomBuilder.GZBuilder.Controls
+namespace CodeImp.DoomBuilder.Controls
 {
 	partial class TagSelector
 	{
diff --git a/Source/Core/GZBuilder/Controls/TagSelector.cs b/Source/Core/Controls/TagSelector.cs
similarity index 99%
rename from Source/Core/GZBuilder/Controls/TagSelector.cs
rename to Source/Core/Controls/TagSelector.cs
index e4096ba3615d9e42f3b1df1f9839d5bac0e06c4a..0a9c0daff62e60610baae3d9c7a083b83fc05c4e 100644
--- a/Source/Core/GZBuilder/Controls/TagSelector.cs
+++ b/Source/Core/Controls/TagSelector.cs
@@ -9,7 +9,7 @@ using CodeImp.DoomBuilder.Types;
 
 #endregion
 
-namespace CodeImp.DoomBuilder.GZBuilder.Controls
+namespace CodeImp.DoomBuilder.Controls
 {
 	internal struct TagInfo
 	{
diff --git a/Source/Core/GZBuilder/Controls/TagSelector.resx b/Source/Core/Controls/TagSelector.resx
similarity index 100%
rename from Source/Core/GZBuilder/Controls/TagSelector.resx
rename to Source/Core/Controls/TagSelector.resx
diff --git a/Source/Core/GZBuilder/Controls/TagsSelector.Designer.cs b/Source/Core/Controls/TagsSelector.Designer.cs
similarity index 99%
rename from Source/Core/GZBuilder/Controls/TagsSelector.Designer.cs
rename to Source/Core/Controls/TagsSelector.Designer.cs
index 7efb149548ee7543a36ff50d60349c02fb653f7e..a60722d8fdd6aae4854829ef80faa7e636be2317 100644
--- a/Source/Core/GZBuilder/Controls/TagsSelector.Designer.cs
+++ b/Source/Core/Controls/TagsSelector.Designer.cs
@@ -1,4 +1,4 @@
-namespace CodeImp.DoomBuilder.GZBuilder.Controls
+namespace CodeImp.DoomBuilder.Controls
 {
 	partial class TagsSelector
 	{
diff --git a/Source/Core/GZBuilder/Controls/TagsSelector.cs b/Source/Core/Controls/TagsSelector.cs
similarity index 99%
rename from Source/Core/GZBuilder/Controls/TagsSelector.cs
rename to Source/Core/Controls/TagsSelector.cs
index 4b4db965e8af2e675a080877dcb63e8d6122d5b7..f15eef3ef04c8f10f25be49e7bbe05dea96621cf 100644
--- a/Source/Core/GZBuilder/Controls/TagsSelector.cs
+++ b/Source/Core/Controls/TagsSelector.cs
@@ -8,7 +8,7 @@ using CodeImp.DoomBuilder.Types;
 
 #endregion
 
-namespace CodeImp.DoomBuilder.GZBuilder.Controls
+namespace CodeImp.DoomBuilder.Controls
 {
 	public partial class TagsSelector : UserControl
 	{
diff --git a/Source/Core/GZBuilder/Controls/TagsSelector.resx b/Source/Core/Controls/TagsSelector.resx
similarity index 100%
rename from Source/Core/GZBuilder/Controls/TagsSelector.resx
rename to Source/Core/Controls/TagsSelector.resx
diff --git a/Source/Core/Controls/ThingBrowserControl.Designer.cs b/Source/Core/Controls/ThingBrowserControl.Designer.cs
index 4df21ec648a09ac8c6475657df53bf71143a4df0..1196f549bf60da243838301d56d873055189aab1 100644
--- a/Source/Core/Controls/ThingBrowserControl.Designer.cs
+++ b/Source/Core/Controls/ThingBrowserControl.Designer.cs
@@ -47,7 +47,7 @@ namespace CodeImp.DoomBuilder.Controls
             this.tbFilter = new System.Windows.Forms.TextBox();
             this.bClear = new System.Windows.Forms.Button();
             this.updatetimer = new System.Windows.Forms.Timer(this.components);
-            this.typelist = new CodeImp.DoomBuilder.GZBuilder.Controls.MultiSelectTreeview();
+            this.typelist = new CodeImp.DoomBuilder.Controls.MultiSelectTreeview();
             this.spritetex = new CodeImp.DoomBuilder.Controls.ConfigurablePictureBox();
             this.typeid = new CodeImp.DoomBuilder.Controls.NumericTextbox();
             this.parameterid = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
@@ -293,7 +293,7 @@ namespace CodeImp.DoomBuilder.Controls
             this.typelist.Name = "typelist";
             this.typelist.SelectedImageIndex = 0;
             this.typelist.SelectionBackColor = System.Drawing.SystemColors.Highlight;
-            this.typelist.SelectionMode = CodeImp.DoomBuilder.GZBuilder.Controls.TreeViewSelectionMode.SingleSelect;
+            this.typelist.SelectionMode = CodeImp.DoomBuilder.Controls.TreeViewSelectionMode.SingleSelect;
             this.typelist.ShowNodeToolTips = true;
             this.typelist.Size = new System.Drawing.Size(304, 203);
             this.typelist.TabIndex = 22;
@@ -404,7 +404,7 @@ namespace CodeImp.DoomBuilder.Controls
         private System.Windows.Forms.Label label1;
         private System.Windows.Forms.TextBox tbFilter;
         private System.Windows.Forms.Button bClear;
-        private CodeImp.DoomBuilder.GZBuilder.Controls.MultiSelectTreeview typelist;
+        private CodeImp.DoomBuilder.Controls.MultiSelectTreeview typelist;
         private System.Windows.Forms.Panel spritepanel;
         private System.Windows.Forms.Timer updatetimer;
         private ConfigurablePictureBox spritetex;
diff --git a/Source/Core/Controls/ThingBrowserControl.cs b/Source/Core/Controls/ThingBrowserControl.cs
index 8ab032e951a08023086be9c0c6cd4e1b33706006..59b34bb155c5a087c2012c289526070794022f9b 100644
--- a/Source/Core/Controls/ThingBrowserControl.cs
+++ b/Source/Core/Controls/ThingBrowserControl.cs
@@ -23,7 +23,7 @@ using System.Globalization;
 using System.Windows.Forms;
 using CodeImp.DoomBuilder.Config;
 using CodeImp.DoomBuilder.Data;
-using CodeImp.DoomBuilder.GZBuilder.Controls;
+using CodeImp.DoomBuilder.Controls;
 using static System.Windows.Forms.VisualStyles.VisualStyleElement.Button;
 
 
diff --git a/Source/Core/Controls/ThingInfoPanel.Designer.cs b/Source/Core/Controls/ThingInfoPanel.Designer.cs
index ade33ddbe3569ec22f698678e396b0eeccca7a58..ecdfdeb92a7d8601cc34f3aa4097bf922ec8bb6f 100644
--- a/Source/Core/Controls/ThingInfoPanel.Designer.cs
+++ b/Source/Core/Controls/ThingInfoPanel.Designer.cs
@@ -63,7 +63,7 @@ namespace CodeImp.DoomBuilder.Controls
             this.flagsvalue = new System.Windows.Forms.Label();
             this.flagsvaluelabel = new System.Windows.Forms.Label();
             this.spritetex = new CodeImp.DoomBuilder.Controls.ConfigurablePictureBox();
-            this.anglecontrol = new CodeImp.DoomBuilder.GZBuilder.Controls.AngleControl();
+            this.anglecontrol = new CodeImp.DoomBuilder.Controls.AngleControlEx();
             label3 = new System.Windows.Forms.Label();
             label1 = new System.Windows.Forms.Label();
             this.infopanel.SuspendLayout();
@@ -507,7 +507,7 @@ namespace CodeImp.DoomBuilder.Controls
         private System.Windows.Forms.Label labeltag;
         private System.Windows.Forms.Label labelaction;
         private System.Windows.Forms.Label labelfulltype;
-        private CodeImp.DoomBuilder.GZBuilder.Controls.AngleControl anglecontrol;
+        private CodeImp.DoomBuilder.Controls.AngleControlEx anglecontrol;
         private ConfigurablePictureBox spritetex;
         private System.Windows.Forms.Label classname;
         private System.Windows.Forms.Label labelclass;
diff --git a/Source/Core/Windows/LinedefEditForm.Designer.cs b/Source/Core/Windows/LinedefEditForm.Designer.cs
index e5d6d681630f14e650d36a0034925bb34a61c270..edb818e56b1ddaf33988898252ac258280f89a16 100644
--- a/Source/Core/Windows/LinedefEditForm.Designer.cs
+++ b/Source/Core/Windows/LinedefEditForm.Designer.cs
@@ -52,14 +52,14 @@ namespace CodeImp.DoomBuilder.Windows
 			this.frontlow = new CodeImp.DoomBuilder.Controls.TextureSelectorControl();
 			this.frontmid = new CodeImp.DoomBuilder.Controls.TextureSelectorControl();
 			this.fronthigh = new CodeImp.DoomBuilder.Controls.TextureSelectorControl();
-			this.frontTextureOffset = new CodeImp.DoomBuilder.GZBuilder.Controls.PairedIntControl();
+			this.frontTextureOffset = new CodeImp.DoomBuilder.Controls.PairedIntControl();
 			this.backgroup = new System.Windows.Forms.GroupBox();
 			this.labelBackTextureOffset = new System.Windows.Forms.Label();
 			this.backsector = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
 			this.backlow = new CodeImp.DoomBuilder.Controls.TextureSelectorControl();
 			this.backmid = new CodeImp.DoomBuilder.Controls.TextureSelectorControl();
 			this.backhigh = new CodeImp.DoomBuilder.Controls.TextureSelectorControl();
-			this.backTextureOffset = new CodeImp.DoomBuilder.GZBuilder.Controls.PairedIntControl();
+			this.backTextureOffset = new CodeImp.DoomBuilder.Controls.PairedIntControl();
 			this.flagsgroup = new System.Windows.Forms.GroupBox();
 			this.flags = new CodeImp.DoomBuilder.Controls.CheckboxArrayControl();
 			this.actiongroup = new System.Windows.Forms.GroupBox();
@@ -69,7 +69,7 @@ namespace CodeImp.DoomBuilder.Windows
 			this.activation = new System.Windows.Forms.ComboBox();
 			this.action = new CodeImp.DoomBuilder.Controls.ActionSelectorControl();
 			this.idgroup = new System.Windows.Forms.GroupBox();
-			this.tagSelector = new CodeImp.DoomBuilder.GZBuilder.Controls.TagSelector();
+			this.tagSelector = new CodeImp.DoomBuilder.Controls.TagSelector();
 			label11 = new System.Windows.Forms.Label();
 			label5 = new System.Windows.Forms.Label();
 			label4 = new System.Windows.Forms.Label();
@@ -622,9 +622,9 @@ namespace CodeImp.DoomBuilder.Windows
 		private System.Windows.Forms.GroupBox idgroup;
 		private CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox frontsector;
 		private CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox backsector;
-		private CodeImp.DoomBuilder.GZBuilder.Controls.TagSelector tagSelector;
-		private CodeImp.DoomBuilder.GZBuilder.Controls.PairedIntControl frontTextureOffset;
-		private CodeImp.DoomBuilder.GZBuilder.Controls.PairedIntControl backTextureOffset;
+		private CodeImp.DoomBuilder.Controls.TagSelector tagSelector;
+		private CodeImp.DoomBuilder.Controls.PairedIntControl frontTextureOffset;
+		private CodeImp.DoomBuilder.Controls.PairedIntControl backTextureOffset;
 		private System.Windows.Forms.Panel panel;
 		private CodeImp.DoomBuilder.Controls.ActionSpecialHelpButton actionhelp;
 		private System.Windows.Forms.ToolTip tooltip;
diff --git a/Source/Core/Windows/LinedefEditFormUDMF.Designer.cs b/Source/Core/Windows/LinedefEditFormUDMF.Designer.cs
index 2d308dd373ea668c1d42ea290b3736dbf1d0db28..d21e2ba6e41d93cc59c349afb13cfac53970fdb0 100644
--- a/Source/Core/Windows/LinedefEditFormUDMF.Designer.cs
+++ b/Source/Core/Windows/LinedefEditFormUDMF.Designer.cs
@@ -56,7 +56,7 @@ namespace CodeImp.DoomBuilder.Windows
 			this.activationGroup = new System.Windows.Forms.GroupBox();
 			this.missingactivation = new System.Windows.Forms.PictureBox();
 			this.idgroup = new System.Windows.Forms.GroupBox();
-			this.tagsselector = new CodeImp.DoomBuilder.GZBuilder.Controls.TagsSelector();
+			this.tagsselector = new CodeImp.DoomBuilder.Controls.TagsSelector();
 			this.tabfront = new System.Windows.Forms.TabPage();
 			this.frontside = new System.Windows.Forms.CheckBox();
 			this.frontgroup = new System.Windows.Forms.GroupBox();
@@ -66,18 +66,18 @@ namespace CodeImp.DoomBuilder.Windows
 			this.labelFrontScaleBottom = new System.Windows.Forms.Label();
 			this.labelFrontScaleMid = new System.Windows.Forms.Label();
 			this.labelFrontScaleTop = new System.Windows.Forms.Label();
-			this.pfcFrontScaleTop = new CodeImp.DoomBuilder.GZBuilder.Controls.PairedFieldsControl();
-			this.pfcFrontScaleBottom = new CodeImp.DoomBuilder.GZBuilder.Controls.PairedFieldsControl();
-			this.pfcFrontScaleMid = new CodeImp.DoomBuilder.GZBuilder.Controls.PairedFieldsControl();
+			this.pfcFrontScaleTop = new CodeImp.DoomBuilder.Controls.PairedFieldsControl();
+			this.pfcFrontScaleBottom = new CodeImp.DoomBuilder.Controls.PairedFieldsControl();
+			this.pfcFrontScaleMid = new CodeImp.DoomBuilder.Controls.PairedFieldsControl();
 			this.groupBox6 = new System.Windows.Forms.GroupBox();
 			this.labelFrontTextureOffset = new System.Windows.Forms.Label();
 			this.labelFrontOffsetBottom = new System.Windows.Forms.Label();
-			this.frontTextureOffset = new CodeImp.DoomBuilder.GZBuilder.Controls.PairedIntControl();
+			this.frontTextureOffset = new CodeImp.DoomBuilder.Controls.PairedIntControl();
 			this.labelFrontOffsetMid = new System.Windows.Forms.Label();
-			this.pfcFrontOffsetTop = new CodeImp.DoomBuilder.GZBuilder.Controls.PairedFieldsControl();
+			this.pfcFrontOffsetTop = new CodeImp.DoomBuilder.Controls.PairedFieldsControl();
 			this.labelFrontOffsetTop = new System.Windows.Forms.Label();
-			this.pfcFrontOffsetMid = new CodeImp.DoomBuilder.GZBuilder.Controls.PairedFieldsControl();
-			this.pfcFrontOffsetBottom = new CodeImp.DoomBuilder.GZBuilder.Controls.PairedFieldsControl();
+			this.pfcFrontOffsetMid = new CodeImp.DoomBuilder.Controls.PairedFieldsControl();
+			this.pfcFrontOffsetBottom = new CodeImp.DoomBuilder.Controls.PairedFieldsControl();
 			this.groupBox5 = new System.Windows.Forms.GroupBox();
 			this.resetfrontlight = new System.Windows.Forms.Button();
 			this.frontsector = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
@@ -103,18 +103,18 @@ namespace CodeImp.DoomBuilder.Windows
 			this.labelBackScaleBottom = new System.Windows.Forms.Label();
 			this.labelBackScaleMid = new System.Windows.Forms.Label();
 			this.labelBackScaleTop = new System.Windows.Forms.Label();
-			this.pfcBackScaleTop = new CodeImp.DoomBuilder.GZBuilder.Controls.PairedFieldsControl();
-			this.pfcBackScaleBottom = new CodeImp.DoomBuilder.GZBuilder.Controls.PairedFieldsControl();
-			this.pfcBackScaleMid = new CodeImp.DoomBuilder.GZBuilder.Controls.PairedFieldsControl();
+			this.pfcBackScaleTop = new CodeImp.DoomBuilder.Controls.PairedFieldsControl();
+			this.pfcBackScaleBottom = new CodeImp.DoomBuilder.Controls.PairedFieldsControl();
+			this.pfcBackScaleMid = new CodeImp.DoomBuilder.Controls.PairedFieldsControl();
 			this.groupBox1 = new System.Windows.Forms.GroupBox();
 			this.labelBackTextureOffset = new System.Windows.Forms.Label();
 			this.labelBackOffsetBottom = new System.Windows.Forms.Label();
 			this.labelBackOffsetMid = new System.Windows.Forms.Label();
 			this.labelBackOffsetTop = new System.Windows.Forms.Label();
-			this.pfcBackOffsetTop = new CodeImp.DoomBuilder.GZBuilder.Controls.PairedFieldsControl();
-			this.pfcBackOffsetMid = new CodeImp.DoomBuilder.GZBuilder.Controls.PairedFieldsControl();
-			this.pfcBackOffsetBottom = new CodeImp.DoomBuilder.GZBuilder.Controls.PairedFieldsControl();
-			this.backTextureOffset = new CodeImp.DoomBuilder.GZBuilder.Controls.PairedIntControl();
+			this.pfcBackOffsetTop = new CodeImp.DoomBuilder.Controls.PairedFieldsControl();
+			this.pfcBackOffsetMid = new CodeImp.DoomBuilder.Controls.PairedFieldsControl();
+			this.pfcBackOffsetBottom = new CodeImp.DoomBuilder.Controls.PairedFieldsControl();
+			this.backTextureOffset = new CodeImp.DoomBuilder.Controls.PairedIntControl();
 			this.backlow = new CodeImp.DoomBuilder.Controls.TextureSelectorControl();
 			this.backmid = new CodeImp.DoomBuilder.Controls.TextureSelectorControl();
 			this.backhigh = new CodeImp.DoomBuilder.Controls.TextureSelectorControl();
@@ -1458,18 +1458,18 @@ namespace CodeImp.DoomBuilder.Windows
 		private CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox backsector;
 		private CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox lightFront;
 		private System.Windows.Forms.CheckBox cbLightAbsoluteFront;
-		private CodeImp.DoomBuilder.GZBuilder.Controls.PairedFieldsControl pfcFrontOffsetTop;
-		private CodeImp.DoomBuilder.GZBuilder.Controls.PairedFieldsControl pfcFrontOffsetBottom;
-		private CodeImp.DoomBuilder.GZBuilder.Controls.PairedFieldsControl pfcFrontOffsetMid;
-		private CodeImp.DoomBuilder.GZBuilder.Controls.PairedFieldsControl pfcFrontScaleBottom;
-		private CodeImp.DoomBuilder.GZBuilder.Controls.PairedFieldsControl pfcFrontScaleMid;
-		private CodeImp.DoomBuilder.GZBuilder.Controls.PairedFieldsControl pfcFrontScaleTop;
-		private CodeImp.DoomBuilder.GZBuilder.Controls.PairedFieldsControl pfcBackScaleBottom;
-		private CodeImp.DoomBuilder.GZBuilder.Controls.PairedFieldsControl pfcBackScaleMid;
-		private CodeImp.DoomBuilder.GZBuilder.Controls.PairedFieldsControl pfcBackScaleTop;
-		private CodeImp.DoomBuilder.GZBuilder.Controls.PairedFieldsControl pfcBackOffsetBottom;
-		private CodeImp.DoomBuilder.GZBuilder.Controls.PairedFieldsControl pfcBackOffsetMid;
-		private CodeImp.DoomBuilder.GZBuilder.Controls.PairedFieldsControl pfcBackOffsetTop;
+		private CodeImp.DoomBuilder.Controls.PairedFieldsControl pfcFrontOffsetTop;
+		private CodeImp.DoomBuilder.Controls.PairedFieldsControl pfcFrontOffsetBottom;
+		private CodeImp.DoomBuilder.Controls.PairedFieldsControl pfcFrontOffsetMid;
+		private CodeImp.DoomBuilder.Controls.PairedFieldsControl pfcFrontScaleBottom;
+		private CodeImp.DoomBuilder.Controls.PairedFieldsControl pfcFrontScaleMid;
+		private CodeImp.DoomBuilder.Controls.PairedFieldsControl pfcFrontScaleTop;
+		private CodeImp.DoomBuilder.Controls.PairedFieldsControl pfcBackScaleBottom;
+		private CodeImp.DoomBuilder.Controls.PairedFieldsControl pfcBackScaleMid;
+		private CodeImp.DoomBuilder.Controls.PairedFieldsControl pfcBackScaleTop;
+		private CodeImp.DoomBuilder.Controls.PairedFieldsControl pfcBackOffsetBottom;
+		private CodeImp.DoomBuilder.Controls.PairedFieldsControl pfcBackOffsetMid;
+		private CodeImp.DoomBuilder.Controls.PairedFieldsControl pfcBackOffsetTop;
 		private System.Windows.Forms.GroupBox groupsettings;
 		private System.Windows.Forms.ComboBox renderStyle;
 		private System.Windows.Forms.Label labelLightFront;
@@ -1477,8 +1477,8 @@ namespace CodeImp.DoomBuilder.Windows
 		private System.Windows.Forms.Label labelLightBack;
 		private CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox lightBack;
 		private CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox alpha;
-		private CodeImp.DoomBuilder.GZBuilder.Controls.PairedIntControl frontTextureOffset;
-		private CodeImp.DoomBuilder.GZBuilder.Controls.PairedIntControl backTextureOffset;
+		private CodeImp.DoomBuilder.Controls.PairedIntControl frontTextureOffset;
+		private CodeImp.DoomBuilder.Controls.PairedIntControl backTextureOffset;
 		private CodeImp.DoomBuilder.Controls.CheckboxArrayControl flagsFront;
 		private CodeImp.DoomBuilder.Controls.CheckboxArrayControl flagsBack;
 		private System.Windows.Forms.GroupBox activationGroup;
@@ -1515,7 +1515,7 @@ namespace CodeImp.DoomBuilder.Windows
 		private System.Windows.Forms.TabPage tabcomment;
 		private CodeImp.DoomBuilder.Controls.CommentEditor commenteditor;
 		private CodeImp.DoomBuilder.Controls.ArgumentsControl argscontrol;
-		private CodeImp.DoomBuilder.GZBuilder.Controls.TagsSelector tagsselector;
+		private CodeImp.DoomBuilder.Controls.TagsSelector tagsselector;
 		private System.Windows.Forms.Button resetfrontlight;
 		private System.Windows.Forms.Button resetbacklight;
 	}
diff --git a/Source/Core/Windows/LinedefEditFormUDMF.cs b/Source/Core/Windows/LinedefEditFormUDMF.cs
index cd83d4ea49fb3953e0c787098753454ee492c4ad..5d1c9b8be7f55c7b8af1b38dfa8b253bf5e4eff0 100644
--- a/Source/Core/Windows/LinedefEditFormUDMF.cs
+++ b/Source/Core/Windows/LinedefEditFormUDMF.cs
@@ -21,7 +21,7 @@ using System.Collections.Generic;
 using System.Drawing;
 using System.Windows.Forms;
 using CodeImp.DoomBuilder.Config;
-using CodeImp.DoomBuilder.GZBuilder.Controls;
+using CodeImp.DoomBuilder.Controls;
 using CodeImp.DoomBuilder.Map;
 using CodeImp.DoomBuilder.Types;
 
diff --git a/Source/Core/Windows/SectorEditForm.Designer.cs b/Source/Core/Windows/SectorEditForm.Designer.cs
index a7a05077b9a829ef887e041f6c9505d28d0c2e4b..b2a13c27f77ad3c729cf70a441d0f09bc134eda7 100644
--- a/Source/Core/Windows/SectorEditForm.Designer.cs
+++ b/Source/Core/Windows/SectorEditForm.Designer.cs
@@ -42,7 +42,7 @@ namespace CodeImp.DoomBuilder.Windows
 			System.Windows.Forms.Label label4;
 			this.browseeffect = new System.Windows.Forms.Button();
 			this.effect = new CodeImp.DoomBuilder.Controls.ActionSelectorControl();
-			this.tagSelector = new CodeImp.DoomBuilder.GZBuilder.Controls.TagSelector();
+			this.tagSelector = new CodeImp.DoomBuilder.Controls.TagSelector();
 			this.heightoffset = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
 			this.brightness = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
 			this.ceilingheight = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
@@ -448,7 +448,7 @@ namespace CodeImp.DoomBuilder.Windows
 		private CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox ceilingheight;
 		private CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox floorheight;
 		private CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox brightness;
-		private CodeImp.DoomBuilder.GZBuilder.Controls.TagSelector tagSelector;
+		private CodeImp.DoomBuilder.Controls.TagSelector tagSelector;
 		private System.Windows.Forms.Panel panel1;
 		private CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox heightoffset;
 		private System.Windows.Forms.ToolTip tooltip;
diff --git a/Source/Core/Windows/SectorEditFormUDMF.Designer.cs b/Source/Core/Windows/SectorEditFormUDMF.Designer.cs
index 422c564edea8dd9c2e066bce97b5c9c5b92bc6eb..bec505cc7230cf2e398dabf0e89ec45229ac8e20 100644
--- a/Source/Core/Windows/SectorEditFormUDMF.Designer.cs
+++ b/Source/Core/Windows/SectorEditFormUDMF.Designer.cs
@@ -40,11 +40,11 @@
 			System.Windows.Forms.Label label15;
 			System.Windows.Forms.Label label6;
 			System.Windows.Forms.Label label5;
-			this.tagsselector = new CodeImp.DoomBuilder.GZBuilder.Controls.TagsSelector();
+			this.tagsselector = new CodeImp.DoomBuilder.Controls.TagsSelector();
 			this.soundsequence = new System.Windows.Forms.ComboBox();
 			this.resetsoundsequence = new System.Windows.Forms.Button();
-			this.fadeColor = new CodeImp.DoomBuilder.GZBuilder.Controls.ColorFieldsControl();
-			this.lightColor = new CodeImp.DoomBuilder.GZBuilder.Controls.ColorFieldsControl();
+			this.fadeColor = new CodeImp.DoomBuilder.Controls.ColorFieldsControl();
+			this.lightColor = new CodeImp.DoomBuilder.Controls.ColorFieldsControl();
 			this.brightness = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
 			this.desaturation = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
 			this.gravity = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
@@ -65,7 +65,7 @@
 			this.labelFloorOffsets = new System.Windows.Forms.Label();
 			this.labelFloorScale = new System.Windows.Forms.Label();
 			this.cbUseFloorLineAngles = new System.Windows.Forms.CheckBox();
-			this.floorAngleControl = new CodeImp.DoomBuilder.GZBuilder.Controls.AngleControl();
+			this.floorAngleControl = new CodeImp.DoomBuilder.Controls.AngleControlEx();
 			this.labelfloorrenderstyle = new System.Windows.Forms.Label();
 			this.label10 = new System.Windows.Forms.Label();
 			this.floorAlpha = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
@@ -75,15 +75,15 @@
 			this.label12 = new System.Windows.Forms.Label();
 			this.floorBrightness = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
 			this.floorRenderStyle = new System.Windows.Forms.ComboBox();
-			this.floorScale = new CodeImp.DoomBuilder.GZBuilder.Controls.PairedFieldsControl();
-			this.floorOffsets = new CodeImp.DoomBuilder.GZBuilder.Controls.PairedFieldsControl();
+			this.floorScale = new CodeImp.DoomBuilder.Controls.PairedFieldsControl();
+			this.floorOffsets = new CodeImp.DoomBuilder.Controls.PairedFieldsControl();
 			this.floortex = new CodeImp.DoomBuilder.Controls.FlatSelectorControl();
 			this.groupBox1 = new System.Windows.Forms.GroupBox();
 			this.resetceillight = new System.Windows.Forms.Button();
 			this.labelCeilOffsets = new System.Windows.Forms.Label();
 			this.labelCeilScale = new System.Windows.Forms.Label();
 			this.cbUseCeilLineAngles = new System.Windows.Forms.CheckBox();
-			this.ceilAngleControl = new CodeImp.DoomBuilder.GZBuilder.Controls.AngleControl();
+			this.ceilAngleControl = new CodeImp.DoomBuilder.Controls.AngleControlEx();
 			this.labelceilrenderstyle = new System.Windows.Forms.Label();
 			this.label4 = new System.Windows.Forms.Label();
 			this.ceilAlpha = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
@@ -93,8 +93,8 @@
 			this.labelLightFront = new System.Windows.Forms.Label();
 			this.ceilBrightness = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
 			this.ceilRenderStyle = new System.Windows.Forms.ComboBox();
-			this.ceilScale = new CodeImp.DoomBuilder.GZBuilder.Controls.PairedFieldsControl();
-			this.ceilOffsets = new CodeImp.DoomBuilder.GZBuilder.Controls.PairedFieldsControl();
+			this.ceilScale = new CodeImp.DoomBuilder.Controls.PairedFieldsControl();
+			this.ceilOffsets = new CodeImp.DoomBuilder.Controls.PairedFieldsControl();
 			this.ceilingtex = new CodeImp.DoomBuilder.Controls.FlatSelectorControl();
 			this.tabslopes = new System.Windows.Forms.TabPage();
 			this.groupBox5 = new System.Windows.Forms.GroupBox();
@@ -1225,9 +1225,9 @@
 		private System.Windows.Forms.Button apply;
 		private System.Windows.Forms.TabPage tabSurfaces;
 		private System.Windows.Forms.GroupBox groupBox1;
-		private CodeImp.DoomBuilder.GZBuilder.Controls.PairedFieldsControl ceilOffsets;
+		private CodeImp.DoomBuilder.Controls.PairedFieldsControl ceilOffsets;
 		private CodeImp.DoomBuilder.Controls.FlatSelectorControl ceilingtex;
-		private CodeImp.DoomBuilder.GZBuilder.Controls.PairedFieldsControl ceilScale;
+		private CodeImp.DoomBuilder.Controls.PairedFieldsControl ceilScale;
 		private System.Windows.Forms.ComboBox ceilRenderStyle;
 		private System.Windows.Forms.Label label4;
 		private CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox ceilAlpha;
@@ -1247,16 +1247,16 @@
 		private System.Windows.Forms.Label label12;
 		private CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox floorBrightness;
 		private System.Windows.Forms.ComboBox floorRenderStyle;
-		private CodeImp.DoomBuilder.GZBuilder.Controls.PairedFieldsControl floorScale;
-		private CodeImp.DoomBuilder.GZBuilder.Controls.PairedFieldsControl floorOffsets;
+		private CodeImp.DoomBuilder.Controls.PairedFieldsControl floorScale;
+		private CodeImp.DoomBuilder.Controls.PairedFieldsControl floorOffsets;
 		private CodeImp.DoomBuilder.Controls.FlatSelectorControl floortex;
-		private CodeImp.DoomBuilder.GZBuilder.Controls.AngleControl floorAngleControl;
-		private CodeImp.DoomBuilder.GZBuilder.Controls.AngleControl ceilAngleControl;
+		private CodeImp.DoomBuilder.Controls.AngleControlEx floorAngleControl;
+		private CodeImp.DoomBuilder.Controls.AngleControlEx ceilAngleControl;
 		private System.Windows.Forms.GroupBox groupBox3;
 		private CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox gravity;
 		private CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox desaturation;
-		private CodeImp.DoomBuilder.GZBuilder.Controls.ColorFieldsControl fadeColor;
-		private CodeImp.DoomBuilder.GZBuilder.Controls.ColorFieldsControl lightColor;
+		private CodeImp.DoomBuilder.Controls.ColorFieldsControl fadeColor;
+		private CodeImp.DoomBuilder.Controls.ColorFieldsControl lightColor;
 		private CodeImp.DoomBuilder.Controls.CheckboxArrayControl flags;
 		private System.Windows.Forms.CheckBox cbUseFloorLineAngles;
 		private System.Windows.Forms.CheckBox cbUseCeilLineAngles;
@@ -1275,7 +1275,7 @@
 		private System.Windows.Forms.ComboBox soundsequence;
 		private System.Windows.Forms.TabPage tabcomment;
 		private CodeImp.DoomBuilder.Controls.CommentEditor commenteditor;
-		private CodeImp.DoomBuilder.GZBuilder.Controls.TagsSelector tagsselector;
+		private CodeImp.DoomBuilder.Controls.TagsSelector tagsselector;
 		private System.Windows.Forms.Button resetfloorlight;
 		private System.Windows.Forms.Button resetceillight;
 	}
diff --git a/Source/Core/Windows/SectorEditFormUDMF.cs b/Source/Core/Windows/SectorEditFormUDMF.cs
index bf99d73b057843741ad1b261c6bddcd672c63ba6..c1bf7fe8388769ddb77da8faff30a164c6109ed2 100644
--- a/Source/Core/Windows/SectorEditFormUDMF.cs
+++ b/Source/Core/Windows/SectorEditFormUDMF.cs
@@ -385,12 +385,12 @@ namespace CodeImp.DoomBuilder.Windows
 				if(s.Fields.GetValue("rotationceiling", 0.0f).ToString() != ceilRotation.Text) 
 				{
 					ceilRotation.Text = "";
-					ceilAngleControl.Angle = GZBuilder.Controls.AngleControl.NO_ANGLE;
+					ceilAngleControl.Angle = AngleControlEx.NO_ANGLE;
 				}
 				if(s.Fields.GetValue("rotationfloor", 0.0f).ToString() != floorRotation.Text)
 				{
 					floorRotation.Text = "";
-					floorAngleControl.Angle = GZBuilder.Controls.AngleControl.NO_ANGLE;
+					floorAngleControl.Angle = AngleControlEx.NO_ANGLE;
 				}
 
 				//Texture brightness
@@ -981,7 +981,7 @@ namespace CodeImp.DoomBuilder.Windows
 			//restore values
 			if (string.IsNullOrEmpty(floorRotation.Text))
 			{
-				floorAngleControl.Angle = GZBuilder.Controls.AngleControl.NO_ANGLE;
+				floorAngleControl.Angle = AngleControlEx.NO_ANGLE;
 				
 				foreach(Sector s in sectors) 
 				{
@@ -1015,7 +1015,7 @@ namespace CodeImp.DoomBuilder.Windows
 			//restore values
 			if (string.IsNullOrEmpty(ceilRotation.Text))
 			{
-				ceilAngleControl.Angle = GZBuilder.Controls.AngleControl.NO_ANGLE;
+				ceilAngleControl.Angle = AngleControlEx.NO_ANGLE;
 				
 				foreach(Sector s in sectors) 
 				{
diff --git a/Source/Core/Windows/TextureBrowserForm.Designer.cs b/Source/Core/Windows/TextureBrowserForm.Designer.cs
index 9fd1bab94c0ecfae60d883e97aeb58dca7bb25b9..5404ce84c1db12115b02daa2354c4e674ff9431b 100644
--- a/Source/Core/Windows/TextureBrowserForm.Designer.cs
+++ b/Source/Core/Windows/TextureBrowserForm.Designer.cs
@@ -33,7 +33,7 @@ namespace CodeImp.DoomBuilder.Windows
 			this.cancel = new System.Windows.Forms.Button();
 			this.apply = new System.Windows.Forms.Button();
 			this.smallimages = new System.Windows.Forms.ImageList(this.components);
-			this.tvTextureSets = new CodeImp.DoomBuilder.GZBuilder.Controls.MultiSelectTreeview();
+			this.tvTextureSets = new CodeImp.DoomBuilder.Controls.MultiSelectTreeview();
 			this.browser = new CodeImp.DoomBuilder.Controls.ImageBrowserControl();
 			this.panel = new System.Windows.Forms.Panel();
 			this.splitter = new CodeImp.DoomBuilder.Controls.CollapsibleSplitContainer();
@@ -96,7 +96,7 @@ namespace CodeImp.DoomBuilder.Windows
 			this.tvTextureSets.Name = "tvTextureSets";
 			this.tvTextureSets.SelectedImageIndex = 0;
 			this.tvTextureSets.SelectionBackColor = System.Drawing.SystemColors.Highlight;
-			this.tvTextureSets.SelectionMode = CodeImp.DoomBuilder.GZBuilder.Controls.TreeViewSelectionMode.SingleSelect;
+			this.tvTextureSets.SelectionMode = CodeImp.DoomBuilder.Controls.TreeViewSelectionMode.SingleSelect;
 			this.tvTextureSets.Size = new System.Drawing.Size(198, 402);
 			this.tvTextureSets.TabIndex = 4;
 			this.tvTextureSets.TabStop = false;
@@ -186,7 +186,7 @@ namespace CodeImp.DoomBuilder.Windows
 		private System.Windows.Forms.Button cancel;
 		private System.Windows.Forms.Button apply;
 		private System.Windows.Forms.ImageList smallimages;
-		private CodeImp.DoomBuilder.GZBuilder.Controls.MultiSelectTreeview tvTextureSets;
+		private CodeImp.DoomBuilder.Controls.MultiSelectTreeview tvTextureSets;
 		private System.Windows.Forms.Panel panel;
 		private CodeImp.DoomBuilder.Controls.CollapsibleSplitContainer splitter;
 	}
diff --git a/Source/Core/Windows/ThingBrowser2Form.cs b/Source/Core/Windows/ThingBrowser2Form.cs
index ada9a24b20a1a6a302b73ea29502b79f2ad801cb..be1c304d7faf4d3688077c073d3224aab72b3d77 100644
--- a/Source/Core/Windows/ThingBrowser2Form.cs
+++ b/Source/Core/Windows/ThingBrowser2Form.cs
@@ -24,6 +24,7 @@ using CodeImp.DoomBuilder.Config;
 using CodeImp.DoomBuilder.Geometry;
 using CodeImp.DoomBuilder.Map;
 using CodeImp.DoomBuilder.Types;
+using CodeImp.DoomBuilder.Controls;
 
 #endregion
 
@@ -209,7 +210,7 @@ namespace CodeImp.DoomBuilder.Windows
 		{
 			if(preventchanges) return;
 			preventchanges = true;
-			anglecontrol.Angle = angle.GetResult(GZBuilder.Controls.AngleControl.NO_ANGLE);
+			anglecontrol.Angle = angle.GetResult(AngleControlEx.NO_ANGLE);
 			preventchanges = false;
 		}
 
diff --git a/Source/Core/Windows/ThingBrowser2Form.designer.cs b/Source/Core/Windows/ThingBrowser2Form.designer.cs
index a5e3021b823ab0acc04c9bbc05b160fc2ca9831a..39ddb701d5a13b60574d38a9e87cb683ad6ec0d1 100644
--- a/Source/Core/Windows/ThingBrowser2Form.designer.cs
+++ b/Source/Core/Windows/ThingBrowser2Form.designer.cs
@@ -30,7 +30,7 @@ namespace CodeImp.DoomBuilder.Windows
 		{
 			this.components = new System.ComponentModel.Container();
 			System.Windows.Forms.GroupBox groupBox2;
-			this.anglecontrol = new CodeImp.DoomBuilder.GZBuilder.Controls.AngleControl();
+			this.anglecontrol = new CodeImp.DoomBuilder.Controls.AngleControlEx();
 			this.anglelabel = new System.Windows.Forms.Label();
 			this.posZ = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
 			this.angle = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
@@ -307,7 +307,7 @@ namespace CodeImp.DoomBuilder.Windows
 		private System.Windows.Forms.Panel applypanel;
 		private System.Windows.Forms.Label flagsvallabel;
 		private Controls.NumericTextbox flagsvalue;
-		private GZBuilder.Controls.AngleControl anglecontrol;
+		private Controls.AngleControlEx anglecontrol;
 		private System.Windows.Forms.Label anglelabel;
 	}
 }
\ No newline at end of file
diff --git a/Source/Core/Windows/ThingEditForm.Designer.cs b/Source/Core/Windows/ThingEditForm.Designer.cs
index 645a1d41b80743ccdf9937e19c2e86e0337dbb8b..eb0067958202d8b5e65b27edb72a4e35b08292d6 100644
--- a/Source/Core/Windows/ThingEditForm.Designer.cs
+++ b/Source/Core/Windows/ThingEditForm.Designer.cs
@@ -53,10 +53,10 @@ namespace CodeImp.DoomBuilder.Windows
 			this.action.GrayOut = true;
 			this.groupBox4 = new System.Windows.Forms.GroupBox();
 			this.cbRandomAngle = new System.Windows.Forms.CheckBox();
-			this.anglecontrol = new CodeImp.DoomBuilder.GZBuilder.Controls.AngleControl();
+			this.anglecontrol = new CodeImp.DoomBuilder.Controls.AngleControlEx();
 			this.angle = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
 			this.idgroup = new System.Windows.Forms.GroupBox();
-			this.tagSelector = new CodeImp.DoomBuilder.GZBuilder.Controls.TagSelector();
+			this.tagSelector = new CodeImp.DoomBuilder.Controls.TagSelector();
 			this.typegroup = new System.Windows.Forms.GroupBox();
 			this.thingtype = new CodeImp.DoomBuilder.Controls.ThingBrowserControl();
 			this.settingsgroup = new System.Windows.Forms.GroupBox();
@@ -528,8 +528,8 @@ namespace CodeImp.DoomBuilder.Windows
 		private CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox posX;
 		private System.Windows.Forms.CheckBox cbAbsoluteHeight;
 		private System.Windows.Forms.CheckBox cbRandomAngle;
-		private CodeImp.DoomBuilder.GZBuilder.Controls.TagSelector tagSelector;
-		private CodeImp.DoomBuilder.GZBuilder.Controls.AngleControl anglecontrol;
+		private CodeImp.DoomBuilder.Controls.TagSelector tagSelector;
+		private CodeImp.DoomBuilder.Controls.AngleControlEx anglecontrol;
 		private System.Windows.Forms.PictureBox hint;
 		private System.Windows.Forms.Label hintlabel;
 		private System.Windows.Forms.PictureBox missingflags;
diff --git a/Source/Core/Windows/ThingEditForm.cs b/Source/Core/Windows/ThingEditForm.cs
index ec0c15fc23e7250cf520e0058d3dbb1ef25be5ac..363ff46aa3b121f5ebf65749a9cf100bd70289d2 100644
--- a/Source/Core/Windows/ThingEditForm.cs
+++ b/Source/Core/Windows/ThingEditForm.cs
@@ -24,6 +24,7 @@ using CodeImp.DoomBuilder.Config;
 using CodeImp.DoomBuilder.Geometry;
 using CodeImp.DoomBuilder.Map;
 using CodeImp.DoomBuilder.Types;
+using CodeImp.DoomBuilder.Controls;
 
 #endregion
 
@@ -359,7 +360,7 @@ namespace CodeImp.DoomBuilder.Windows
 		{
 			if(preventchanges) return;
 			preventchanges = true;
-			anglecontrol.Angle = angle.GetResult(GZBuilder.Controls.AngleControl.NO_ANGLE);
+			anglecontrol.Angle = angle.GetResult(AngleControlEx.NO_ANGLE);
 			preventchanges = false;
 			if(!preventmapchange) ApplyAngleChange(); //mxd
 		}
diff --git a/Source/Core/Windows/ThingEditFormUDMF.Designer.cs b/Source/Core/Windows/ThingEditFormUDMF.Designer.cs
index 6f65a72bb505e022ac532ed76803f51f885deae3..87eda3a1a0e5e06f32b44b32475a496f6cb1aaaf 100644
--- a/Source/Core/Windows/ThingEditFormUDMF.Designer.cs
+++ b/Source/Core/Windows/ThingEditFormUDMF.Designer.cs
@@ -41,7 +41,7 @@
 			this.labelpitch = new System.Windows.Forms.Label();
 			this.angle = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
 			this.labelAngle = new System.Windows.Forms.Label();
-			this.anglecontrol = new CodeImp.DoomBuilder.GZBuilder.Controls.AngleControl();
+			this.anglecontrol = new CodeImp.DoomBuilder.Controls.AngleControlEx();
 			this.labelGravity = new System.Windows.Forms.Label();
 			this.label7 = new System.Windows.Forms.Label();
 			this.tabs = new System.Windows.Forms.TabControl();
@@ -50,9 +50,9 @@
 			this.missingflags = new System.Windows.Forms.PictureBox();
 			this.flags = new CodeImp.DoomBuilder.Controls.CheckboxArrayControl();
 			this.grouproll = new System.Windows.Forms.GroupBox();
-			this.rollControl = new CodeImp.DoomBuilder.GZBuilder.Controls.AngleControl();
+			this.rollControl = new CodeImp.DoomBuilder.Controls.AngleControlEx();
 			this.grouppitch = new System.Windows.Forms.GroupBox();
-			this.pitchControl = new CodeImp.DoomBuilder.GZBuilder.Controls.AngleControl();
+			this.pitchControl = new CodeImp.DoomBuilder.Controls.AngleControlEx();
 			this.groupangle = new System.Windows.Forms.GroupBox();
 			this.groupBox4 = new System.Windows.Forms.GroupBox();
 			this.cbAbsoluteHeight = new System.Windows.Forms.CheckBox();
@@ -75,8 +75,8 @@
 			this.gravity = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
 			this.grouprendering = new System.Windows.Forms.GroupBox();
 			this.labelScale = new System.Windows.Forms.Label();
-			this.scale = new CodeImp.DoomBuilder.GZBuilder.Controls.PairedFloatControl();
-			this.color = new CodeImp.DoomBuilder.GZBuilder.Controls.ColorFieldsControl();
+			this.scale = new CodeImp.DoomBuilder.Controls.PairedFloatControl();
+			this.color = new CodeImp.DoomBuilder.Controls.ColorFieldsControl();
 			this.alpha = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
 			this.label8 = new System.Windows.Forms.Label();
 			this.renderStyle = new System.Windows.Forms.ComboBox();
@@ -87,7 +87,7 @@
 			this.action = new CodeImp.DoomBuilder.Controls.ActionSelectorControl();
 			this.browseaction = new System.Windows.Forms.Button();
 			this.grouptag = new System.Windows.Forms.GroupBox();
-			this.tagSelector = new CodeImp.DoomBuilder.GZBuilder.Controls.TagSelector();
+			this.tagSelector = new CodeImp.DoomBuilder.Controls.TagSelector();
 			this.tabcomment = new System.Windows.Forms.TabPage();
 			this.commenteditor = new CodeImp.DoomBuilder.Controls.CommentEditor();
 			this.tabcustom = new System.Windows.Forms.TabPage();
@@ -1052,9 +1052,9 @@
 		private CodeImp.DoomBuilder.Controls.ThingBrowserControl thingtype;
 		private CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox angle;
 		private System.Windows.Forms.Label labelAngle;
-		private CodeImp.DoomBuilder.GZBuilder.Controls.TagSelector tagSelector;
+		private CodeImp.DoomBuilder.Controls.TagSelector tagSelector;
 		private System.Windows.Forms.Label labelGravity;
-		private CodeImp.DoomBuilder.GZBuilder.Controls.AngleControl anglecontrol;
+		private CodeImp.DoomBuilder.Controls.AngleControlEx anglecontrol;
 		private System.Windows.Forms.PictureBox hint;
 		private System.Windows.Forms.Label hintlabel;
         private System.Windows.Forms.GroupBox groupBox1;
@@ -1083,17 +1083,17 @@
         private System.Windows.Forms.Label label10;
         private Controls.ButtonsNumericTextbox score;
         private System.Windows.Forms.Label label9;
-		private GZBuilder.Controls.ColorFieldsControl color;
+		private Controls.ColorFieldsControl color;
         private System.Windows.Forms.GroupBox settingsgroup;
         private Controls.CheckboxArrayControl flags;
         private Controls.ButtonsNumericTextbox conversationID;
         private System.Windows.Forms.Label labelID;
         private System.Windows.Forms.GroupBox grouproll;
-        private GZBuilder.Controls.AngleControl rollControl;
+        private Controls.AngleControlEx rollControl;
         private System.Windows.Forms.GroupBox grouppitch;
-        private GZBuilder.Controls.AngleControl pitchControl;
+        private Controls.AngleControlEx pitchControl;
         private System.Windows.Forms.GroupBox groupangle;
-        private GZBuilder.Controls.PairedFloatControl scale;
+        private Controls.PairedFloatControl scale;
 		private System.Windows.Forms.PictureBox missingflags;
 		private System.Windows.Forms.ToolTip tooltip;
 		private CodeImp.DoomBuilder.Controls.ActionSpecialHelpButton actionhelp;
diff --git a/Source/Core/Windows/ThingEditFormUDMF.cs b/Source/Core/Windows/ThingEditFormUDMF.cs
index 553a93cc85c66a683c8754c2e2a83fda52db7893..b8c732a578eca2b9690867348c2d71c438e76eec 100644
--- a/Source/Core/Windows/ThingEditFormUDMF.cs
+++ b/Source/Core/Windows/ThingEditFormUDMF.cs
@@ -24,6 +24,7 @@ using CodeImp.DoomBuilder.Config;
 using CodeImp.DoomBuilder.Geometry;
 using CodeImp.DoomBuilder.Map;
 using CodeImp.DoomBuilder.Types;
+using CodeImp.DoomBuilder.Controls;
 
 #endregion
 
@@ -377,7 +378,7 @@ namespace CodeImp.DoomBuilder.Windows
 		{
 			if(preventchanges) return;
 			preventchanges = true;
-			anglecontrol.Angle = angle.GetResult(GZBuilder.Controls.AngleControl.NO_ANGLE);
+			anglecontrol.Angle = angle.GetResult(AngleControlEx.NO_ANGLE);
 			preventchanges = false;
 			if(!preventmapchange) ApplyAngleChange(); //mxd
 		}
@@ -393,9 +394,9 @@ namespace CodeImp.DoomBuilder.Windows
 		private void pitch_WhenTextChanged(object sender, EventArgs e) 
 		{
 			if(preventchanges) return;
-			int p = pitch.GetResult(GZBuilder.Controls.AngleControl.NO_ANGLE);
+			int p = pitch.GetResult(AngleControlEx.NO_ANGLE);
 			preventchanges = true;
-			pitchControl.Angle = (p == GZBuilder.Controls.AngleControl.NO_ANGLE ? p : p + 90);
+			pitchControl.Angle = (p == AngleControlEx.NO_ANGLE ? p : p + 90);
 			preventchanges = false;
 			if(!preventmapchange) ApplyPitchChange();
 		}
@@ -410,9 +411,9 @@ namespace CodeImp.DoomBuilder.Windows
 		private void roll_WhenTextChanged(object sender, EventArgs e) 
 		{
 			if(preventchanges) return;
-			int r = roll.GetResult(GZBuilder.Controls.AngleControl.NO_ANGLE);
+			int r = roll.GetResult(AngleControlEx.NO_ANGLE);
 			preventchanges = true;
-			rollControl.Angle = (r == GZBuilder.Controls.AngleControl.NO_ANGLE ? r : r + 90);
+			rollControl.Angle = (r == AngleControlEx.NO_ANGLE ? r : r + 90);
 			preventchanges = false;
 			if(!preventmapchange) ApplyRollChange();
 		}
diff --git a/Source/Plugins/BuilderModes/Interface/DrawShapeOptionsPanel.Designer.cs b/Source/Plugins/BuilderModes/Interface/DrawShapeOptionsPanel.Designer.cs
index 40af578f52b08e9973d58b83c905dc749b5f1ad4..ce3be1772e206641215c0ea8ce59775908d85f33 100644
--- a/Source/Plugins/BuilderModes/Interface/DrawShapeOptionsPanel.Designer.cs
+++ b/Source/Plugins/BuilderModes/Interface/DrawShapeOptionsPanel.Designer.cs
@@ -51,8 +51,8 @@
 			this.sweepangle = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
 			this.startangle = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
 			this.limitanglequad = new System.Windows.Forms.CheckBox();
-			this.startanglewheel = new CodeImp.DoomBuilder.GZBuilder.Controls.AngleControlF();
-			this.sweepanglewheel = new CodeImp.DoomBuilder.GZBuilder.Controls.AngleControlF();
+			this.startanglewheel = new CodeImp.DoomBuilder.Controls.AngleControlF();
+			this.sweepanglewheel = new CodeImp.DoomBuilder.Controls.AngleControlF();
 			this.previewreference = new System.Windows.Forms.CheckBox();
 			this.groupBox3 = new System.Windows.Forms.GroupBox();
 			this.firstpointtype = new System.Windows.Forms.ComboBox();
@@ -475,8 +475,8 @@
         private System.Windows.Forms.GroupBox groupBox2;
         private System.Windows.Forms.CheckBox ellipse;
         private System.Windows.Forms.Button spike0;
-        private GZBuilder.Controls.AngleControlF sweepanglewheel;
-        private GZBuilder.Controls.AngleControlF startanglewheel;
+        private Controls.AngleControlF sweepanglewheel;
+        private Controls.AngleControlF startanglewheel;
         private System.Windows.Forms.CheckBox frontoutside;
         private System.Windows.Forms.CheckBox previewreference;
         private System.Windows.Forms.ComboBox spikingmode;
diff --git a/Source/Plugins/BuilderModes/Interface/VertexIntoShapeForm.Designer.cs b/Source/Plugins/BuilderModes/Interface/VertexIntoShapeForm.Designer.cs
index 3690369cd49a3c9d79d86a7e7df1167e6fcfc5aa..e8f14bd842e67ace1b1ee3dc0884e80a15e24387 100644
--- a/Source/Plugins/BuilderModes/Interface/VertexIntoShapeForm.Designer.cs
+++ b/Source/Plugins/BuilderModes/Interface/VertexIntoShapeForm.Designer.cs
@@ -62,8 +62,8 @@
 			this.groupBox2 = new System.Windows.Forms.GroupBox();
 			this.sweepangle = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
 			this.startangle = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
-			this.startanglewheel = new CodeImp.DoomBuilder.GZBuilder.Controls.AngleControlF();
-			this.sweepanglewheel = new CodeImp.DoomBuilder.GZBuilder.Controls.AngleControlF();
+			this.startanglewheel = new CodeImp.DoomBuilder.Controls.AngleControlF();
+			this.sweepanglewheel = new CodeImp.DoomBuilder.Controls.AngleControlF();
 			this.groupBox1 = new System.Windows.Forms.GroupBox();
 			this.spikiness = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
 			this.sides = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
@@ -76,8 +76,8 @@
 			this.groupBox6 = new System.Windows.Forms.GroupBox();
 			this.Rsweepangle = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
 			this.Rstartangle = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
-			this.Rstartanglewheel = new CodeImp.DoomBuilder.GZBuilder.Controls.AngleControlF();
-			this.Rsweepanglewheel = new CodeImp.DoomBuilder.GZBuilder.Controls.AngleControlF();
+			this.Rstartanglewheel = new CodeImp.DoomBuilder.Controls.AngleControlF();
+			this.Rsweepanglewheel = new CodeImp.DoomBuilder.Controls.AngleControlF();
 			this.groupBox5 = new System.Windows.Forms.GroupBox();
 			this.Rspikiness = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
 			this.Rsides = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
@@ -997,8 +997,8 @@
         private System.Windows.Forms.GroupBox groupBox2;
         private Controls.ButtonsNumericTextbox sweepangle;
         private Controls.ButtonsNumericTextbox startangle;
-        private GZBuilder.Controls.AngleControlF startanglewheel;
-        private GZBuilder.Controls.AngleControlF sweepanglewheel;
+        private Controls.AngleControlF startanglewheel;
+        private Controls.AngleControlF sweepanglewheel;
         private System.Windows.Forms.GroupBox groupBox1;
         private Controls.ButtonsNumericTextbox spikiness;
         private Controls.ButtonsNumericTextbox sides;
@@ -1016,8 +1016,8 @@
         private System.Windows.Forms.ComboBox randomstartangle;
         private Controls.ButtonsNumericTextbox Rsweepangle;
         private Controls.ButtonsNumericTextbox Rstartangle;
-        private GZBuilder.Controls.AngleControlF Rstartanglewheel;
-        private GZBuilder.Controls.AngleControlF Rsweepanglewheel;
+        private Controls.AngleControlF Rstartanglewheel;
+        private Controls.AngleControlF Rsweepanglewheel;
         private System.Windows.Forms.GroupBox groupBox5;
         private System.Windows.Forms.ComboBox randomspikiness;
         private System.Windows.Forms.ComboBox randomsides;