From c4130499fc143c25c80f6ea2c08e6db3017fae2e Mon Sep 17 00:00:00 2001 From: MaxED Date: Fri, 29 Nov 2013 12:24:47 +0000 Subject: [PATCH] Edit forms: current selection is no longer cleared when the edit is canceled. Updated documentation. --- Help/gzdb/actions.html | 6 -- Help/gzdb/faq.html | 4 +- .../features/all_modes/texture_browser.html | 2 +- .../features/classic_modes/draw_settings.jpg | Bin 0 -> 33161 bytes .../classic_modes/setdefaulttextures.jpg | Bin 24509 -> 0 bytes Help/gzdb/features/features.html | 5 +- Help/gzdb/gldefs.html | 2 +- Source/Core/General/ErrorLogger.cs | 1 + Source/Core/Windows/MainForm.Designer.cs | 4 +- Source/Core/Windows/MainForm.cs | 57 ++++++------------ Source/Core/Windows/MainForm.resx | 24 -------- .../BuilderModes/ClassicModes/LinedefsMode.cs | 8 ++- .../BuilderModes/ClassicModes/SectorsMode.cs | 9 +-- .../BuilderModes/ClassicModes/ThingsMode.cs | 8 ++- .../BuilderModes/ClassicModes/VerticesMode.cs | 8 ++- .../Interface/PreferencesForm.Designer.cs | 2 +- 16 files changed, 52 insertions(+), 88 deletions(-) create mode 100644 Help/gzdb/features/classic_modes/draw_settings.jpg delete mode 100644 Help/gzdb/features/classic_modes/setdefaulttextures.jpg diff --git a/Help/gzdb/actions.html b/Help/gzdb/actions.html index 25287a00..8438865e 100644 --- a/Help/gzdb/actions.html +++ b/Help/gzdb/actions.html @@ -931,12 +931,6 @@ Repeats the action(s) performed before Undo was used. -Set Default Textures -
-
-Opens the window, which lets user to change textures, which will be used in drawing operations. - - Snap Selected Map Elements to Grid
diff --git a/Help/gzdb/faq.html b/Help/gzdb/faq.html index 957a4720..86c30a5d 100644 --- a/Help/gzdb/faq.html +++ b/Help/gzdb/faq.html @@ -23,8 +23,8 @@

Q: I'm getting a ton of "Unable to find the DECORATE class '[some actor]' to inherit from, while parsing '[some other actor]:[DoomEdNum]'" warnings. What's wrong?
A: This happens when a DECORATE actor is inherited from another actor, which is not defined in game configuration and is not defined in any included resources. To fix this, add "(g)zdoom.pk3" as a map resource. Don't forget to check "Exclude from testing parameters" chekbox while adding it, otherwise (G)ZDoom won't load your map. "(g)zdoom.pk3" can be found in (G)ZDoom folder.

-

Q: I'm getting a ton of "Light declaration not found for light '[light name]' ('[source]', line [n])" warnings. What's wrong?
- A: GZDoom Builder doesn't include GZDoom's GLDEFS lights definitions. To get rid of these errors, add "lights.pk3" as a map resource. Don't forget to check "Exclude from testing parameters" chekbox while adding it, otherwise GZDoom won't load your map. "lights.pk3" can be found in GZDoom folder.

+

Q: Dynamic lights defined in GLDEFS are not rendered in Visual mode / I'm getting a ton of "Light declaration not found for light '[light name]' ('[source]', line [n])" warnings. What's wrong?
+ A: GZDoom Builder doesn't include GZDoom's GLDEFS lights definitions. To get rid of these errors, add "lights.pk3" as a map resource. Don't forget to check "Exclude from testing parameters" chekbox while adding it, otherwise GZDoom won't load your map. "lights.pk3" can be found in GZDoom folder.

