From e0b7af81a4f71f1e0515d45043d5b95fc7875e55 Mon Sep 17 00:00:00 2001 From: MaxED <j.maxed@gmail.com> Date: Mon, 29 Jul 2013 12:01:06 +0000 Subject: [PATCH] Visual mode: fixed a crash while changing 3d floor texture offsets when visual sector was not created for 3d floor's control sector. Visual mode: Info/Warning/Error status messages were not displayed properly when nothing was selected. Sector Edit form, UDMF: Reset and Link buttons were overlapped in Floor/Ceiling scale controls. --- .../GZBuilder/Controls/PairedFieldsControl.cs | 6 +++--- Source/Core/VisualModes/VisualMode.cs | 4 ++-- Source/Core/Windows/MainForm.cs | 16 +++++++++------- Source/Core/Windows/SectorEditFormUDMF.resx | 9 --------- .../BuilderModes/VisualModes/BaseVisualMode.cs | 7 ++----- 5 files changed, 16 insertions(+), 26 deletions(-) diff --git a/Source/Core/GZBuilder/Controls/PairedFieldsControl.cs b/Source/Core/GZBuilder/Controls/PairedFieldsControl.cs index 0321e47f2..2adf46840 100644 --- a/Source/Core/GZBuilder/Controls/PairedFieldsControl.cs +++ b/Source/Core/GZBuilder/Controls/PairedFieldsControl.cs @@ -26,7 +26,7 @@ namespace CodeImp.DoomBuilder.GZBuilder.Controls private bool allowValueLinking; private bool linkValues; private bool blockUpdate; - private int bResetPosX; + private int bResetOffsetX; #endregion @@ -48,7 +48,7 @@ namespace CodeImp.DoomBuilder.GZBuilder.Controls public PairedFieldsControl() { InitializeComponent(); - bResetPosX = bReset.Left; + bResetOffsetX = this.Width - bReset.Left; } #endregion @@ -114,7 +114,7 @@ namespace CodeImp.DoomBuilder.GZBuilder.Controls if(!allowValueLinking) { bReset.Left = bLink.Left; } else { - bReset.Left = bResetPosX; + bReset.Left = this.Width - bResetOffsetX; bLink.Image = (linkValues ? Resources.Link : Resources.Unlink); } } diff --git a/Source/Core/VisualModes/VisualMode.cs b/Source/Core/VisualModes/VisualMode.cs index 3061f4079..d128395ac 100644 --- a/Source/Core/VisualModes/VisualMode.cs +++ b/Source/Core/VisualModes/VisualMode.cs @@ -604,7 +604,7 @@ namespace CodeImp.DoomBuilder.VisualModes { // Make new visualsector vs = CreateVisualSector(sd.Sector); - if(vs != null) allsectors.Add(sd.Sector, vs); + //if(vs != null) allsectors.Add(sd.Sector, vs); //mxd } if(vs != null) @@ -942,7 +942,7 @@ namespace CodeImp.DoomBuilder.VisualModes /// This returns the VisualSector for the given Sector. /// </summary> public VisualSector GetVisualSector(Sector s) { - if(!allsectors.ContainsKey(s)) return null; //mxd + if(!allsectors.ContainsKey(s)) return CreateVisualSector(s); //mxd return allsectors[s]; } diff --git a/Source/Core/Windows/MainForm.cs b/Source/Core/Windows/MainForm.cs index 4c1b76cfb..5ba9e247e 100644 --- a/Source/Core/Windows/MainForm.cs +++ b/Source/Core/Windows/MainForm.cs @@ -667,7 +667,7 @@ namespace CodeImp.DoomBuilder.Windows public void DisplayStatus(StatusInfo newstatus) { // Stop timers - if(!newstatus.displayed) + if(newstatus.type != StatusType.Selection && !newstatus.displayed) //mxd { statusresetter.Stop(); statusflasher.Stop(); @@ -680,16 +680,18 @@ namespace CodeImp.DoomBuilder.Windows // When no particular information is to be displayed. // The messages displayed depends on running background processes. case StatusType.Ready: - if((General.Map != null) && (General.Map.Data != null)) - if(General.Map.Data.IsLoading) - newstatus.message = STATUS_LOADING_TEXT; - else - newstatus.message = selectionInfo; //mxd - else + if ((General.Map != null) && (General.Map.Data != null)) { + newstatus.message = General.Map.Data.IsLoading ? STATUS_LOADING_TEXT : selectionInfo; + } else { newstatus.message = STATUS_READY_TEXT; + } break; case StatusType.Selection: //mxd + if (statusresetter.Enabled) { //don't change the message right now if info or warning is displayed + selectionInfo = (string.IsNullOrEmpty(newstatus.message) ? STATUS_NO_SELECTION_TEXT : newstatus.message); + return; + } if(string.IsNullOrEmpty(newstatus.message)) newstatus.message = STATUS_NO_SELECTION_TEXT; selectionInfo = newstatus.message; diff --git a/Source/Core/Windows/SectorEditFormUDMF.resx b/Source/Core/Windows/SectorEditFormUDMF.resx index f3e8e41bc..53aec6270 100644 --- a/Source/Core/Windows/SectorEditFormUDMF.resx +++ b/Source/Core/Windows/SectorEditFormUDMF.resx @@ -147,12 +147,6 @@ <metadata name="label5.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <value>False</value> </metadata> - <metadata name="label6.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> - <value>False</value> - </metadata> - <metadata name="label5.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> - <value>False</value> - </metadata> <metadata name="tabproperties.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <value>True</value> </metadata> @@ -162,7 +156,4 @@ <metadata name="fieldslist.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <value>True</value> </metadata> - <metadata name="fieldslist.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> - <value>True</value> - </metadata> </root> \ No newline at end of file diff --git a/Source/Plugins/BuilderModes/VisualModes/BaseVisualMode.cs b/Source/Plugins/BuilderModes/VisualModes/BaseVisualMode.cs index 51f96cc2e..ecaa54387 100644 --- a/Source/Plugins/BuilderModes/VisualModes/BaseVisualMode.cs +++ b/Source/Plugins/BuilderModes/VisualModes/BaseVisualMode.cs @@ -378,6 +378,7 @@ namespace CodeImp.DoomBuilder.BuilderModes protected override VisualSector CreateVisualSector(Sector s) { BaseVisualSector vs = new BaseVisualSector(this, s); + if (vs != null) allsectors.Add(s, vs); //mxd return vs; } @@ -501,11 +502,7 @@ namespace CodeImp.DoomBuilder.BuilderModes //mxd protected override void moveSelectedThings(Vector2D direction, bool absolutePosition) { List<VisualThing> visualThings = GetSelectedVisualThings(true); - - if (visualThings.Count == 0) { - General.Interface.DisplayStatus(StatusType.Warning, "Select some Things first!"); - return; - } + if (visualThings.Count == 0) return; PreAction(UndoGroup.ThingMove); -- GitLab