diff --git a/Source/Core/Map/MapSet.cs b/Source/Core/Map/MapSet.cs index 2451fec7..c3c5a8ae 100644 --- a/Source/Core/Map/MapSet.cs +++ b/Source/Core/Map/MapSet.cs @@ -2776,8 +2776,14 @@ namespace CodeImp.DoomBuilder.Map /// This snaps all vertices to the map format accuracy. Call this to ensure the vertices are at valid coordinates. public void SnapAllToAccuracy() { - foreach(Vertex v in vertices) v.SnapToAccuracy(); - foreach(Thing t in things) t.SnapToAccuracy(); + SnapAllToAccuracy(true); + } + + /// This snaps all vertices to the map format accuracy. Call this to ensure the vertices are at valid coordinates. + public void SnapAllToAccuracy(bool usepreciseposition) + { + foreach(Vertex v in vertices) v.SnapToAccuracy(usepreciseposition); + foreach(Thing t in things) t.SnapToAccuracy(usepreciseposition); } /// This returns the next unused tag number. diff --git a/Source/Core/Map/Thing.cs b/Source/Core/Map/Thing.cs index a8db0016..3b437a6b 100644 --- a/Source/Core/Map/Thing.cs +++ b/Source/Core/Map/Thing.cs @@ -598,11 +598,17 @@ namespace CodeImp.DoomBuilder.Map // This snaps the vertex to the map format accuracy public void SnapToAccuracy() + { + SnapToAccuracy(true); + } + + // This snaps the vertex to the map format accuracy + public void SnapToAccuracy(bool usepreciseposition) { // Round the coordinates - Vector3D newpos = new Vector3D((float)Math.Round(pos.x, General.Map.FormatInterface.VertexDecimals), - (float)Math.Round(pos.y, General.Map.FormatInterface.VertexDecimals), - (float)Math.Round(pos.z, General.Map.FormatInterface.VertexDecimals)); + Vector3D newpos = new Vector3D((float)Math.Round(pos.x, (usepreciseposition ? General.Map.FormatInterface.VertexDecimals : 0)), + (float)Math.Round(pos.y, (usepreciseposition ? General.Map.FormatInterface.VertexDecimals : 0)), + (float)Math.Round(pos.z, (usepreciseposition ? General.Map.FormatInterface.VertexDecimals : 0))); this.Move(newpos); } diff --git a/Source/Core/Map/Vertex.cs b/Source/Core/Map/Vertex.cs index e5727ea9..9ce8a532 100644 --- a/Source/Core/Map/Vertex.cs +++ b/Source/Core/Map/Vertex.cs @@ -270,10 +270,16 @@ namespace CodeImp.DoomBuilder.Map // This snaps the vertex to the map format accuracy public void SnapToAccuracy() + { + SnapToAccuracy(true); + } + + // This snaps the vertex to the map format accuracy + public void SnapToAccuracy(bool usepreciseposition) { // Round the coordinates - Vector2D newpos = new Vector2D((float)Math.Round(pos.x, General.Map.FormatInterface.VertexDecimals), - (float)Math.Round(pos.y, General.Map.FormatInterface.VertexDecimals)); + Vector2D newpos = new Vector2D((float)Math.Round(pos.x, (usepreciseposition ? General.Map.FormatInterface.VertexDecimals : 0)), + (float)Math.Round(pos.y, (usepreciseposition ? General.Map.FormatInterface.VertexDecimals : 0))); this.Move(newpos); } diff --git a/Source/Plugins/BuilderModes/ClassicModes/EditSelectionMode.cs b/Source/Plugins/BuilderModes/ClassicModes/EditSelectionMode.cs index 20686536..9f7b4f2b 100644 --- a/Source/Plugins/BuilderModes/ClassicModes/EditSelectionMode.cs +++ b/Source/Plugins/BuilderModes/ClassicModes/EditSelectionMode.cs @@ -168,6 +168,7 @@ namespace CodeImp.DoomBuilder.BuilderModes private Vector2D baseoffset; private Vector2D basesize; private bool linesflipped; + private bool usepreciseposition; //mxd //mxd. Texture modification private static bool transformflooroffsets; @@ -210,7 +211,10 @@ namespace CodeImp.DoomBuilder.BuilderModes public bool Pasting { get { return pasting; } set { pasting = value; } } public PasteOptions PasteOptions { get { return pasteoptions; } set { pasteoptions = value.Copy(); } } - + + //mxd. Modification + internal bool UsePrecisePosition { get { return usepreciseposition; } set { usepreciseposition = value; } } + //mxd. Texture offset properties internal bool TransformFloorOffsets { get { return transformflooroffsets; } set { transformflooroffsets = value; UpdateAllChanges(); } } internal bool TransformCeilingOffsets { get { return transformceiloffsets; } set { transformceiloffsets = value; UpdateAllChanges(); } } @@ -1038,6 +1042,9 @@ namespace CodeImp.DoomBuilder.BuilderModes // Add toolbar buttons General.Interface.AddButton(BuilderPlug.Me.MenusForm.FlipSelectionH); General.Interface.AddButton(BuilderPlug.Me.MenusForm.FlipSelectionV); + + //mxd. Get EditPanel-related settings + usepreciseposition = (General.Map.UDMF && General.Settings.ReadPluginSetting("editselectionusespreciseposition", true)); // Add docker panel = new EditSelectionPanel(this); @@ -1471,7 +1478,7 @@ namespace CodeImp.DoomBuilder.BuilderModes MapSet.FlipBackwardLinedefs(General.Map.Map.Linedefs); // Snap to map format accuracy - General.Map.Map.SnapAllToAccuracy(); + General.Map.Map.SnapAllToAccuracy(usepreciseposition); // Update cached values General.Map.Data.UpdateUsedTextures(); @@ -1508,6 +1515,9 @@ namespace CodeImp.DoomBuilder.BuilderModes // Remove toolbar buttons General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.FlipSelectionH); General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.FlipSelectionV); + + //mxd. Save EditPanel-related settings + General.Settings.WritePluginSetting("editselectionusespreciseposition", usepreciseposition); // Remove docker General.Interface.RemoveDocker(docker); diff --git a/Source/Plugins/BuilderModes/Interface/EditSelectionPanel.Designer.cs b/Source/Plugins/BuilderModes/Interface/EditSelectionPanel.Designer.cs index 90794ed8..081d483e 100644 --- a/Source/Plugins/BuilderModes/Interface/EditSelectionPanel.Designer.cs +++ b/Source/Plugins/BuilderModes/Interface/EditSelectionPanel.Designer.cs @@ -28,6 +28,7 @@ namespace CodeImp.DoomBuilder.BuilderModes /// private void InitializeComponent() { + this.components = new System.ComponentModel.Container(); this.groupBox1 = new System.Windows.Forms.GroupBox(); this.orgposy = new System.Windows.Forms.Button(); this.orgposx = new System.Windows.Forms.Button(); @@ -35,10 +36,6 @@ namespace CodeImp.DoomBuilder.BuilderModes this.label19 = new System.Windows.Forms.Label(); this.label6 = new System.Windows.Forms.Label(); this.label5 = new System.Windows.Forms.Label(); - this.relposy = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox(); - this.relposx = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox(); - this.absposy = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox(); - this.absposx = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox(); this.label2 = new System.Windows.Forms.Label(); this.label1 = new System.Windows.Forms.Label(); this.groupBox2 = new System.Windows.Forms.GroupBox(); @@ -48,11 +45,7 @@ namespace CodeImp.DoomBuilder.BuilderModes this.label9 = new System.Windows.Forms.Label(); this.label8 = new System.Windows.Forms.Label(); this.label7 = new System.Windows.Forms.Label(); - this.relsizey = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox(); - this.relsizex = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox(); this.label4 = new System.Windows.Forms.Label(); - this.abssizey = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox(); - this.abssizex = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox(); this.label3 = new System.Windows.Forms.Label(); this.groupBox3 = new System.Windows.Forms.GroupBox(); this.label14 = new System.Windows.Forms.Label(); @@ -60,7 +53,6 @@ namespace CodeImp.DoomBuilder.BuilderModes this.fliph = new System.Windows.Forms.Button(); this.label13 = new System.Windows.Forms.Label(); this.label11 = new System.Windows.Forms.Label(); - this.absrot = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox(); this.ceiltexgroup = new System.Windows.Forms.GroupBox(); this.ceiltexoffset = new System.Windows.Forms.CheckBox(); this.ceiltexrotation = new System.Windows.Forms.CheckBox(); @@ -71,6 +63,17 @@ namespace CodeImp.DoomBuilder.BuilderModes this.floortexscale = new System.Windows.Forms.CheckBox(); this.floortexall = new System.Windows.Forms.CheckBox(); this.floortexgroup = new System.Windows.Forms.GroupBox(); + this.preciseposition = new System.Windows.Forms.CheckBox(); + this.tooltip = new System.Windows.Forms.ToolTip(this.components); + this.absrot = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox(); + this.relsizey = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox(); + this.relsizex = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox(); + this.abssizey = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox(); + this.abssizex = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox(); + this.relposy = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox(); + this.relposx = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox(); + this.absposy = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox(); + this.absposx = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox(); this.groupBox1.SuspendLayout(); this.groupBox2.SuspendLayout(); this.groupBox3.SuspendLayout(); @@ -82,6 +85,7 @@ namespace CodeImp.DoomBuilder.BuilderModes // this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); + this.groupBox1.Controls.Add(this.preciseposition); this.groupBox1.Controls.Add(this.orgposy); this.groupBox1.Controls.Add(this.orgposx); this.groupBox1.Controls.Add(this.label16); @@ -96,7 +100,7 @@ namespace CodeImp.DoomBuilder.BuilderModes this.groupBox1.Controls.Add(this.label1); this.groupBox1.Location = new System.Drawing.Point(3, 3); this.groupBox1.Name = "groupBox1"; - this.groupBox1.Size = new System.Drawing.Size(243, 117); + this.groupBox1.Size = new System.Drawing.Size(243, 140); this.groupBox1.TabIndex = 0; this.groupBox1.TabStop = false; this.groupBox1.Text = "Position:"; @@ -130,7 +134,7 @@ namespace CodeImp.DoomBuilder.BuilderModes this.label16.Name = "label16"; this.label16.Size = new System.Drawing.Size(21, 13); this.label16.TabIndex = 26; - this.label16.Text = "mp"; + this.label16.Text = "mu"; // // label19 // @@ -159,6 +163,423 @@ namespace CodeImp.DoomBuilder.BuilderModes this.label5.TabIndex = 12; this.label5.Text = "mp"; // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(7, 88); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(49, 13); + this.label2.TabIndex = 1; + this.label2.Text = "Relative:"; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(6, 58); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(51, 13); + this.label1.TabIndex = 0; + this.label1.Text = "Absolute:"; + // + // groupBox2 + // + this.groupBox2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupBox2.Controls.Add(this.orgsizey); + this.groupBox2.Controls.Add(this.orgsizex); + this.groupBox2.Controls.Add(this.label12); + this.groupBox2.Controls.Add(this.label9); + this.groupBox2.Controls.Add(this.label8); + this.groupBox2.Controls.Add(this.label7); + this.groupBox2.Controls.Add(this.relsizey); + this.groupBox2.Controls.Add(this.relsizex); + this.groupBox2.Controls.Add(this.label4); + this.groupBox2.Controls.Add(this.abssizey); + this.groupBox2.Controls.Add(this.abssizex); + this.groupBox2.Controls.Add(this.label3); + this.groupBox2.Location = new System.Drawing.Point(3, 149); + this.groupBox2.Name = "groupBox2"; + this.groupBox2.Size = new System.Drawing.Size(243, 117); + this.groupBox2.TabIndex = 1; + this.groupBox2.TabStop = false; + this.groupBox2.Text = "Size:"; + // + // orgsizey + // + this.orgsizey.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.orgsizey.Location = new System.Drawing.Point(136, 23); + this.orgsizey.Name = "orgsizey"; + this.orgsizey.Size = new System.Drawing.Size(72, 24); + this.orgsizey.TabIndex = 31; + this.orgsizey.Text = "-2000"; + this.orgsizey.UseVisualStyleBackColor = true; + this.orgsizey.Click += new System.EventHandler(this.orgsizey_Click); + // + // orgsizex + // + this.orgsizex.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.orgsizex.Location = new System.Drawing.Point(58, 23); + this.orgsizex.Name = "orgsizex"; + this.orgsizex.Size = new System.Drawing.Size(72, 24); + this.orgsizex.TabIndex = 30; + this.orgsizex.Text = "-2000"; + this.orgsizex.UseVisualStyleBackColor = true; + this.orgsizex.Click += new System.EventHandler(this.orgsizex_Click); + // + // label12 + // + this.label12.AutoSize = true; + this.label12.Location = new System.Drawing.Point(214, 28); + this.label12.Name = "label12"; + this.label12.Size = new System.Drawing.Size(21, 13); + this.label12.TabIndex = 21; + this.label12.Text = "mp"; + // + // label9 + // + this.label9.AutoSize = true; + this.label9.Location = new System.Drawing.Point(9, 28); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(45, 13); + this.label9.TabIndex = 18; + this.label9.Text = "Original:"; + // + // label8 + // + this.label8.AutoSize = true; + this.label8.Location = new System.Drawing.Point(214, 88); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(15, 13); + this.label8.TabIndex = 17; + this.label8.Text = "%"; + // + // label7 + // + this.label7.AutoSize = true; + this.label7.Location = new System.Drawing.Point(214, 58); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(21, 13); + this.label7.TabIndex = 16; + this.label7.Text = "mp"; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(15, 88); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(37, 13); + this.label4.TabIndex = 13; + this.label4.Text = "Scale:"; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(2, 58); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(51, 13); + this.label3.TabIndex = 10; + this.label3.Text = "Absolute:"; + // + // groupBox3 + // + this.groupBox3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupBox3.Controls.Add(this.label14); + this.groupBox3.Controls.Add(this.flipv); + this.groupBox3.Controls.Add(this.fliph); + this.groupBox3.Controls.Add(this.label13); + this.groupBox3.Controls.Add(this.label11); + this.groupBox3.Controls.Add(this.absrot); + this.groupBox3.Location = new System.Drawing.Point(3, 272); + this.groupBox3.Name = "groupBox3"; + this.groupBox3.Size = new System.Drawing.Size(243, 91); + this.groupBox3.TabIndex = 2; + this.groupBox3.TabStop = false; + this.groupBox3.Text = "Transform:"; + // + // label14 + // + this.label14.AutoSize = true; + this.label14.Location = new System.Drawing.Point(9, 61); + this.label14.Name = "label14"; + this.label14.Size = new System.Drawing.Size(46, 13); + this.label14.TabIndex = 27; + this.label14.Text = "Flipping:"; + // + // flipv + // + this.flipv.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.flipv.Image = global::CodeImp.DoomBuilder.BuilderModes.Properties.Resources.FlipSelectionV; + this.flipv.Location = new System.Drawing.Point(94, 53); + this.flipv.Name = "flipv"; + this.flipv.Size = new System.Drawing.Size(30, 30); + this.flipv.TabIndex = 26; + this.flipv.UseVisualStyleBackColor = true; + this.flipv.Click += new System.EventHandler(this.flipv_Click); + // + // fliph + // + this.fliph.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.fliph.Image = global::CodeImp.DoomBuilder.BuilderModes.Properties.Resources.FlipSelectionH; + this.fliph.Location = new System.Drawing.Point(58, 53); + this.fliph.Name = "fliph"; + this.fliph.Size = new System.Drawing.Size(30, 30); + this.fliph.TabIndex = 25; + this.fliph.UseVisualStyleBackColor = true; + this.fliph.Click += new System.EventHandler(this.fliph_Click); + // + // label13 + // + this.label13.AutoSize = true; + this.label13.Location = new System.Drawing.Point(6, 28); + this.label13.Name = "label13"; + this.label13.Size = new System.Drawing.Size(50, 13); + this.label13.TabIndex = 23; + this.label13.Text = "Rotation:"; + // + // label11 + // + this.label11.AutoSize = true; + this.label11.Location = new System.Drawing.Point(146, 28); + this.label11.Name = "label11"; + this.label11.Size = new System.Drawing.Size(13, 13); + this.label11.TabIndex = 22; + this.label11.Text = "º"; + // + // ceiltexgroup + // + this.ceiltexgroup.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ceiltexgroup.Controls.Add(this.ceiltexoffset); + this.ceiltexgroup.Controls.Add(this.ceiltexrotation); + this.ceiltexgroup.Controls.Add(this.ceiltexscale); + this.ceiltexgroup.Location = new System.Drawing.Point(3, 369); + this.ceiltexgroup.Name = "ceiltexgroup"; + this.ceiltexgroup.Size = new System.Drawing.Size(243, 58); + this.ceiltexgroup.TabIndex = 3; + this.ceiltexgroup.TabStop = false; + this.ceiltexgroup.Text = " "; + // + // ceiltexoffset + // + this.ceiltexoffset.AutoSize = true; + this.ceiltexoffset.Location = new System.Drawing.Point(27, 28); + this.ceiltexoffset.Name = "ceiltexoffset"; + this.ceiltexoffset.Size = new System.Drawing.Size(54, 17); + this.ceiltexoffset.TabIndex = 30; + this.ceiltexoffset.Text = "Offset"; + this.ceiltexoffset.UseVisualStyleBackColor = true; + this.ceiltexoffset.CheckedChanged += new System.EventHandler(this.ceiltexoffset_CheckedChanged); + // + // ceiltexrotation + // + this.ceiltexrotation.AutoSize = true; + this.ceiltexrotation.Location = new System.Drawing.Point(89, 28); + this.ceiltexrotation.Name = "ceiltexrotation"; + this.ceiltexrotation.Size = new System.Drawing.Size(66, 17); + this.ceiltexrotation.TabIndex = 32; + this.ceiltexrotation.Text = "Rotation"; + this.ceiltexrotation.UseVisualStyleBackColor = true; + this.ceiltexrotation.CheckedChanged += new System.EventHandler(this.ceiltexrotation_CheckedChanged); + // + // ceiltexscale + // + this.ceiltexscale.AutoSize = true; + this.ceiltexscale.Location = new System.Drawing.Point(163, 28); + this.ceiltexscale.Name = "ceiltexscale"; + this.ceiltexscale.Size = new System.Drawing.Size(53, 17); + this.ceiltexscale.TabIndex = 35; + this.ceiltexscale.Text = "Scale"; + this.ceiltexscale.UseVisualStyleBackColor = true; + this.ceiltexscale.CheckedChanged += new System.EventHandler(this.ceiltexscale_CheckedChanged); + // + // ceiltexall + // + this.ceiltexall.AutoSize = true; + this.ceiltexall.Location = new System.Drawing.Point(14, 368); + this.ceiltexall.Name = "ceiltexall"; + this.ceiltexall.Size = new System.Drawing.Size(154, 17); + this.ceiltexall.TabIndex = 37; + this.ceiltexall.Text = "Ceiling Textures Transform:"; + this.ceiltexall.UseVisualStyleBackColor = true; + this.ceiltexall.CheckedChanged += new System.EventHandler(this.ceiltexall_CheckedChanged); + // + // floortexrotation + // + this.floortexrotation.AutoSize = true; + this.floortexrotation.Location = new System.Drawing.Point(89, 28); + this.floortexrotation.Name = "floortexrotation"; + this.floortexrotation.Size = new System.Drawing.Size(66, 17); + this.floortexrotation.TabIndex = 31; + this.floortexrotation.Text = "Rotation"; + this.floortexrotation.UseVisualStyleBackColor = true; + this.floortexrotation.CheckedChanged += new System.EventHandler(this.floortexrotation_CheckedChanged); + // + // floortexoffset + // + this.floortexoffset.AutoSize = true; + this.floortexoffset.Location = new System.Drawing.Point(27, 28); + this.floortexoffset.Name = "floortexoffset"; + this.floortexoffset.Size = new System.Drawing.Size(54, 17); + this.floortexoffset.TabIndex = 4; + this.floortexoffset.Text = "Offset"; + this.floortexoffset.UseVisualStyleBackColor = true; + this.floortexoffset.CheckedChanged += new System.EventHandler(this.floortexoffset_CheckedChanged); + // + // floortexscale + // + this.floortexscale.AutoSize = true; + this.floortexscale.Location = new System.Drawing.Point(163, 28); + this.floortexscale.Name = "floortexscale"; + this.floortexscale.Size = new System.Drawing.Size(53, 17); + this.floortexscale.TabIndex = 34; + this.floortexscale.Text = "Scale"; + this.floortexscale.UseVisualStyleBackColor = true; + this.floortexscale.CheckedChanged += new System.EventHandler(this.floortexscale_CheckedChanged); + // + // floortexall + // + this.floortexall.AutoSize = true; + this.floortexall.Location = new System.Drawing.Point(14, 432); + this.floortexall.Name = "floortexall"; + this.floortexall.Size = new System.Drawing.Size(146, 17); + this.floortexall.TabIndex = 36; + this.floortexall.Text = "Floor Textures Transform:"; + this.floortexall.UseVisualStyleBackColor = true; + this.floortexall.CheckedChanged += new System.EventHandler(this.floortexall_CheckedChanged); + // + // floortexgroup + // + this.floortexgroup.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.floortexgroup.Controls.Add(this.floortexoffset); + this.floortexgroup.Controls.Add(this.floortexrotation); + this.floortexgroup.Controls.Add(this.floortexscale); + this.floortexgroup.Location = new System.Drawing.Point(3, 433); + this.floortexgroup.Name = "floortexgroup"; + this.floortexgroup.Size = new System.Drawing.Size(243, 58); + this.floortexgroup.TabIndex = 38; + this.floortexgroup.TabStop = false; + this.floortexgroup.Text = " "; + // + // preciseposition + // + this.preciseposition.AutoSize = true; + this.preciseposition.Location = new System.Drawing.Point(58, 115); + this.preciseposition.Name = "preciseposition"; + this.preciseposition.Size = new System.Drawing.Size(146, 17); + this.preciseposition.TabIndex = 36; + this.preciseposition.Text = "High precision positioning"; + this.tooltip.SetToolTip(this.preciseposition, "When checked, thing and vertex positions will be set using floating point precisi" + + "on.\r\nOtherwise, they will be rounded to the nearest integer."); + this.preciseposition.UseVisualStyleBackColor = true; + this.preciseposition.CheckedChanged += new System.EventHandler(this.preciseposition_CheckedChanged); + // + // absrot + // + this.absrot.AllowDecimal = true; + this.absrot.AllowNegative = true; + this.absrot.AllowRelative = true; + this.absrot.ButtonStep = 1; + this.absrot.ButtonStepBig = 10F; + this.absrot.ButtonStepFloat = 1F; + this.absrot.ButtonStepSmall = 0.1F; + this.absrot.ButtonStepsUseModifierKeys = false; + this.absrot.ButtonStepsWrapAround = false; + this.absrot.Location = new System.Drawing.Point(58, 23); + this.absrot.Name = "absrot"; + this.absrot.Size = new System.Drawing.Size(82, 24); + this.absrot.StepValues = null; + this.absrot.TabIndex = 24; + this.absrot.WhenEnterPressed += new System.EventHandler(this.absrot_Validated); + this.absrot.Validated += new System.EventHandler(this.absrot_Validated); + this.absrot.WhenButtonsClicked += new System.EventHandler(this.absrot_Validated); + this.absrot.WhenTextChanged += new System.EventHandler(this.WhenTextChanged); + // + // relsizey + // + this.relsizey.AllowDecimal = true; + this.relsizey.AllowNegative = true; + this.relsizey.AllowRelative = true; + this.relsizey.ButtonStep = 1; + this.relsizey.ButtonStepBig = 10F; + this.relsizey.ButtonStepFloat = 1F; + this.relsizey.ButtonStepSmall = 0.1F; + this.relsizey.ButtonStepsUseModifierKeys = false; + this.relsizey.ButtonStepsWrapAround = false; + this.relsizey.Location = new System.Drawing.Point(136, 83); + this.relsizey.Name = "relsizey"; + this.relsizey.Size = new System.Drawing.Size(72, 24); + this.relsizey.StepValues = null; + this.relsizey.TabIndex = 15; + this.relsizey.WhenEnterPressed += new System.EventHandler(this.relsizey_Validated); + this.relsizey.Validated += new System.EventHandler(this.relsizey_Validated); + this.relsizey.WhenButtonsClicked += new System.EventHandler(this.relsizey_Validated); + this.relsizey.WhenTextChanged += new System.EventHandler(this.WhenTextChanged); + // + // relsizex + // + this.relsizex.AllowDecimal = true; + this.relsizex.AllowNegative = true; + this.relsizex.AllowRelative = true; + this.relsizex.ButtonStep = 1; + this.relsizex.ButtonStepBig = 10F; + this.relsizex.ButtonStepFloat = 1F; + this.relsizex.ButtonStepSmall = 0.1F; + this.relsizex.ButtonStepsUseModifierKeys = false; + this.relsizex.ButtonStepsWrapAround = false; + this.relsizex.Location = new System.Drawing.Point(58, 83); + this.relsizex.Name = "relsizex"; + this.relsizex.Size = new System.Drawing.Size(72, 24); + this.relsizex.StepValues = null; + this.relsizex.TabIndex = 14; + this.relsizex.WhenEnterPressed += new System.EventHandler(this.relsizex_Validated); + this.relsizex.Validated += new System.EventHandler(this.relsizex_Validated); + this.relsizex.WhenButtonsClicked += new System.EventHandler(this.relsizex_Validated); + this.relsizex.WhenTextChanged += new System.EventHandler(this.WhenTextChanged); + // + // abssizey + // + this.abssizey.AllowDecimal = true; + this.abssizey.AllowNegative = true; + this.abssizey.AllowRelative = true; + this.abssizey.ButtonStep = 1; + this.abssizey.ButtonStepBig = 10F; + this.abssizey.ButtonStepFloat = 1F; + this.abssizey.ButtonStepSmall = 0.1F; + this.abssizey.ButtonStepsUseModifierKeys = false; + this.abssizey.ButtonStepsWrapAround = false; + this.abssizey.Location = new System.Drawing.Point(136, 53); + this.abssizey.Name = "abssizey"; + this.abssizey.Size = new System.Drawing.Size(72, 24); + this.abssizey.StepValues = null; + this.abssizey.TabIndex = 12; + this.abssizey.WhenEnterPressed += new System.EventHandler(this.abssizey_Validated); + this.abssizey.Validated += new System.EventHandler(this.abssizey_Validated); + this.abssizey.WhenButtonsClicked += new System.EventHandler(this.abssizey_Validated); + this.abssizey.WhenTextChanged += new System.EventHandler(this.WhenTextChanged); + // + // abssizex + // + this.abssizex.AllowDecimal = true; + this.abssizex.AllowNegative = true; + this.abssizex.AllowRelative = true; + this.abssizex.ButtonStep = 1; + this.abssizex.ButtonStepBig = 10F; + this.abssizex.ButtonStepFloat = 1F; + this.abssizex.ButtonStepSmall = 0.1F; + this.abssizex.ButtonStepsUseModifierKeys = false; + this.abssizex.ButtonStepsWrapAround = false; + this.abssizex.Location = new System.Drawing.Point(58, 53); + this.abssizex.Name = "abssizex"; + this.abssizex.Size = new System.Drawing.Size(72, 24); + this.abssizex.StepValues = null; + this.abssizex.TabIndex = 11; + this.abssizex.WhenEnterPressed += new System.EventHandler(this.abssizex_Validated); + this.abssizex.Validated += new System.EventHandler(this.abssizex_Validated); + this.abssizex.WhenButtonsClicked += new System.EventHandler(this.abssizex_Validated); + this.abssizex.WhenTextChanged += new System.EventHandler(this.WhenTextChanged); + // // relposy // this.relposy.AllowDecimal = true; @@ -243,410 +664,6 @@ namespace CodeImp.DoomBuilder.BuilderModes this.absposx.WhenButtonsClicked += new System.EventHandler(this.absposx_Validated); this.absposx.WhenTextChanged += new System.EventHandler(this.WhenTextChanged); // - // label2 - // - this.label2.AutoSize = true; - this.label2.Location = new System.Drawing.Point(7, 88); - this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(49, 13); - this.label2.TabIndex = 1; - this.label2.Text = "Relative:"; - // - // label1 - // - this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(6, 58); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(51, 13); - this.label1.TabIndex = 0; - this.label1.Text = "Absolute:"; - // - // groupBox2 - // - this.groupBox2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.groupBox2.Controls.Add(this.orgsizey); - this.groupBox2.Controls.Add(this.orgsizex); - this.groupBox2.Controls.Add(this.label12); - this.groupBox2.Controls.Add(this.label9); - this.groupBox2.Controls.Add(this.label8); - this.groupBox2.Controls.Add(this.label7); - this.groupBox2.Controls.Add(this.relsizey); - this.groupBox2.Controls.Add(this.relsizex); - this.groupBox2.Controls.Add(this.label4); - this.groupBox2.Controls.Add(this.abssizey); - this.groupBox2.Controls.Add(this.abssizex); - this.groupBox2.Controls.Add(this.label3); - this.groupBox2.Location = new System.Drawing.Point(3, 126); - this.groupBox2.Name = "groupBox2"; - this.groupBox2.Size = new System.Drawing.Size(243, 117); - this.groupBox2.TabIndex = 1; - this.groupBox2.TabStop = false; - this.groupBox2.Text = "Size:"; - // - // orgsizey - // - this.orgsizey.FlatStyle = System.Windows.Forms.FlatStyle.Popup; - this.orgsizey.Location = new System.Drawing.Point(136, 23); - this.orgsizey.Name = "orgsizey"; - this.orgsizey.Size = new System.Drawing.Size(72, 24); - this.orgsizey.TabIndex = 31; - this.orgsizey.Text = "-2000"; - this.orgsizey.UseVisualStyleBackColor = true; - this.orgsizey.Click += new System.EventHandler(this.orgsizey_Click); - // - // orgsizex - // - this.orgsizex.FlatStyle = System.Windows.Forms.FlatStyle.Popup; - this.orgsizex.Location = new System.Drawing.Point(58, 23); - this.orgsizex.Name = "orgsizex"; - this.orgsizex.Size = new System.Drawing.Size(72, 24); - this.orgsizex.TabIndex = 30; - this.orgsizex.Text = "-2000"; - this.orgsizex.UseVisualStyleBackColor = true; - this.orgsizex.Click += new System.EventHandler(this.orgsizex_Click); - // - // label12 - // - this.label12.AutoSize = true; - this.label12.Location = new System.Drawing.Point(214, 28); - this.label12.Name = "label12"; - this.label12.Size = new System.Drawing.Size(21, 13); - this.label12.TabIndex = 21; - this.label12.Text = "mp"; - // - // label9 - // - this.label9.AutoSize = true; - this.label9.Location = new System.Drawing.Point(9, 28); - this.label9.Name = "label9"; - this.label9.Size = new System.Drawing.Size(45, 13); - this.label9.TabIndex = 18; - this.label9.Text = "Original:"; - // - // label8 - // - this.label8.AutoSize = true; - this.label8.Location = new System.Drawing.Point(214, 88); - this.label8.Name = "label8"; - this.label8.Size = new System.Drawing.Size(15, 13); - this.label8.TabIndex = 17; - this.label8.Text = "%"; - // - // label7 - // - this.label7.AutoSize = true; - this.label7.Location = new System.Drawing.Point(214, 58); - this.label7.Name = "label7"; - this.label7.Size = new System.Drawing.Size(21, 13); - this.label7.TabIndex = 16; - this.label7.Text = "mp"; - // - // relsizey - // - this.relsizey.AllowDecimal = true; - this.relsizey.AllowNegative = true; - this.relsizey.AllowRelative = true; - this.relsizey.ButtonStep = 1; - this.relsizey.ButtonStepBig = 10F; - this.relsizey.ButtonStepFloat = 1F; - this.relsizey.ButtonStepSmall = 0.1F; - this.relsizey.ButtonStepsUseModifierKeys = false; - this.relsizey.ButtonStepsWrapAround = false; - this.relsizey.Location = new System.Drawing.Point(136, 83); - this.relsizey.Name = "relsizey"; - this.relsizey.Size = new System.Drawing.Size(72, 24); - this.relsizey.StepValues = null; - this.relsizey.TabIndex = 15; - this.relsizey.WhenEnterPressed += new System.EventHandler(this.relsizey_Validated); - this.relsizey.Validated += new System.EventHandler(this.relsizey_Validated); - this.relsizey.WhenButtonsClicked += new System.EventHandler(this.relsizey_Validated); - this.relsizey.WhenTextChanged += new System.EventHandler(this.WhenTextChanged); - // - // relsizex - // - this.relsizex.AllowDecimal = true; - this.relsizex.AllowNegative = true; - this.relsizex.AllowRelative = true; - this.relsizex.ButtonStep = 1; - this.relsizex.ButtonStepBig = 10F; - this.relsizex.ButtonStepFloat = 1F; - this.relsizex.ButtonStepSmall = 0.1F; - this.relsizex.ButtonStepsUseModifierKeys = false; - this.relsizex.ButtonStepsWrapAround = false; - this.relsizex.Location = new System.Drawing.Point(58, 83); - this.relsizex.Name = "relsizex"; - this.relsizex.Size = new System.Drawing.Size(72, 24); - this.relsizex.StepValues = null; - this.relsizex.TabIndex = 14; - this.relsizex.WhenEnterPressed += new System.EventHandler(this.relsizex_Validated); - this.relsizex.Validated += new System.EventHandler(this.relsizex_Validated); - this.relsizex.WhenButtonsClicked += new System.EventHandler(this.relsizex_Validated); - this.relsizex.WhenTextChanged += new System.EventHandler(this.WhenTextChanged); - // - // label4 - // - this.label4.AutoSize = true; - this.label4.Location = new System.Drawing.Point(15, 88); - this.label4.Name = "label4"; - this.label4.Size = new System.Drawing.Size(37, 13); - this.label4.TabIndex = 13; - this.label4.Text = "Scale:"; - // - // abssizey - // - this.abssizey.AllowDecimal = true; - this.abssizey.AllowNegative = true; - this.abssizey.AllowRelative = true; - this.abssizey.ButtonStep = 1; - this.abssizey.ButtonStepBig = 10F; - this.abssizey.ButtonStepFloat = 1F; - this.abssizey.ButtonStepSmall = 0.1F; - this.abssizey.ButtonStepsUseModifierKeys = false; - this.abssizey.ButtonStepsWrapAround = false; - this.abssizey.Location = new System.Drawing.Point(136, 53); - this.abssizey.Name = "abssizey"; - this.abssizey.Size = new System.Drawing.Size(72, 24); - this.abssizey.StepValues = null; - this.abssizey.TabIndex = 12; - this.abssizey.WhenEnterPressed += new System.EventHandler(this.abssizey_Validated); - this.abssizey.Validated += new System.EventHandler(this.abssizey_Validated); - this.abssizey.WhenButtonsClicked += new System.EventHandler(this.abssizey_Validated); - this.abssizey.WhenTextChanged += new System.EventHandler(this.WhenTextChanged); - // - // abssizex - // - this.abssizex.AllowDecimal = true; - this.abssizex.AllowNegative = true; - this.abssizex.AllowRelative = true; - this.abssizex.ButtonStep = 1; - this.abssizex.ButtonStepBig = 10F; - this.abssizex.ButtonStepFloat = 1F; - this.abssizex.ButtonStepSmall = 0.1F; - this.abssizex.ButtonStepsUseModifierKeys = false; - this.abssizex.ButtonStepsWrapAround = false; - this.abssizex.Location = new System.Drawing.Point(58, 53); - this.abssizex.Name = "abssizex"; - this.abssizex.Size = new System.Drawing.Size(72, 24); - this.abssizex.StepValues = null; - this.abssizex.TabIndex = 11; - this.abssizex.WhenEnterPressed += new System.EventHandler(this.abssizex_Validated); - this.abssizex.Validated += new System.EventHandler(this.abssizex_Validated); - this.abssizex.WhenButtonsClicked += new System.EventHandler(this.abssizex_Validated); - this.abssizex.WhenTextChanged += new System.EventHandler(this.WhenTextChanged); - // - // label3 - // - this.label3.AutoSize = true; - this.label3.Location = new System.Drawing.Point(2, 58); - this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(51, 13); - this.label3.TabIndex = 10; - this.label3.Text = "Absolute:"; - // - // groupBox3 - // - this.groupBox3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.groupBox3.Controls.Add(this.label14); - this.groupBox3.Controls.Add(this.flipv); - this.groupBox3.Controls.Add(this.fliph); - this.groupBox3.Controls.Add(this.label13); - this.groupBox3.Controls.Add(this.label11); - this.groupBox3.Controls.Add(this.absrot); - this.groupBox3.Location = new System.Drawing.Point(3, 249); - this.groupBox3.Name = "groupBox3"; - this.groupBox3.Size = new System.Drawing.Size(243, 91); - this.groupBox3.TabIndex = 2; - this.groupBox3.TabStop = false; - this.groupBox3.Text = "Transform:"; - // - // label14 - // - this.label14.AutoSize = true; - this.label14.Location = new System.Drawing.Point(9, 61); - this.label14.Name = "label14"; - this.label14.Size = new System.Drawing.Size(46, 13); - this.label14.TabIndex = 27; - this.label14.Text = "Flipping:"; - // - // flipv - // - this.flipv.FlatStyle = System.Windows.Forms.FlatStyle.Popup; - this.flipv.Image = global::CodeImp.DoomBuilder.BuilderModes.Properties.Resources.FlipSelectionV; - this.flipv.Location = new System.Drawing.Point(94, 53); - this.flipv.Name = "flipv"; - this.flipv.Size = new System.Drawing.Size(30, 30); - this.flipv.TabIndex = 26; - this.flipv.UseVisualStyleBackColor = true; - this.flipv.Click += new System.EventHandler(this.flipv_Click); - // - // fliph - // - this.fliph.FlatStyle = System.Windows.Forms.FlatStyle.Popup; - this.fliph.Image = global::CodeImp.DoomBuilder.BuilderModes.Properties.Resources.FlipSelectionH; - this.fliph.Location = new System.Drawing.Point(58, 53); - this.fliph.Name = "fliph"; - this.fliph.Size = new System.Drawing.Size(30, 30); - this.fliph.TabIndex = 25; - this.fliph.UseVisualStyleBackColor = true; - this.fliph.Click += new System.EventHandler(this.fliph_Click); - // - // label13 - // - this.label13.AutoSize = true; - this.label13.Location = new System.Drawing.Point(6, 28); - this.label13.Name = "label13"; - this.label13.Size = new System.Drawing.Size(50, 13); - this.label13.TabIndex = 23; - this.label13.Text = "Rotation:"; - // - // label11 - // - this.label11.AutoSize = true; - this.label11.Location = new System.Drawing.Point(146, 28); - this.label11.Name = "label11"; - this.label11.Size = new System.Drawing.Size(13, 13); - this.label11.TabIndex = 22; - this.label11.Text = "º"; - // - // absrot - // - this.absrot.AllowDecimal = true; - this.absrot.AllowNegative = true; - this.absrot.AllowRelative = true; - this.absrot.ButtonStep = 1; - this.absrot.ButtonStepBig = 10F; - this.absrot.ButtonStepFloat = 1F; - this.absrot.ButtonStepSmall = 0.1F; - this.absrot.ButtonStepsUseModifierKeys = false; - this.absrot.ButtonStepsWrapAround = false; - this.absrot.Location = new System.Drawing.Point(58, 23); - this.absrot.Name = "absrot"; - this.absrot.Size = new System.Drawing.Size(82, 24); - this.absrot.StepValues = null; - this.absrot.TabIndex = 24; - this.absrot.WhenEnterPressed += new System.EventHandler(this.absrot_Validated); - this.absrot.Validated += new System.EventHandler(this.absrot_Validated); - this.absrot.WhenButtonsClicked += new System.EventHandler(this.absrot_Validated); - this.absrot.WhenTextChanged += new System.EventHandler(this.WhenTextChanged); - // - // ceiltexgroup - // - this.ceiltexgroup.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.ceiltexgroup.Controls.Add(this.ceiltexoffset); - this.ceiltexgroup.Controls.Add(this.ceiltexrotation); - this.ceiltexgroup.Controls.Add(this.ceiltexscale); - this.ceiltexgroup.Location = new System.Drawing.Point(3, 346); - this.ceiltexgroup.Name = "ceiltexgroup"; - this.ceiltexgroup.Size = new System.Drawing.Size(243, 58); - this.ceiltexgroup.TabIndex = 3; - this.ceiltexgroup.TabStop = false; - this.ceiltexgroup.Text = " "; - // - // ceiltexoffset - // - this.ceiltexoffset.AutoSize = true; - this.ceiltexoffset.Location = new System.Drawing.Point(27, 28); - this.ceiltexoffset.Name = "ceiltexoffset"; - this.ceiltexoffset.Size = new System.Drawing.Size(54, 17); - this.ceiltexoffset.TabIndex = 30; - this.ceiltexoffset.Text = "Offset"; - this.ceiltexoffset.UseVisualStyleBackColor = true; - this.ceiltexoffset.CheckedChanged += new System.EventHandler(this.ceiltexoffset_CheckedChanged); - // - // ceiltexrotation - // - this.ceiltexrotation.AutoSize = true; - this.ceiltexrotation.Location = new System.Drawing.Point(89, 28); - this.ceiltexrotation.Name = "ceiltexrotation"; - this.ceiltexrotation.Size = new System.Drawing.Size(66, 17); - this.ceiltexrotation.TabIndex = 32; - this.ceiltexrotation.Text = "Rotation"; - this.ceiltexrotation.UseVisualStyleBackColor = true; - this.ceiltexrotation.CheckedChanged += new System.EventHandler(this.ceiltexrotation_CheckedChanged); - // - // ceiltexscale - // - this.ceiltexscale.AutoSize = true; - this.ceiltexscale.Location = new System.Drawing.Point(163, 28); - this.ceiltexscale.Name = "ceiltexscale"; - this.ceiltexscale.Size = new System.Drawing.Size(53, 17); - this.ceiltexscale.TabIndex = 35; - this.ceiltexscale.Text = "Scale"; - this.ceiltexscale.UseVisualStyleBackColor = true; - this.ceiltexscale.CheckedChanged += new System.EventHandler(this.ceiltexscale_CheckedChanged); - // - // ceiltexall - // - this.ceiltexall.AutoSize = true; - this.ceiltexall.Location = new System.Drawing.Point(14, 345); - this.ceiltexall.Name = "ceiltexall"; - this.ceiltexall.Size = new System.Drawing.Size(154, 17); - this.ceiltexall.TabIndex = 37; - this.ceiltexall.Text = "Ceiling Textures Transform:"; - this.ceiltexall.UseVisualStyleBackColor = true; - this.ceiltexall.CheckedChanged += new System.EventHandler(this.ceiltexall_CheckedChanged); - // - // floortexrotation - // - this.floortexrotation.AutoSize = true; - this.floortexrotation.Location = new System.Drawing.Point(89, 28); - this.floortexrotation.Name = "floortexrotation"; - this.floortexrotation.Size = new System.Drawing.Size(66, 17); - this.floortexrotation.TabIndex = 31; - this.floortexrotation.Text = "Rotation"; - this.floortexrotation.UseVisualStyleBackColor = true; - this.floortexrotation.CheckedChanged += new System.EventHandler(this.floortexrotation_CheckedChanged); - // - // floortexoffset - // - this.floortexoffset.AutoSize = true; - this.floortexoffset.Location = new System.Drawing.Point(27, 28); - this.floortexoffset.Name = "floortexoffset"; - this.floortexoffset.Size = new System.Drawing.Size(54, 17); - this.floortexoffset.TabIndex = 4; - this.floortexoffset.Text = "Offset"; - this.floortexoffset.UseVisualStyleBackColor = true; - this.floortexoffset.CheckedChanged += new System.EventHandler(this.floortexoffset_CheckedChanged); - // - // floortexscale - // - this.floortexscale.AutoSize = true; - this.floortexscale.Location = new System.Drawing.Point(163, 28); - this.floortexscale.Name = "floortexscale"; - this.floortexscale.Size = new System.Drawing.Size(53, 17); - this.floortexscale.TabIndex = 34; - this.floortexscale.Text = "Scale"; - this.floortexscale.UseVisualStyleBackColor = true; - this.floortexscale.CheckedChanged += new System.EventHandler(this.floortexscale_CheckedChanged); - // - // floortexall - // - this.floortexall.AutoSize = true; - this.floortexall.Location = new System.Drawing.Point(14, 409); - this.floortexall.Name = "floortexall"; - this.floortexall.Size = new System.Drawing.Size(146, 17); - this.floortexall.TabIndex = 36; - this.floortexall.Text = "Floor Textures Transform:"; - this.floortexall.UseVisualStyleBackColor = true; - this.floortexall.CheckedChanged += new System.EventHandler(this.floortexall_CheckedChanged); - // - // floortexgroup - // - this.floortexgroup.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.floortexgroup.Controls.Add(this.floortexoffset); - this.floortexgroup.Controls.Add(this.floortexrotation); - this.floortexgroup.Controls.Add(this.floortexscale); - this.floortexgroup.Location = new System.Drawing.Point(3, 410); - this.floortexgroup.Name = "floortexgroup"; - this.floortexgroup.Size = new System.Drawing.Size(243, 58); - this.floortexgroup.TabIndex = 38; - this.floortexgroup.TabStop = false; - this.floortexgroup.Text = " "; - // // EditSelectionPanel // this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); @@ -720,5 +737,7 @@ namespace CodeImp.DoomBuilder.BuilderModes private System.Windows.Forms.CheckBox ceiltexall; private System.Windows.Forms.CheckBox floortexall; private System.Windows.Forms.GroupBox floortexgroup; + private System.Windows.Forms.CheckBox preciseposition; + private System.Windows.Forms.ToolTip tooltip; } } diff --git a/Source/Plugins/BuilderModes/Interface/EditSelectionPanel.cs b/Source/Plugins/BuilderModes/Interface/EditSelectionPanel.cs index a4e08912..2fc5bdbb 100644 --- a/Source/Plugins/BuilderModes/Interface/EditSelectionPanel.cs +++ b/Source/Plugins/BuilderModes/Interface/EditSelectionPanel.cs @@ -57,6 +57,10 @@ namespace CodeImp.DoomBuilder.BuilderModes { InitializeComponent(); this.mode = mode; + + //mxd + if(General.Map.UDMF) preciseposition.Checked = mode.UsePrecisePosition; + else preciseposition.Enabled = false; } #endregion @@ -347,6 +351,12 @@ namespace CodeImp.DoomBuilder.BuilderModes preventchanges = false; } + + //mxd + private void preciseposition_CheckedChanged(object sender, EventArgs e) + { + mode.UsePrecisePosition = preciseposition.Checked; + } #endregion } diff --git a/Source/Plugins/BuilderModes/Interface/EditSelectionPanel.resx b/Source/Plugins/BuilderModes/Interface/EditSelectionPanel.resx index a764f1c7..d53e092a 100644 --- a/Source/Plugins/BuilderModes/Interface/EditSelectionPanel.resx +++ b/Source/Plugins/BuilderModes/Interface/EditSelectionPanel.resx @@ -117,6 +117,9 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 17, 17 + True