diff --git a/Build/Configurations/Includes/ZDoom_common.cfg b/Build/Configurations/Includes/ZDoom_common.cfg index cfca9717..aee7acfc 100644 --- a/Build/Configurations/Includes/ZDoom_common.cfg +++ b/Build/Configurations/Includes/ZDoom_common.cfg @@ -392,7 +392,6 @@ mapformat_udmf // LINEDEF ACTIVATIONS linedefactivations { - include("UDMF_misc.cfg", "linedefactivations"); include("ZDoom_misc.cfg", "linedefactivations_udmf"); } diff --git a/Build/Configurations/Includes/ZDoom_misc.cfg b/Build/Configurations/Includes/ZDoom_misc.cfg index 71eecdde..42aff4c8 100644 --- a/Build/Configurations/Includes/ZDoom_misc.cfg +++ b/Build/Configurations/Includes/ZDoom_misc.cfg @@ -57,9 +57,19 @@ linedefflags_udmf linedefactivations_udmf { - firstsideonly = "Front side only"; - checkswitchrange = "Switch height check"; + repeatspecial = "Repeatable action"; + playeruse = "When player presses use"; + playercross = "When player walks over"; + playerpush = "When player bumps"; + monsteruse = "When monster presses use"; + monstercross = "When monster walks over"; + monsterpush = "When monsters bumps"; anycross = "Any crossing non-missile activates"; + missilecross = "When projectile crosses"; + impact = "On projectile impact"; + checkswitchrange = "Switch height check"; + passuse = "Pass use on"; + firstsideonly = "Front side only"; playeruseback = "Player can use from back side"; } diff --git a/Source/Core/Config/GameConfiguration.cs b/Source/Core/Config/GameConfiguration.cs index 8a759dc3..bd90a8c5 100644 --- a/Source/Core/Config/GameConfiguration.cs +++ b/Source/Core/Config/GameConfiguration.cs @@ -607,8 +607,12 @@ namespace CodeImp.DoomBuilder.Config linedefactivates.Add(new LinedefActivateInfo(de.Key.ToString(), de.Value.ToString())); } - // Sort the list - linedefactivates.Sort(); + //mxd. Sort only when activations are numeric + MapSetIO io = MapSetIO.Create(formatinterface); + if(io.HasNumericLinedefActivations) + { + linedefactivates.Sort(); + } } // Linedef generalized actions diff --git a/Source/Core/Windows/LinedefEditForm.cs b/Source/Core/Windows/LinedefEditForm.cs index a3b2f611..13926591 100644 --- a/Source/Core/Windows/LinedefEditForm.cs +++ b/Source/Core/Windows/LinedefEditForm.cs @@ -125,7 +125,7 @@ namespace CodeImp.DoomBuilder.Windows backlow.Initialize(); //mxd. Setup script numbers - scriptNumbers.Location = arg0.Location; + scriptNumbers.Location = new Point(arg0.Location.X, arg0.Location.Y + 2); foreach(ScriptItem si in General.Map.NumberedScripts) scriptNumbers.Items.Add(si); @@ -422,6 +422,7 @@ namespace CodeImp.DoomBuilder.Windows private void UpdateScriptControls() { scriptNumbers.Visible = (Array.IndexOf(GZBuilder.GZGeneral.ACS_SPECIALS, action.Value) != -1); + arg0.Visible = !scriptNumbers.Visible; } #endregion diff --git a/Source/Core/Windows/LinedefEditFormUDMF.cs b/Source/Core/Windows/LinedefEditFormUDMF.cs index df30f077..3df00b71 100644 --- a/Source/Core/Windows/LinedefEditFormUDMF.cs +++ b/Source/Core/Windows/LinedefEditFormUDMF.cs @@ -216,12 +216,12 @@ namespace CodeImp.DoomBuilder.Windows backlow.Initialize(); //mxd. Setup script numbers - scriptNumbers.Location = arg0.Location; + scriptNumbers.Location = new Point(arg0.Location.X, arg0.Location.Y + 2); foreach(ScriptItem si in General.Map.NumberedScripts) scriptNumbers.Items.Add(si); scriptNumbers.DropDownWidth = Tools.GetDropDownWidth(scriptNumbers); //mxd. Setup script names - scriptNames.Location = arg0.Location; + scriptNames.Location = scriptNumbers.Location; foreach(ScriptItem nsi in General.Map.NamedScripts) scriptNames.Items.Add(nsi); scriptNames.DropDownWidth = Tools.GetDropDownWidth(scriptNames); @@ -693,6 +693,8 @@ namespace CodeImp.DoomBuilder.Windows scriptNumbers.Visible = false; cbArgStr.Checked = false; } + + arg0.Visible = (!scriptNames.Visible && !scriptNumbers.Visible); } //mxd diff --git a/Source/Core/Windows/ThingEditForm.cs b/Source/Core/Windows/ThingEditForm.cs index 8b44e29e..9267c970 100644 --- a/Source/Core/Windows/ThingEditForm.cs +++ b/Source/Core/Windows/ThingEditForm.cs @@ -113,8 +113,8 @@ namespace CodeImp.DoomBuilder.Windows tabs.TabPages.Remove(tabeffects); } else //mxd. Setup script numbers - { - scriptNumbers.Location = arg0.Location; + { + scriptNumbers.Location = new Point(arg0.Location.X, arg0.Location.Y + 2); foreach(ScriptItem si in General.Map.NumberedScripts) scriptNumbers.Items.Add(si); @@ -306,6 +306,7 @@ namespace CodeImp.DoomBuilder.Windows private void UpdateScriptControls() { scriptNumbers.Visible = (Array.IndexOf(GZBuilder.GZGeneral.ACS_SPECIALS, action.Value) != -1); + arg0.Visible = !scriptNumbers.Visible; } #endregion diff --git a/Source/Core/Windows/ThingEditFormUDMF.cs b/Source/Core/Windows/ThingEditFormUDMF.cs index f4a5f8ff..10900d92 100644 --- a/Source/Core/Windows/ThingEditFormUDMF.cs +++ b/Source/Core/Windows/ThingEditFormUDMF.cs @@ -137,8 +137,8 @@ namespace CodeImp.DoomBuilder.Windows fieldslist.ListFixedFields(General.Map.Config.ThingFields); // Tag/Effects - scriptNames.Location = arg0.Location; - scriptNumbers.Location = arg0.Location; + scriptNumbers.Location = new Point(arg0.Location.X, arg0.Location.Y + 2); + scriptNames.Location = scriptNumbers.Location; // Setup script names foreach(ScriptItem nsi in General.Map.NamedScripts) scriptNames.Items.Add(nsi); @@ -402,6 +402,8 @@ namespace CodeImp.DoomBuilder.Windows scriptNumbers.Visible = false; cbArgStr.Checked = false; } + + arg0.Visible = (!scriptNames.Visible && !scriptNumbers.Visible); } #endregion