Q: When I create a new map, I see only Doom-related game configurations. Where are configurations for other games?
A: Copy "[EngineName]_[Game][MapType].cfg" and "Includes" folder from "[GZDB]\Configurations\Configs for other games\[Game]" to "[GZDB]\Configurations\".
If you are using Zandronum, you'll also need to copy all files from "[GZDB]\Configurations\Configs for other games\Zandronum Includes\" to the main "Includes" folder ("[GZDB]\Configurations\Includes\") .

diff --git a/Help/gzdb/features/all_modes/texture_browser.html b/Help/gzdb/features/all_modes/texture_browser.html index c21ce28b..05e29e4b 100644 --- a/Help/gzdb/features/all_modes/texture_browser.html +++ b/Help/gzdb/features/all_modes/texture_browser.html @@ -15,7 +15,7 @@
-
The Image browser can display the directory structure of a Folder, PK3 and PK7 resource, allowing you to group and find textures easier.
+
The Image browser displays the directory structure of a Folder, PK3 and PK7 resource, allowing you to group and find textures easier.
You can filter textures by texture size. If the current game configuration supports mixed textures and flats, you can filter textures by image type using this drop down:


diff --git a/Help/gzdb/features/classic_modes/draw_settings.jpg b/Help/gzdb/features/classic_modes/draw_settings.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5519a30398b41e2d4b851a2668e95fac229162dc GIT binary patch literal 33161 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 YGI-)MvS3vf^;gkN&+S_dJifpE7c86Wq5uE@ diff --git a/Help/gzdb/features/features.html b/Help/gzdb/features/features.html index c04149fb..15e93877 100644 --- a/Help/gzdb/features/features.html +++ b/Help/gzdb/features/features.html @@ -103,10 +103,11 @@
  • Bridge mode.
  • Snap map elements mode.
  • [new] You can place things on top of selected vertices in Vertices and Linedefs modes and inside of selected sectors in Sectors mode useing "Place Things" action.
  • -
  • [new] You can set, which textures to use when drawing new geometry using "Set Default Textures" action, available in Edit menu (by default, the editor uses textures from closest sector when drawing a new one). +
  • [new] You can override default sector properties, which are used to create new geometry, using "Draw Settings" panel (by default, when the new sector overlaps or touches existing sector, the editor uses textures, brighntess and floor/ceiling heights from that sector when drawing the new one). -
    +
  • +
  • [new] You can change default sector brightness and floor/ceiling height (Preferences -> Editing -> Default sector settings). These settings are used when the new sector doesn't touch or overlap already existing sectors.
  • [new] 3D floor indication (color can be changed in Preferences -> Appearance -> 3D Floors, the setting can be disabled in Preferences).
    diff --git a/Help/gzdb/gldefs.html b/Help/gzdb/gldefs.html index e133e554..37222c75 100644 --- a/Help/gzdb/gldefs.html +++ b/Help/gzdb/gldefs.html @@ -27,7 +27,7 @@

    MODELDEF support: all relevant MODELDEF properties and flags are supported. Sprite translations are not supported.
    GLDEFS support: only dynamic light definitions are currently supported. Brightmaps and glowing flats support may be added in the future.
    - You can reload GLDEFS and MODELDEF by using "Reload GLDEFS" and "Reload MODELDEF" actions. + You can reload GLDEFS and MODELDEF by using "Reload GLDEFS" and "Reload MODELDEF" actions.
    To enable GZDoom's built-in GLDEFS dynamic light definitions, you need to add "lights.pk3" as a map resource. Don't forget to check "Exclude from testing parameters" chekbox while adding it, otherwise GZDoom won't load your map. "lights.pk3" can be found in GZDoom folder.

    If you are creating maps for Doom or Doom 2, you probably don't need to read this, since required information is already added for those games.

    To load models or dynamic lights defined in GLDEFS for things defined in configuration files:
    diff --git a/Source/Core/General/ErrorLogger.cs b/Source/Core/General/ErrorLogger.cs index 8d8b141d..e2a4516c 100644 --- a/Source/Core/General/ErrorLogger.cs +++ b/Source/Core/General/ErrorLogger.cs @@ -40,6 +40,7 @@ namespace CodeImp.DoomBuilder #region ================== Properties public bool HasErrors { get { return (errors.Count > 0); } } + public int ErrorsCount { get { return errors.Count; } } //mxd public bool HasChanged { get { return changed; } set { changed = value; } } public bool IsErrorAdded { get { return erroradded; } set { erroradded = value; } } public bool IsWarningAdded { get { return warningadded; } set { warningadded = value; } } diff --git a/Source/Core/Windows/MainForm.Designer.cs b/Source/Core/Windows/MainForm.Designer.cs index 658ea751..f5b0bcea 100644 --- a/Source/Core/Windows/MainForm.Designer.cs +++ b/Source/Core/Windows/MainForm.Designer.cs @@ -1854,7 +1854,7 @@ namespace CodeImp.DoomBuilder.Windows this.statuslabel.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; this.statuslabel.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None; this.statuslabel.Name = "statuslabel"; - this.statuslabel.Size = new System.Drawing.Size(340, 18); + this.statuslabel.Size = new System.Drawing.Size(309, 18); this.statuslabel.Spring = true; this.statuslabel.Text = "Initializing user interface..."; this.statuslabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; @@ -2094,6 +2094,7 @@ namespace CodeImp.DoomBuilder.Windows this.xposlabel.Name = "xposlabel"; this.xposlabel.Size = new System.Drawing.Size(50, 18); this.xposlabel.Text = "0"; + this.xposlabel.TextAlign = System.Drawing.ContentAlignment.MiddleRight; this.xposlabel.ToolTipText = "Current X, Y coordinates on map"; // // yposlabel @@ -2102,6 +2103,7 @@ namespace CodeImp.DoomBuilder.Windows this.yposlabel.Name = "yposlabel"; this.yposlabel.Size = new System.Drawing.Size(50, 18); this.yposlabel.Text = "0"; + this.yposlabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; this.yposlabel.ToolTipText = "Current X, Y coordinates on map"; // // warnsLabel diff --git a/Source/Core/Windows/MainForm.cs b/Source/Core/Windows/MainForm.cs index 8593649d..0d008e6a 100644 --- a/Source/Core/Windows/MainForm.cs +++ b/Source/Core/Windows/MainForm.cs @@ -166,7 +166,6 @@ namespace CodeImp.DoomBuilder.Windows private int lockupdatecount; //mxd - private int warningsCount; private System.Timers.Timer blinkTimer; #endregion @@ -244,6 +243,11 @@ namespace CodeImp.DoomBuilder.Windows // Keep last position and size lastposition = this.Location; lastsize = this.Size; + + //mxd + blinkTimer = new System.Timers.Timer(); + blinkTimer.Interval = 500; + blinkTimer.Elapsed += blinkTimer_Elapsed; } #endregion @@ -572,6 +576,7 @@ namespace CodeImp.DoomBuilder.Windows // Stop timers statusflasher.Stop(); statusresetter.Stop(); + blinkTimer.Stop(); //mxd // Stop exclusive mode, if any is active StopExclusiveMouseInput(); @@ -2592,7 +2597,7 @@ namespace CodeImp.DoomBuilder.Windows errform.ShowDialog(this); errform.Dispose(); //mxd - SetWarningsCount(0, false); + SetWarningsCount(General.ErrorLogger.ErrorsCount, false); } // Game Configuration action @@ -3088,41 +3093,27 @@ namespace CodeImp.DoomBuilder.Windows //mxd. Warnings panel internal void SetWarningsCount(int count, bool blink) { - warningsCount = count; - - if(warningsCount > 0) { - if(!warnsLabel.Font.Bold){ - warnsLabel.Font = new Font(warnsLabel.Font, FontStyle.Bold); - warnsLabel.Image = Resources.Warning; - } + if(count > 0) { + if (warnsLabel.Image != Resources.Warning) warnsLabel.Image = Resources.Warning; } else { - warnsLabel.Font = new Font(warnsLabel.Font, FontStyle.Regular); warnsLabel.Image = Resources.WarningOff; warnsLabel.BackColor = SystemColors.Control; } - warnsLabel.Text = warningsCount.ToString(); + warnsLabel.Text = count.ToString(); //start annoying blinking! - if(blink && blinkTimer == null) { - blinkTimer = new System.Timers.Timer(); - blinkTimer.Interval = 500; - blinkTimer.Elapsed += new System.Timers.ElapsedEventHandler(blinkTimer_Elapsed); - blinkTimer.Enabled = true; + if (blink) { + if(!blinkTimer.Enabled) blinkTimer.Start(); + } else { + blinkTimer.Stop(); + warnsLabel.BackColor = SystemColors.Control; } } //mxd. Bliks warnings indicator private void blink() { - if(warnsLabel.BackColor == Color.Red) { - warnsLabel.Font = new Font(warnsLabel.Font, FontStyle.Regular); - warnsLabel.Image = Resources.WarningOff; - warnsLabel.BackColor = SystemColors.Control; - } else { - warnsLabel.Font = new Font(warnsLabel.Font, FontStyle.Bold); - warnsLabel.Image = Resources.Warning; - warnsLabel.BackColor = Color.Red; - } + warnsLabel.BackColor = (warnsLabel.BackColor == Color.Red ? SystemColors.Control : Color.Red); } //mxd @@ -3132,19 +3123,9 @@ namespace CodeImp.DoomBuilder.Windows //mxd private void blinkTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { - if(warningsCount > 0) { - if (!this.Disposing && blinkTimer != null) { - try { - this.Invoke(new CallBlink(blink)); - } catch(ObjectDisposedException) { } //la-la-la. We don't care. - } - } else { - //get rid of timer - blinkTimer.Stop(); - blinkTimer.Elapsed -= blinkTimer_Elapsed; - blinkTimer.Dispose(); - blinkTimer = null; - } + try { + this.Invoke(new CallBlink(blink)); + } catch(ObjectDisposedException) { } //la-la-la. We don't care. } #endregion diff --git a/Source/Core/Windows/MainForm.resx b/Source/Core/Windows/MainForm.resx index 18bfd3ae..ee85b864 100644 --- a/Source/Core/Windows/MainForm.resx +++ b/Source/Core/Windows/MainForm.resx @@ -201,30 +201,6 @@ True - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - 433, 17 diff --git a/Source/Plugins/BuilderModes/ClassicModes/LinedefsMode.cs b/Source/Plugins/BuilderModes/ClassicModes/LinedefsMode.cs index fc962ce5..71388725 100644 --- a/Source/Plugins/BuilderModes/ClassicModes/LinedefsMode.cs +++ b/Source/Plugins/BuilderModes/ClassicModes/LinedefsMode.cs @@ -468,11 +468,15 @@ namespace CodeImp.DoomBuilder.BuilderModes if(General.Interface.IsActiveWindow) { // Show line edit dialog - General.Interface.ShowEditLinedefs(selected); + DialogResult result = General.Interface.ShowEditLinedefs(selected); General.Map.Map.Update(); // When a single line was selected, deselect it now - if(selected.Count == 1) General.Map.Map.ClearSelectedLinedefs(); + if (selected.Count == 1) { + General.Map.Map.ClearSelectedLinedefs(); + } else if(result == DialogResult.Cancel) { //mxd. Restore selection... + foreach (Linedef l in selected) l.Selected = true; + } // Update entire display General.Map.Renderer2D.UpdateExtraFloorFlag(); //mxd diff --git a/Source/Plugins/BuilderModes/ClassicModes/SectorsMode.cs b/Source/Plugins/BuilderModes/ClassicModes/SectorsMode.cs index 30585b0f..2b8c334c 100644 --- a/Source/Plugins/BuilderModes/ClassicModes/SectorsMode.cs +++ b/Source/Plugins/BuilderModes/ClassicModes/SectorsMode.cs @@ -717,18 +717,19 @@ namespace CodeImp.DoomBuilder.BuilderModes { //mxd. Show realtime vertex edit dialog General.Interface.OnEditFormValuesChanged += new EventHandler(sectorEditForm_OnValuesChanged); - General.Interface.ShowEditSectors(selected); + DialogResult result = General.Interface.ShowEditSectors(selected); General.Interface.OnEditFormValuesChanged -= sectorEditForm_OnValuesChanged; General.Map.Renderer2D.UpdateExtraFloorFlag(); //mxd // When a single sector was selected, deselect it now - if(selected.Count == 1) - { + if (selected.Count == 1) { General.Map.Map.ClearSelectedSectors(); General.Map.Map.ClearSelectedLinedefs(); - General.Interface.RedrawDisplay(); + } else if(result == DialogResult.Cancel) { //mxd. Restore selection... + foreach (Sector s in selected) SelectSector(s, true, true); } + General.Interface.RedrawDisplay(); } } diff --git a/Source/Plugins/BuilderModes/ClassicModes/ThingsMode.cs b/Source/Plugins/BuilderModes/ClassicModes/ThingsMode.cs index dad96b67..7dc90f95 100644 --- a/Source/Plugins/BuilderModes/ClassicModes/ThingsMode.cs +++ b/Source/Plugins/BuilderModes/ClassicModes/ThingsMode.cs @@ -411,14 +411,16 @@ namespace CodeImp.DoomBuilder.BuilderModes { //mxd. Show realtime thing edit dialog General.Interface.OnEditFormValuesChanged += new EventHandler(thingEditForm_OnValuesChanged); - General.Interface.ShowEditThings(selected); + DialogResult result = General.Interface.ShowEditThings(selected); General.Interface.OnEditFormValuesChanged -= thingEditForm_OnValuesChanged; // When a single thing was selected, deselect it now - if(selected.Count == 1) { + if (selected.Count == 1) { General.Map.Map.ClearSelectedThings(); - General.Interface.RedrawDisplay(); + } else if(result == DialogResult.Cancel) { //mxd. Restore selection... + foreach (Thing t in selected) t.Selected = true; } + General.Interface.RedrawDisplay(); } } } diff --git a/Source/Plugins/BuilderModes/ClassicModes/VerticesMode.cs b/Source/Plugins/BuilderModes/ClassicModes/VerticesMode.cs index 2aa64834..a07ec538 100644 --- a/Source/Plugins/BuilderModes/ClassicModes/VerticesMode.cs +++ b/Source/Plugins/BuilderModes/ClassicModes/VerticesMode.cs @@ -406,14 +406,16 @@ namespace CodeImp.DoomBuilder.BuilderModes { //mxd. Show realtime vertex edit dialog General.Interface.OnEditFormValuesChanged += new EventHandler(vertexEditForm_OnValuesChanged); - General.Interface.ShowEditVertices(selected); + DialogResult result = General.Interface.ShowEditVertices(selected); General.Interface.OnEditFormValuesChanged -= vertexEditForm_OnValuesChanged; // When a single vertex was selected, deselect it now - if(selected.Count == 1) { + if (selected.Count == 1) { General.Map.Map.ClearSelectedVertices(); - General.Interface.RedrawDisplay(); + } else if(result == DialogResult.Cancel) { //mxd. Restore selection... + foreach (Vertex v in selected) v.Selected = true; } + General.Interface.RedrawDisplay(); } } diff --git a/Source/Plugins/BuilderModes/Interface/PreferencesForm.Designer.cs b/Source/Plugins/BuilderModes/Interface/PreferencesForm.Designer.cs index a6e229f1..95e2b634 100644 --- a/Source/Plugins/BuilderModes/Interface/PreferencesForm.Designer.cs +++ b/Source/Plugins/BuilderModes/Interface/PreferencesForm.Designer.cs @@ -119,7 +119,7 @@ namespace CodeImp.DoomBuilder.BuilderModes this.groupBox4.Size = new System.Drawing.Size(272, 130); this.groupBox4.TabIndex = 19; this.groupBox4.TabStop = false; - this.groupBox4.Text = " Default sector values"; + this.groupBox4.Text = " Default sector settings"; // // label15 //