diff --git a/MakeSVNRelease.bat b/MakeSVNRelease.bat
index d1212a55..43b9b7cb 100644
--- a/MakeSVNRelease.bat
+++ b/MakeSVNRelease.bat
@@ -8,7 +8,7 @@ ECHO. - Microsoft HTML Help compiler
ECHO. - 7zip
ECHO.
ECHO. You have to commit your work before using this script.
-ECHO. Results will be in the 'SVN_Build' directory. Anything currently in
+ECHO. Results will be in the 'SVN_Build' directory. Files in
ECHO. the 'SVN_Build' directory may be overwritten.
ECHO.
ECHO.
diff --git a/Source/Core/Windows/ConfigForm.Designer.cs b/Source/Core/Windows/ConfigForm.Designer.cs
index 312a601d..2d2df8fa 100644
--- a/Source/Core/Windows/ConfigForm.Designer.cs
+++ b/Source/Core/Windows/ConfigForm.Designer.cs
@@ -50,7 +50,6 @@ namespace CodeImp.DoomBuilder.Windows
this.nodebuildertest = new System.Windows.Forms.ComboBox();
this.nodebuildersave = new System.Windows.Forms.ComboBox();
this.tabtesting = new System.Windows.Forms.TabPage();
- this.hintbox = new System.Windows.Forms.PictureBox();
this.btnRemoveEngine = new System.Windows.Forms.Button();
this.btnNewEngine = new System.Windows.Forms.Button();
this.cbEngineSelector = new System.Windows.Forms.ComboBox();
@@ -108,7 +107,6 @@ namespace CodeImp.DoomBuilder.Windows
this.tabresources.SuspendLayout();
this.tabnodebuilder.SuspendLayout();
this.tabtesting.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.hintbox)).BeginInit();
this.tabtextures.SuspendLayout();
this.tabmodes.SuspendLayout();
this.tabcustomcolors.SuspendLayout();
@@ -225,11 +223,14 @@ namespace CodeImp.DoomBuilder.Windows
// labelparameters
//
this.labelparameters.AutoSize = true;
+ this.labelparameters.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.labelparameters.ForeColor = System.Drawing.SystemColors.HotTrack;
this.labelparameters.Location = new System.Drawing.Point(16, 169);
this.labelparameters.Name = "labelparameters";
this.labelparameters.Size = new System.Drawing.Size(65, 14);
this.labelparameters.TabIndex = 27;
this.labelparameters.Text = "Parameters:";
+ this.tooltip.SetToolTip(this.labelparameters, resources.GetString("labelparameters.ToolTip"));
this.labelparameters.Visible = false;
//
// cancel
@@ -347,7 +348,6 @@ namespace CodeImp.DoomBuilder.Windows
//
// tabtesting
//
- this.tabtesting.Controls.Add(this.hintbox);
this.tabtesting.Controls.Add(this.btnRemoveEngine);
this.tabtesting.Controls.Add(this.btnNewEngine);
this.tabtesting.Controls.Add(this.cbEngineSelector);
@@ -374,20 +374,10 @@ namespace CodeImp.DoomBuilder.Windows
this.tabtesting.Text = "Testing";
this.tabtesting.UseVisualStyleBackColor = true;
//
- // hintbox
- //
- this.hintbox.Image = global::CodeImp.DoomBuilder.Properties.Resources.Question;
- this.hintbox.Location = new System.Drawing.Point(474, 166);
- this.hintbox.Name = "hintbox";
- this.hintbox.Size = new System.Drawing.Size(21, 21);
- this.hintbox.TabIndex = 41;
- this.hintbox.TabStop = false;
- this.tooltip.SetToolTip(this.hintbox, resources.GetString("hintbox.ToolTip"));
- //
// btnRemoveEngine
//
this.btnRemoveEngine.Image = global::CodeImp.DoomBuilder.Properties.Resources.SearchClear;
- this.btnRemoveEngine.Location = new System.Drawing.Point(447, 51);
+ this.btnRemoveEngine.Location = new System.Drawing.Point(463, 51);
this.btnRemoveEngine.Name = "btnRemoveEngine";
this.btnRemoveEngine.Size = new System.Drawing.Size(26, 24);
this.btnRemoveEngine.TabIndex = 40;
@@ -397,7 +387,7 @@ namespace CodeImp.DoomBuilder.Windows
// btnNewEngine
//
this.btnNewEngine.Image = global::CodeImp.DoomBuilder.Properties.Resources.Add;
- this.btnNewEngine.Location = new System.Drawing.Point(417, 51);
+ this.btnNewEngine.Location = new System.Drawing.Point(433, 51);
this.btnNewEngine.Name = "btnNewEngine";
this.btnNewEngine.Size = new System.Drawing.Size(26, 24);
this.btnNewEngine.TabIndex = 39;
@@ -409,7 +399,7 @@ namespace CodeImp.DoomBuilder.Windows
this.cbEngineSelector.FormattingEnabled = true;
this.cbEngineSelector.Location = new System.Drawing.Point(87, 53);
this.cbEngineSelector.Name = "cbEngineSelector";
- this.cbEngineSelector.Size = new System.Drawing.Size(324, 22);
+ this.cbEngineSelector.Size = new System.Drawing.Size(340, 22);
this.cbEngineSelector.TabIndex = 38;
this.cbEngineSelector.SelectedIndexChanged += new System.EventHandler(this.cbEngineSelector_SelectedIndexChanged);
this.cbEngineSelector.DropDown += new System.EventHandler(this.cbEngineSelector_DropDown);
@@ -455,7 +445,7 @@ namespace CodeImp.DoomBuilder.Windows
this.skill.GeneralizedOptions = null;
this.skill.Location = new System.Drawing.Point(87, 116);
this.skill.Name = "skill";
- this.skill.Size = new System.Drawing.Size(386, 21);
+ this.skill.Size = new System.Drawing.Size(402, 21);
this.skill.TabIndex = 2;
this.skill.Value = 402;
this.skill.ValueChanges += new System.EventHandler(this.skill_ValueChanges);
@@ -465,7 +455,7 @@ namespace CodeImp.DoomBuilder.Windows
this.browsetestprogram.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.browsetestprogram.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.browsetestprogram.Image = global::CodeImp.DoomBuilder.Properties.Resources.Folder;
- this.browsetestprogram.Location = new System.Drawing.Point(443, 84);
+ this.browsetestprogram.Location = new System.Drawing.Point(459, 84);
this.browsetestprogram.Name = "browsetestprogram";
this.browsetestprogram.Padding = new System.Windows.Forms.Padding(0, 0, 1, 3);
this.browsetestprogram.Size = new System.Drawing.Size(30, 24);
@@ -492,7 +482,7 @@ namespace CodeImp.DoomBuilder.Windows
this.testresult.Multiline = true;
this.testresult.Name = "testresult";
this.testresult.ReadOnly = true;
- this.testresult.Size = new System.Drawing.Size(387, 79);
+ this.testresult.Size = new System.Drawing.Size(403, 79);
this.testresult.TabIndex = 6;
this.testresult.Visible = false;
//
@@ -513,7 +503,7 @@ namespace CodeImp.DoomBuilder.Windows
this.testparameters.Location = new System.Drawing.Point(87, 166);
this.testparameters.Multiline = true;
this.testparameters.Name = "testparameters";
- this.testparameters.Size = new System.Drawing.Size(386, 41);
+ this.testparameters.Size = new System.Drawing.Size(402, 41);
this.testparameters.TabIndex = 4;
this.testparameters.Visible = false;
this.testparameters.TextChanged += new System.EventHandler(this.testparameters_TextChanged);
@@ -525,7 +515,7 @@ namespace CodeImp.DoomBuilder.Windows
this.testapplication.Location = new System.Drawing.Point(87, 86);
this.testapplication.Name = "testapplication";
this.testapplication.ReadOnly = true;
- this.testapplication.Size = new System.Drawing.Size(354, 20);
+ this.testapplication.Size = new System.Drawing.Size(366, 20);
this.testapplication.TabIndex = 0;
this.testapplication.TextChanged += new System.EventHandler(this.testapplication_TextChanged);
//
@@ -882,7 +872,6 @@ namespace CodeImp.DoomBuilder.Windows
this.tabnodebuilder.PerformLayout();
this.tabtesting.ResumeLayout(false);
this.tabtesting.PerformLayout();
- ((System.ComponentModel.ISupportInitialize)(this.hintbox)).EndInit();
this.tabtextures.ResumeLayout(false);
this.tabmodes.ResumeLayout(false);
this.tabmodes.PerformLayout();
@@ -948,7 +937,6 @@ namespace CodeImp.DoomBuilder.Windows
private System.Windows.Forms.ToolStripMenuItem pastecolorpresets;
private System.Windows.Forms.Label hintlabel;
private System.Windows.Forms.PictureBox hint;
- private System.Windows.Forms.PictureBox hintbox;
private System.Windows.Forms.ToolTip tooltip;
}
}
\ No newline at end of file
diff --git a/Source/Core/Windows/ConfigForm.resx b/Source/Core/Windows/ConfigForm.resx
index d374256f..376237b6 100644
--- a/Source/Core/Windows/ConfigForm.resx
+++ b/Source/Core/Windows/ConfigForm.resx
@@ -174,6 +174,20 @@
Here you can select the editing modes that you wish to use in this configuration. This is useful in case there are plugins with additional editing modes that can be used as a replacement for the original editing modes.
+
+ 416, 17
+
+
+ %F - WAD file with the map that is to be tested. NOTE: this is a temporary file and not the file you opened or saved.
+%WP - IWAD resource file with full path included. This is the first (highest) IWAD file that is found in the resources list.
+%WF - IWAD resource filename only, without path. This is the first (highest) IWAD file that is found in the resources list.
+%L - Map lump name as is set in the map options window.
+%L1 - The first number found in the map lump name (as is set in the map options window).
+%L2 - The second number found in the map lump name (as is set in the map options window).
+%AP - All resource files, except the first IWAD, with full paths included.
+%S - Skill number at which to test.
+%NM - Either -nomonsters when testing without monsters, or nothing at all.
+
True
@@ -192,20 +206,6 @@
True
-
- 416, 17
-
-
- %F - WAD file with the map that is to be tested. NOTE: this is a temporary file and not the file you opened or saved.
-%WP - IWAD resource file with full path included. This is the first (highest) IWAD file that is found in the resources list.
-%WF - IWAD resource filename only, without path. This is the first (highest) IWAD file that is found in the resources list.
-%L - Map lump name as is set in the map options window.
-%L1 - The first number found in the map lump name (as is set in the map options window).
-%L2 - The second number found in the map lump name (as is set in the map options window).
-%AP - All resource files, except the first IWAD, with full paths included.
-%S - Skill number at which to test.
-%NM - Either -nomonsters when testing without monsters, or nothing at all.
-
True
@@ -220,7 +220,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAA4
- CAAAAk1TRnQBSQFMAwEBAAFkAQEBZAEBARMBAAEQAQAE/wEJAQAI/wFCAU0BNgEEBgABNgEEAgABKAMA
+ CAAAAk1TRnQBSQFMAwEBAAFsAQEBbAEBARMBAAEQAQAE/wEJAQAI/wFCAU0BNgEEBgABNgEEAgABKAMA
AUwDAAEQAwABAQEAAQgFAAHAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
diff --git a/Source/Core/Windows/SectorEditForm.Designer.cs b/Source/Core/Windows/SectorEditForm.Designer.cs
index 0136a250..c87aaa7a 100644
--- a/Source/Core/Windows/SectorEditForm.Designer.cs
+++ b/Source/Core/Windows/SectorEditForm.Designer.cs
@@ -28,12 +28,14 @@ namespace CodeImp.DoomBuilder.Windows
///
private void InitializeComponent()
{
+ this.components = new System.ComponentModel.Container();
System.Windows.Forms.Label label1;
System.Windows.Forms.Label label3;
System.Windows.Forms.GroupBox groupeffect;
System.Windows.Forms.Label label8;
System.Windows.Forms.Label label9;
System.Windows.Forms.GroupBox groupfloorceiling;
+ System.Windows.Forms.Label label7;
System.Windows.Forms.Label label6;
System.Windows.Forms.Label label5;
System.Windows.Forms.Label label2;
@@ -41,6 +43,7 @@ namespace CodeImp.DoomBuilder.Windows
this.browseeffect = new System.Windows.Forms.Button();
this.effect = new CodeImp.DoomBuilder.Controls.ActionSelectorControl();
this.tagSelector = new CodeImp.DoomBuilder.GZBuilder.Controls.TagSelector();
+ this.heightoffset = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
this.brightness = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
this.ceilingheight = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
this.sectorheightlabel = new System.Windows.Forms.Label();
@@ -53,12 +56,14 @@ namespace CodeImp.DoomBuilder.Windows
this.flatSelectorControl2 = new CodeImp.DoomBuilder.Controls.FlatSelectorControl();
this.flatSelectorControl1 = new CodeImp.DoomBuilder.Controls.FlatSelectorControl();
this.panel1 = new System.Windows.Forms.Panel();
+ this.tooltip = new System.Windows.Forms.ToolTip(this.components);
label1 = new System.Windows.Forms.Label();
label3 = new System.Windows.Forms.Label();
groupeffect = new System.Windows.Forms.GroupBox();
label8 = new System.Windows.Forms.Label();
label9 = new System.Windows.Forms.Label();
groupfloorceiling = new System.Windows.Forms.GroupBox();
+ label7 = new System.Windows.Forms.Label();
label6 = new System.Windows.Forms.Label();
label5 = new System.Windows.Forms.Label();
label2 = new System.Windows.Forms.Label();
@@ -93,7 +98,7 @@ namespace CodeImp.DoomBuilder.Windows
groupeffect.Controls.Add(this.effect);
groupeffect.Controls.Add(label8);
groupeffect.Controls.Add(this.tagSelector);
- groupeffect.Location = new System.Drawing.Point(3, 165);
+ groupeffect.Location = new System.Drawing.Point(3, 195);
groupeffect.Name = "groupeffect";
groupeffect.Size = new System.Drawing.Size(436, 92);
groupeffect.TabIndex = 1;
@@ -119,6 +124,7 @@ namespace CodeImp.DoomBuilder.Windows
this.effect.Cursor = System.Windows.Forms.Cursors.Default;
this.effect.Empty = false;
this.effect.GeneralizedCategories = null;
+ this.effect.GeneralizedOptions = null;
this.effect.Location = new System.Drawing.Point(61, 28);
this.effect.Name = "effect";
this.effect.Size = new System.Drawing.Size(335, 21);
@@ -143,16 +149,18 @@ namespace CodeImp.DoomBuilder.Windows
//
// label9
//
- label9.AutoSize = true;
- label9.Location = new System.Drawing.Point(31, 129);
+ label9.Location = new System.Drawing.Point(16, 159);
label9.Name = "label9";
- label9.Size = new System.Drawing.Size(62, 14);
+ label9.Size = new System.Drawing.Size(78, 14);
label9.TabIndex = 2;
label9.Text = "Brightness:";
+ label9.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// groupfloorceiling
//
groupfloorceiling.BackColor = System.Drawing.Color.Transparent;
+ groupfloorceiling.Controls.Add(label7);
+ groupfloorceiling.Controls.Add(this.heightoffset);
groupfloorceiling.Controls.Add(this.brightness);
groupfloorceiling.Controls.Add(this.ceilingheight);
groupfloorceiling.Controls.Add(label6);
@@ -167,11 +175,37 @@ namespace CodeImp.DoomBuilder.Windows
groupfloorceiling.Controls.Add(this.ceilingtex);
groupfloorceiling.Location = new System.Drawing.Point(3, 3);
groupfloorceiling.Name = "groupfloorceiling";
- groupfloorceiling.Size = new System.Drawing.Size(436, 156);
+ groupfloorceiling.Size = new System.Drawing.Size(436, 186);
groupfloorceiling.TabIndex = 0;
groupfloorceiling.TabStop = false;
groupfloorceiling.Text = "Floor and Ceiling ";
//
+ // label7
+ //
+ label7.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ label7.ForeColor = System.Drawing.SystemColors.HotTrack;
+ label7.Location = new System.Drawing.Point(16, 100);
+ label7.Name = "label7";
+ label7.Size = new System.Drawing.Size(78, 14);
+ label7.TabIndex = 25;
+ label7.Text = "Height offset:";
+ label7.TextAlign = System.Drawing.ContentAlignment.TopRight;
+ this.tooltip.SetToolTip(label7, "Changes floor and ceiling\r\nheight by given value");
+ //
+ // heightoffset
+ //
+ this.heightoffset.AllowDecimal = false;
+ this.heightoffset.AllowNegative = true;
+ this.heightoffset.AllowRelative = false;
+ this.heightoffset.ButtonStep = 8;
+ this.heightoffset.ButtonStepFloat = 1F;
+ this.heightoffset.Location = new System.Drawing.Point(99, 95);
+ this.heightoffset.Name = "heightoffset";
+ this.heightoffset.Size = new System.Drawing.Size(88, 24);
+ this.heightoffset.StepValues = null;
+ this.heightoffset.TabIndex = 26;
+ this.heightoffset.WhenTextChanged += new System.EventHandler(this.heightoffset_WhenTextChanged);
+ //
// brightness
//
this.brightness.AllowDecimal = false;
@@ -179,7 +213,7 @@ namespace CodeImp.DoomBuilder.Windows
this.brightness.AllowRelative = true;
this.brightness.ButtonStep = 8;
this.brightness.ButtonStepFloat = 1F;
- this.brightness.Location = new System.Drawing.Point(99, 124);
+ this.brightness.Location = new System.Drawing.Point(99, 154);
this.brightness.Name = "brightness";
this.brightness.Size = new System.Drawing.Size(73, 24);
this.brightness.StepValues = null;
@@ -202,21 +236,27 @@ namespace CodeImp.DoomBuilder.Windows
//
// label6
//
- label6.AutoSize = true;
- label6.Location = new System.Drawing.Point(20, 40);
+ label6.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ label6.ForeColor = System.Drawing.SystemColors.HotTrack;
+ label6.Location = new System.Drawing.Point(16, 40);
label6.Name = "label6";
- label6.Size = new System.Drawing.Size(73, 14);
+ label6.Size = new System.Drawing.Size(78, 14);
label6.TabIndex = 19;
label6.Text = "Ceiling height:";
+ label6.TextAlign = System.Drawing.ContentAlignment.TopRight;
+ this.tooltip.SetToolTip(label6, "Use ++ or -- prefixes to change\r\nheight by given value");
//
// label5
//
- label5.AutoSize = true;
- label5.Location = new System.Drawing.Point(27, 70);
+ label5.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ label5.ForeColor = System.Drawing.SystemColors.HotTrack;
+ label5.Location = new System.Drawing.Point(16, 70);
label5.Name = "label5";
- label5.Size = new System.Drawing.Size(66, 14);
+ label5.Size = new System.Drawing.Size(78, 14);
label5.TabIndex = 17;
label5.Text = "Floor height:";
+ label5.TextAlign = System.Drawing.ContentAlignment.TopRight;
+ this.tooltip.SetToolTip(label5, "Use ++ or -- prefixes to change\r\nheight by given value");
//
// label2
//
@@ -229,12 +269,12 @@ namespace CodeImp.DoomBuilder.Windows
//
// sectorheightlabel
//
- this.sectorheightlabel.AutoSize = true;
- this.sectorheightlabel.Location = new System.Drawing.Point(19, 100);
+ this.sectorheightlabel.Location = new System.Drawing.Point(16, 130);
this.sectorheightlabel.Name = "sectorheightlabel";
- this.sectorheightlabel.Size = new System.Drawing.Size(74, 14);
+ this.sectorheightlabel.Size = new System.Drawing.Size(78, 14);
this.sectorheightlabel.TabIndex = 20;
this.sectorheightlabel.Text = "Sector height:";
+ this.sectorheightlabel.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// label4
//
@@ -248,7 +288,7 @@ namespace CodeImp.DoomBuilder.Windows
// sectorheight
//
this.sectorheight.AutoSize = true;
- this.sectorheight.Location = new System.Drawing.Point(100, 100);
+ this.sectorheight.Location = new System.Drawing.Point(100, 130);
this.sectorheight.Name = "sectorheight";
this.sectorheight.Size = new System.Drawing.Size(13, 14);
this.sectorheight.TabIndex = 21;
@@ -292,7 +332,7 @@ namespace CodeImp.DoomBuilder.Windows
//
this.cancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.cancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
- this.cancel.Location = new System.Drawing.Point(226, 278);
+ this.cancel.Location = new System.Drawing.Point(226, 305);
this.cancel.Name = "cancel";
this.cancel.Size = new System.Drawing.Size(112, 25);
this.cancel.TabIndex = 2;
@@ -303,7 +343,7 @@ namespace CodeImp.DoomBuilder.Windows
// apply
//
this.apply.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
- this.apply.Location = new System.Drawing.Point(344, 278);
+ this.apply.Location = new System.Drawing.Point(344, 305);
this.apply.Name = "apply";
this.apply.Size = new System.Drawing.Size(112, 25);
this.apply.TabIndex = 1;
@@ -336,16 +376,26 @@ namespace CodeImp.DoomBuilder.Windows
this.panel1.Controls.Add(groupeffect);
this.panel1.Location = new System.Drawing.Point(12, 10);
this.panel1.Name = "panel1";
- this.panel1.Size = new System.Drawing.Size(443, 260);
+ this.panel1.Size = new System.Drawing.Size(443, 290);
this.panel1.TabIndex = 3;
//
+ // tooltip
+ //
+ this.tooltip.AutomaticDelay = 10;
+ this.tooltip.AutoPopDelay = 4000;
+ this.tooltip.InitialDelay = 10;
+ this.tooltip.IsBalloon = true;
+ this.tooltip.ReshowDelay = 100;
+ this.tooltip.UseAnimation = false;
+ this.tooltip.UseFading = false;
+ //
// SectorEditForm
//
this.AcceptButton = this.apply;
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
this.CancelButton = this.cancel;
- this.ClientSize = new System.Drawing.Size(468, 310);
+ this.ClientSize = new System.Drawing.Size(468, 337);
this.Controls.Add(this.panel1);
this.Controls.Add(this.cancel);
this.Controls.Add(this.apply);
@@ -387,5 +437,7 @@ namespace CodeImp.DoomBuilder.Windows
private CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox brightness;
private CodeImp.DoomBuilder.GZBuilder.Controls.TagSelector tagSelector;
private System.Windows.Forms.Panel panel1;
+ private CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox heightoffset;
+ private System.Windows.Forms.ToolTip tooltip;
}
}
\ No newline at end of file
diff --git a/Source/Core/Windows/SectorEditForm.cs b/Source/Core/Windows/SectorEditForm.cs
index 7c5d5a49..e29935b9 100644
--- a/Source/Core/Windows/SectorEditForm.cs
+++ b/Source/Core/Windows/SectorEditForm.cs
@@ -97,9 +97,7 @@ namespace CodeImp.DoomBuilder.Windows
public void Setup(ICollection sectors)
{
blockUpdate = true; //mxd
-
- Sector sc;
-
+
// Keep this list
this.sectors = sectors;
if(sectors.Count > 1) this.Text = "Edit Sectors (" + sectors.Count + ")";
@@ -110,12 +108,15 @@ namespace CodeImp.DoomBuilder.Windows
if(sectors.Count > 1) undodesc = sectors.Count + " sectors";
General.Map.UndoRedo.CreateUndo("Edit " + undodesc);
+ //mxd. Set default height offset
+ heightoffset.Text = "0";
+
////////////////////////////////////////////////////////////////////////
// Set all options to the first sector properties
////////////////////////////////////////////////////////////////////////
// Get first sector
- sc = General.GetByIndex(sectors, 0);
+ Sector sc = General.GetByIndex(sectors, 0);
// Effects
effect.Value = sc.Effect;
@@ -203,6 +204,44 @@ namespace CodeImp.DoomBuilder.Windows
}
}
+ //mxd
+ private void UpdateCeilingHeight()
+ {
+ int i = 0;
+ int offset = heightoffset.GetResult(0);
+
+ //restore values
+ if(string.IsNullOrEmpty(ceilingheight.Text)) {
+ foreach(Sector s in sectors)
+ s.CeilHeight = sectorProps[i++].CeilHeight + offset;
+
+ }
+ else //update values
+ {
+ foreach(Sector s in sectors)
+ s.CeilHeight = ceilingheight.GetResult(sectorProps[i++].CeilHeight) + offset;
+ }
+ }
+
+ //mxd
+ private void UpdateFloorHeight()
+ {
+ int i = 0;
+ int offset = heightoffset.GetResult(0);
+
+ //restore values
+ if(string.IsNullOrEmpty(floorheight.Text)) {
+ foreach(Sector s in sectors)
+ s.FloorHeight = sectorProps[i++].FloorHeight + offset;
+
+ }
+ else //update values
+ {
+ foreach(Sector s in sectors)
+ s.FloorHeight = floorheight.GetResult(sectorProps[i++].FloorHeight) + offset;
+ }
+ }
+
#endregion
#region ================== Events
@@ -278,18 +317,8 @@ namespace CodeImp.DoomBuilder.Windows
private void ceilingheight_TextChanged(object sender, EventArgs e)
{
if(blockUpdate) return;
- int i = 0;
-
- //restore values
- if(string.IsNullOrEmpty(ceilingheight.Text)) {
- foreach(Sector s in sectors)
- s.CeilHeight = sectorProps[i++].CeilHeight;
- //update values
- } else {
- foreach(Sector s in sectors)
- s.CeilHeight = ceilingheight.GetResult(sectorProps[i++].CeilHeight);
- }
+ UpdateCeilingHeight();
UpdateSectorHeight();
General.Map.IsChanged = true;
@@ -300,18 +329,21 @@ namespace CodeImp.DoomBuilder.Windows
private void floorheight_TextChanged(object sender, EventArgs e)
{
if(blockUpdate) return;
- int i = 0;
- //restore values
- if(string.IsNullOrEmpty(floorheight.Text)) {
- foreach(Sector s in sectors)
- s.FloorHeight = sectorProps[i++].FloorHeight;
- //update values
- } else {
- foreach(Sector s in sectors)
- s.FloorHeight = floorheight.GetResult(sectorProps[i++].FloorHeight);
- }
+ UpdateFloorHeight();
+ UpdateSectorHeight();
+ General.Map.IsChanged = true;
+ if(OnValuesChanged != null) OnValuesChanged(this, EventArgs.Empty);
+ }
+
+ // Height offset changes
+ private void heightoffset_WhenTextChanged(object sender, EventArgs e)
+ {
+ if(blockUpdate) return;
+
+ UpdateFloorHeight();
+ UpdateCeilingHeight();
UpdateSectorHeight();
General.Map.IsChanged = true;
diff --git a/Source/Core/Windows/SectorEditForm.resx b/Source/Core/Windows/SectorEditForm.resx
index 1b6e894c..c55e153e 100644
--- a/Source/Core/Windows/SectorEditForm.resx
+++ b/Source/Core/Windows/SectorEditForm.resx
@@ -135,12 +135,21 @@
False
+
+ False
+
False
False
+
+ False
+
+
+ 17, 17
+
False
diff --git a/Source/Core/Windows/SectorEditFormUDMF.Designer.cs b/Source/Core/Windows/SectorEditFormUDMF.Designer.cs
index f0c64071..54b4b66c 100644
--- a/Source/Core/Windows/SectorEditFormUDMF.Designer.cs
+++ b/Source/Core/Windows/SectorEditFormUDMF.Designer.cs
@@ -25,6 +25,7 @@
/// the contents of this method with the code editor.
///
private void InitializeComponent() {
+ this.components = new System.ComponentModel.Container();
System.Windows.Forms.GroupBox groupaction;
System.Windows.Forms.GroupBox groupeffect;
System.Windows.Forms.Label label14;
@@ -33,6 +34,7 @@
System.Windows.Forms.Label label2;
System.Windows.Forms.Label label8;
System.Windows.Forms.GroupBox groupfloorceiling;
+ System.Windows.Forms.Label label15;
System.Windows.Forms.Label label6;
System.Windows.Forms.Label label5;
this.tagSelector = new CodeImp.DoomBuilder.GZBuilder.Controls.TagSelector();
@@ -44,6 +46,7 @@
this.gravity = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
this.browseeffect = new System.Windows.Forms.Button();
this.effect = new CodeImp.DoomBuilder.Controls.ActionSelectorControl();
+ this.heightoffset = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
this.ceilingheight = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
this.sectorheightlabel = new System.Windows.Forms.Label();
this.sectorheight = new System.Windows.Forms.Label();
@@ -92,6 +95,7 @@
this.fieldslist = new CodeImp.DoomBuilder.Controls.FieldsEditorControl();
this.cancel = new System.Windows.Forms.Button();
this.apply = new System.Windows.Forms.Button();
+ this.tooltip = new System.Windows.Forms.ToolTip(this.components);
groupaction = new System.Windows.Forms.GroupBox();
groupeffect = new System.Windows.Forms.GroupBox();
label14 = new System.Windows.Forms.Label();
@@ -100,6 +104,7 @@
label2 = new System.Windows.Forms.Label();
label8 = new System.Windows.Forms.Label();
groupfloorceiling = new System.Windows.Forms.GroupBox();
+ label15 = new System.Windows.Forms.Label();
label6 = new System.Windows.Forms.Label();
label5 = new System.Windows.Forms.Label();
groupaction.SuspendLayout();
@@ -284,6 +289,7 @@
this.effect.Cursor = System.Windows.Forms.Cursors.Default;
this.effect.Empty = false;
this.effect.GeneralizedCategories = null;
+ this.effect.GeneralizedOptions = null;
this.effect.Location = new System.Drawing.Point(68, 28);
this.effect.Name = "effect";
this.effect.Size = new System.Drawing.Size(328, 21);
@@ -303,6 +309,8 @@
//
groupfloorceiling.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
+ groupfloorceiling.Controls.Add(label15);
+ groupfloorceiling.Controls.Add(this.heightoffset);
groupfloorceiling.Controls.Add(this.ceilingheight);
groupfloorceiling.Controls.Add(label6);
groupfloorceiling.Controls.Add(label5);
@@ -316,6 +324,32 @@
groupfloorceiling.TabStop = false;
groupfloorceiling.Text = " Heights: ";
//
+ // label15
+ //
+ label15.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ label15.ForeColor = System.Drawing.SystemColors.HotTrack;
+ label15.Location = new System.Drawing.Point(9, 84);
+ label15.Name = "label15";
+ label15.Size = new System.Drawing.Size(74, 14);
+ label15.TabIndex = 27;
+ label15.Text = "Height offset:";
+ label15.TextAlign = System.Drawing.ContentAlignment.TopRight;
+ this.tooltip.SetToolTip(label15, "Changes floor and ceiling\r\nheight by given value");
+ //
+ // heightoffset
+ //
+ this.heightoffset.AllowDecimal = false;
+ this.heightoffset.AllowNegative = true;
+ this.heightoffset.AllowRelative = false;
+ this.heightoffset.ButtonStep = 8;
+ this.heightoffset.ButtonStepFloat = 1F;
+ this.heightoffset.Location = new System.Drawing.Point(89, 79);
+ this.heightoffset.Name = "heightoffset";
+ this.heightoffset.Size = new System.Drawing.Size(88, 24);
+ this.heightoffset.StepValues = null;
+ this.heightoffset.TabIndex = 28;
+ this.heightoffset.WhenTextChanged += new System.EventHandler(this.heightoffset_WhenTextChanged);
+ //
// ceilingheight
//
this.ceilingheight.AllowDecimal = false;
@@ -332,25 +366,31 @@
//
// label6
//
+ label6.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ label6.ForeColor = System.Drawing.SystemColors.HotTrack;
label6.Location = new System.Drawing.Point(9, 24);
label6.Name = "label6";
label6.Size = new System.Drawing.Size(74, 14);
label6.TabIndex = 19;
label6.Text = "Ceiling height:";
label6.TextAlign = System.Drawing.ContentAlignment.TopRight;
+ this.tooltip.SetToolTip(label6, "Use ++ or -- prefixes to change\r\nheight by given value");
//
// label5
//
+ label5.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ label5.ForeColor = System.Drawing.SystemColors.HotTrack;
label5.Location = new System.Drawing.Point(9, 54);
label5.Name = "label5";
label5.Size = new System.Drawing.Size(74, 14);
label5.TabIndex = 17;
label5.Text = "Floor height:";
label5.TextAlign = System.Drawing.ContentAlignment.TopRight;
+ this.tooltip.SetToolTip(label5, "Use ++ or -- prefixes to change\r\nheight by given value");
//
// sectorheightlabel
//
- this.sectorheightlabel.Location = new System.Drawing.Point(9, 83);
+ this.sectorheightlabel.Location = new System.Drawing.Point(9, 114);
this.sectorheightlabel.Name = "sectorheightlabel";
this.sectorheightlabel.Size = new System.Drawing.Size(74, 14);
this.sectorheightlabel.TabIndex = 20;
@@ -360,7 +400,7 @@
// sectorheight
//
this.sectorheight.AutoSize = true;
- this.sectorheight.Location = new System.Drawing.Point(90, 83);
+ this.sectorheight.Location = new System.Drawing.Point(90, 114);
this.sectorheight.Name = "sectorheight";
this.sectorheight.Size = new System.Drawing.Size(13, 14);
this.sectorheight.TabIndex = 21;
@@ -484,7 +524,7 @@
//
// floorAngleControl
//
- this.floorAngleControl.Angle = 90;
+ this.floorAngleControl.Angle = -270;
this.floorAngleControl.AngleOffset = 90;
this.floorAngleControl.Location = new System.Drawing.Point(186, 132);
this.floorAngleControl.Name = "floorAngleControl";
@@ -681,7 +721,7 @@
//
// ceilAngleControl
//
- this.ceilAngleControl.Angle = 90;
+ this.ceilAngleControl.Angle = -270;
this.ceilAngleControl.AngleOffset = 90;
this.ceilAngleControl.Location = new System.Drawing.Point(186, 132);
this.ceilAngleControl.Name = "ceilAngleControl";
@@ -954,6 +994,16 @@
this.apply.UseVisualStyleBackColor = true;
this.apply.Click += new System.EventHandler(this.apply_Click);
//
+ // tooltip
+ //
+ this.tooltip.AutomaticDelay = 10;
+ this.tooltip.AutoPopDelay = 4000;
+ this.tooltip.InitialDelay = 10;
+ this.tooltip.IsBalloon = true;
+ this.tooltip.ReshowDelay = 100;
+ this.tooltip.UseAnimation = false;
+ this.tooltip.UseFading = false;
+ //
// SectorEditFormUDMF
//
this.AcceptButton = this.apply;
@@ -1056,5 +1106,7 @@
private System.Windows.Forms.GroupBox groupBox4;
private CodeImp.DoomBuilder.Controls.SectorSlopeControl floorslopecontrol;
private CodeImp.DoomBuilder.Controls.SectorSlopeControl ceilingslopecontrol;
+ private CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox heightoffset;
+ private System.Windows.Forms.ToolTip tooltip;
}
}
\ No newline at end of file
diff --git a/Source/Core/Windows/SectorEditFormUDMF.cs b/Source/Core/Windows/SectorEditFormUDMF.cs
index 412cacd5..c89026d3 100644
--- a/Source/Core/Windows/SectorEditFormUDMF.cs
+++ b/Source/Core/Windows/SectorEditFormUDMF.cs
@@ -219,6 +219,9 @@ namespace CodeImp.DoomBuilder.Windows
if(sectors.Count > 1) undodesc = sectors.Count + " sectors";
General.Map.UndoRedo.CreateUndo("Edit " + undodesc);
+ //mxd. Set default height offset
+ heightoffset.Text = "0";
+
////////////////////////////////////////////////////////////////////////
// Set all options to the first sector properties
////////////////////////////////////////////////////////////////////////
@@ -475,6 +478,44 @@ namespace CodeImp.DoomBuilder.Windows
}
}
+ //mxd
+ private void UpdateCeilingHeight()
+ {
+ int offset = heightoffset.GetResult(0);
+
+ //restore values
+ if(string.IsNullOrEmpty(ceilingheight.Text))
+ {
+ foreach(Sector s in sectors)
+ s.CeilHeight = sectorprops[s].CeilHeight + offset;
+
+ }
+ else //update values
+ {
+ foreach(Sector s in sectors)
+ s.CeilHeight = ceilingheight.GetResult(sectorprops[s].CeilHeight) + offset;
+ }
+ }
+
+ //mxd
+ private void UpdateFloorHeight()
+ {
+ int offset = heightoffset.GetResult(0);
+
+ //restore values
+ if(string.IsNullOrEmpty(floorheight.Text))
+ {
+ foreach(Sector s in sectors)
+ s.FloorHeight = sectorprops[s].FloorHeight + offset;
+
+ }
+ else //update values
+ {
+ foreach(Sector s in sectors)
+ s.FloorHeight = floorheight.GetResult(sectorprops[s].FloorHeight) + offset;
+ }
+ }
+
#endregion
#region ================== Events
@@ -616,44 +657,40 @@ namespace CodeImp.DoomBuilder.Windows
#region ================== Sector Realtime events (mxd)
- private void ceilingheight_WhenTextChanged(object sender, EventArgs e) {
+ private void ceilingheight_WhenTextChanged(object sender, EventArgs e)
+ {
if(blockupdate) return;
- //restore values
- if(string.IsNullOrEmpty(ceilingheight.Text)) {
- foreach(Sector s in sectors)
- s.CeilHeight = sectorprops[s].CeilHeight;
- //update values
- } else {
- foreach(Sector s in sectors)
- s.CeilHeight = ceilingheight.GetResult(sectorprops[s].CeilHeight);
- }
-
+ UpdateCeilingHeight();
UpdateSectorHeight();
General.Map.IsChanged = true;
if(OnValuesChanged != null) OnValuesChanged(this, EventArgs.Empty);
}
- private void floorheight_WhenTextChanged(object sender, EventArgs e) {
+ private void floorheight_WhenTextChanged(object sender, EventArgs e)
+ {
if(blockupdate) return;
- //restore values
- if(string.IsNullOrEmpty(floorheight.Text)) {
- foreach(Sector s in sectors)
- s.FloorHeight = sectorprops[s].FloorHeight;
- //update values
- } else {
- foreach(Sector s in sectors)
- s.FloorHeight = floorheight.GetResult(sectorprops[s].FloorHeight);
- }
-
+ UpdateFloorHeight();
UpdateSectorHeight();
General.Map.IsChanged = true;
if(OnValuesChanged != null) OnValuesChanged(this, EventArgs.Empty);
}
+ private void heightoffset_WhenTextChanged(object sender, EventArgs e)
+ {
+ if(blockupdate) return;
+
+ UpdateFloorHeight();
+ UpdateCeilingHeight();
+ UpdateSectorHeight();
+
+ General.Map.IsChanged = true;
+ if(OnValuesChanged != null) OnValuesChanged(this, EventArgs.Empty);
+ }
+
private void brightness_WhenTextChanged(object sender, EventArgs e) {
if(blockupdate) return;
diff --git a/Source/Core/Windows/SectorEditFormUDMF.resx b/Source/Core/Windows/SectorEditFormUDMF.resx
index 53aec627..7353e3d8 100644
--- a/Source/Core/Windows/SectorEditFormUDMF.resx
+++ b/Source/Core/Windows/SectorEditFormUDMF.resx
@@ -138,9 +138,30 @@
False
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
False
+
+ False
+
+
+ 17, 17
+
False
@@ -156,4 +177,7 @@
True
+
+ True
+
\ No newline at end of file