diff --git a/Build/Configurations/Eternity_DoomUDMF.cfg b/Build/Configurations/Eternity_DoomUDMF.cfg index 071927cb19f9c19b438a505e8f8823e7e62cb0df..60bd3bfbed955e00fb19207ff8f1329cbb2e7725 100755 --- a/Build/Configurations/Eternity_DoomUDMF.cfg +++ b/Build/Configurations/Eternity_DoomUDMF.cfg @@ -28,7 +28,7 @@ decorategames = ""; // (these are not required, just useful for new users) thingsfilters { - include("Includes\\ZDoom_misc.cfg", "thingsfilters_udmf"); + include("Includes\\Eternity_misc.cfg", "thingsfilters_udmf"); } // THING TYPES diff --git a/Build/Configurations/Includes/Eternity_common.cfg b/Build/Configurations/Includes/Eternity_common.cfg index b8638533a689afbd7cdb12269ef05c2c1d10be07..5eb4062001e83e8194e3815b3b9349d0a0208f30 100755 --- a/Build/Configurations/Includes/Eternity_common.cfg +++ b/Build/Configurations/Includes/Eternity_common.cfg @@ -236,6 +236,9 @@ mapformat_udmf // WARNING: enabling this will make maps incompatible with Doom Builder 2 and can lead to problems in Slade 3! longtexturenames = true; + // Enables support for individual offsets of upper/middle/lower sidedef textures + localsidedeftextureoffsets = true; + // Enables setting brightness for floor and ceiling independently from each other distinctfloorandceilingbrightness = true; diff --git a/Build/Configurations/Includes/Eternity_misc.cfg b/Build/Configurations/Includes/Eternity_misc.cfg index c58d744855d2141fd52558d5d7d10d486f3779a0..e895df94751f8d13dd0ba95bcef6f53a2bbf607e 100755 --- a/Build/Configurations/Includes/Eternity_misc.cfg +++ b/Build/Configurations/Includes/Eternity_misc.cfg @@ -75,6 +75,63 @@ universalfields type = 2; default = ""; } + + offsetx_top + { + type = 1; + default = 0.0; + } + + offsety_bottom + { + type = 1; + default = 0.0; + } + + offsetx_bottom + { + type = 1; + default = 0.0; + } + + offsetx_mid + { + type = 1; + default = 0.0; + } + + offsety_top + { + type = 1; + default = 0.0; + } + + offsety_mid + { + type = 1; + default = 0.0; + } + + skew_top_type + { + type = 16; + enum = "skew_type_top_bottom"; + default = "none"; + } + + skew_middle_type + { + type = 16; + enum = "skew_type_middle"; + default = "none"; + } + + skew_bottom_type + { + type = 16; + enum = "skew_type_top_bottom"; + default = "none"; + } } thing @@ -602,4 +659,117 @@ enums 5 = "Copy texture and type; trigger model"; 6 = "Copy texture and type; numeric model"; } + + skew_type_top_bottom + { + none = "None"; + front = "Skew to front-sector slope"; + back = "Skew to back-sector slope"; + } + + skew_type_middle + { + none = "None"; + front_floor = "Skew to front-sector floor slope"; + front_ceiling = "Skew to front-sector ceiling slope"; + back_floor = "Skew to back-sector floor slope"; + back_ceiling = "Skew to back-sector ceiling slope"; + } +} + +// Default thing filters +// (these are not required, just useful for new users) +thingsfilters_udmf +{ + + filter0 + { + name = "Keys only"; + category = "keys"; + type = -1; + } + + filter1 + { + name = "Deathmatch"; + category = ""; + type = -1; + + fields + { + dm = true; + } + } + + filter2 + { + name = "Cooperative"; + category = ""; + type = -1; + + fields + { + coop = true; + } + } + + filter3 + { + name = "Skill 1"; + category = ""; + type = -1; + + fields + { + skill1 = true; + } + } + + filter4 + { + name = "Skill 2"; + category = ""; + type = -1; + + fields + { + skill2 = true; + } + } + + filter5 + { + name = "Skill 3"; + category = ""; + type = -1; + + fields + { + skill3 = true; + } + } + + filter6 + { + name = "Skill 4"; + category = ""; + type = -1; + + fields + { + skill4 = true; + } + } + + filter7 + { + name = "Skill 5"; + category = ""; + type = -1; + + fields + { + skill5 = true; + } + } } \ No newline at end of file diff --git a/Source/Core/ZDoom/ZScriptStateGoto.cs b/Source/Core/ZDoom/ZScriptStateGoto.cs index 82c88ebbe8c209c374637195ddc6efe81215b482..46885ead39bc59b05f226cd560cee8ea220f4397 100755 --- a/Source/Core/ZDoom/ZScriptStateGoto.cs +++ b/Source/Core/ZDoom/ZScriptStateGoto.cs @@ -36,12 +36,15 @@ namespace CodeImp.DoomBuilder.ZDoom return; } + // TODO: Zscript allows complex mathematical opeartions, not use addition. + // example: Goto Spawn + 5 * 2 - 7; + // Values of identifies are not used right now and always use 0 tokenizer.SkipWhitespace(); token = tokenizer.ExpectToken(ZScriptTokenType.OpAdd); if (token != null && token.IsValid) { tokenizer.SkipWhitespace(); - token = tokenizer.ExpectToken(ZScriptTokenType.Integer); + token = tokenizer.ExpectToken(ZScriptTokenType.Integer, ZScriptTokenType.Identifier); if (token == null || !token.IsValid) { parser.ReportError("Expected state offset, got " + ((Object)token ?? "<null>").ToString()); diff --git a/Source/Plugins/BuilderModes/Resources/Actions.cfg b/Source/Plugins/BuilderModes/Resources/Actions.cfg index b30a1bab4860b3b2194b94248d90378c5d8f9c27..86a01b7d4a6a853ac1bde6e5bd17e5c15e341500 100755 --- a/Source/Plugins/BuilderModes/Resources/Actions.cfg +++ b/Source/Plugins/BuilderModes/Resources/Actions.cfg @@ -711,6 +711,7 @@ showvisualthings allowkeys = true; allowmouse = true; allowscroll = true; + registertoast = true; } raisebrightness8 diff --git a/Source/Plugins/BuilderModes/VisualModes/BaseVisualMode.cs b/Source/Plugins/BuilderModes/VisualModes/BaseVisualMode.cs index 235d74b7994f7db9d08c6d1f1521d80bd0f86d0d..5028cce5519dd114b9dfc2cb9c0946d663ed9bb0 100755 --- a/Source/Plugins/BuilderModes/VisualModes/BaseVisualMode.cs +++ b/Source/Plugins/BuilderModes/VisualModes/BaseVisualMode.cs @@ -3442,6 +3442,15 @@ namespace CodeImp.DoomBuilder.BuilderModes { BuilderPlug.Me.ShowVisualThings++; if(BuilderPlug.Me.ShowVisualThings > 2) BuilderPlug.Me.ShowVisualThings = 0; + + string shortmessage = "Thing visibility is now " + (BuilderPlug.Me.ShowVisualThings > 0 ? (BuilderPlug.Me.ShowVisualThings > 1 ? "ON" : "SPRITE ONLY") : "OFF") + "."; + string message = shortmessage; + string key = Actions.Action.GetShortcutKeyDesc(General.Actions.Current.ShortcutKey); + + if (!string.IsNullOrEmpty(key)) + message += $" Press '{key}' to change."; + + General.ToastManager.ShowToast("showvisualthings", ToastType.INFO, "Changed thing visibility", message, new StatusInfo(StatusType.Action, shortmessage)); } [BeginAction("raisebrightness8")]