diff --git a/Source/Core/Config/GameConfiguration.cs b/Source/Core/Config/GameConfiguration.cs index cbd6f5d765facbe3d4a07586e32ec4e1a33c4925..4c9e3e04a71376c24f7da99109c6dc20474b9de1 100644 --- a/Source/Core/Config/GameConfiguration.cs +++ b/Source/Core/Config/GameConfiguration.cs @@ -1052,9 +1052,9 @@ namespace CodeImp.DoomBuilder.Config for(int j = options[i].Bits.Count - 1; j > -1; j--) { GeneralizedBit bit = options[i].Bits[j]; + if(bit.Index > cureffect) continue; if(bit.Index > 0 && (cureffect & bit.Index) == bit.Index) return true; cureffect -= bit.Index; - if(cureffect < 1) return false; } } diff --git a/Source/Core/Controls/ActionSelectorControl.cs b/Source/Core/Controls/ActionSelectorControl.cs index 852e80a426ec406916c6ce810fe8084836a218d9..53cb82b7e42839cddb36b8a05428a2fc44e73156 100644 --- a/Source/Core/Controls/ActionSelectorControl.cs +++ b/Source/Core/Controls/ActionSelectorControl.cs @@ -218,6 +218,11 @@ namespace CodeImp.DoomBuilder.Controls list.SelectedIndex = itemindex; list.Refresh(); } + //mxd. This may be generalized effect, and it may've changed + else if(itemindex == -1) + { + list.Refresh(); + } // Raise change event //mxd. This HAS to be raised during Edit form setup, otherwise TypeHandlers in ArgumentBoxes won't be initialized diff --git a/Source/Plugins/BuilderModes/ClassicModes/DragGeometryMode.cs b/Source/Plugins/BuilderModes/ClassicModes/DragGeometryMode.cs index 278a829957463c4e947659af87bc954bed9686c3..b84e25beb0035f2939e1e8716db4980a75cef70d 100644 --- a/Source/Plugins/BuilderModes/ClassicModes/DragGeometryMode.cs +++ b/Source/Plugins/BuilderModes/ClassicModes/DragGeometryMode.cs @@ -516,14 +516,17 @@ namespace CodeImp.DoomBuilder.BuilderModes s.CeilSlopeOffset = -Vector3D.DotProduct(s.CeilSlope, new Vector3D(center + offset, ceiling.GetZ(center))); } } - } - - // Update cached values - General.Map.Map.Update(); - // Done - Cursor.Current = Cursors.Default; - General.Map.IsChanged = true; + // Update cached values + General.Map.Map.Update(); + + //mxd. Let the plugins know + General.Editing.AcceptMode(); + + // Done + Cursor.Current = Cursors.Default; + General.Map.IsChanged = true; + } } } diff --git a/Source/Plugins/TagExplorer/BuilderPlug.cs b/Source/Plugins/TagExplorer/BuilderPlug.cs index d4b1e31641270e4b6e78030ac10ae8045f795301..ce2137e03a03ec978e6c05a9f6d4069dd190f530 100644 --- a/Source/Plugins/TagExplorer/BuilderPlug.cs +++ b/Source/Plugins/TagExplorer/BuilderPlug.cs @@ -74,6 +74,12 @@ namespace CodeImp.DoomBuilder.TagExplorer if(tagExplorer != null) tagExplorer.UpdateTreeSoon(); } + // Edit performed + public override void OnEditAccept() + { + if(tagExplorer != null) tagExplorer.UpdateTreeSoon(); + } + public override void OnActionEnd(Actions.Action action) { if(tagExplorer != null && action.Name == "builder_deleteitem")