From 24c871067adc690959f8e655c1fef7f3a32c9cd0 Mon Sep 17 00:00:00 2001 From: kraflab Date: Sat, 21 Oct 2023 16:41:14 +0200 Subject: [PATCH] Add udb config --- udb/DSDADoom_DoomUDMF.cfg | 263 +++ udb/Includes/DSDADoom_linedefs.cfg | 2750 ++++++++++++++++++++++++++++ udb/Includes/DSDADoom_misc.cfg | 908 +++++++++ udb/Includes/DSDADoom_things.cfg | 243 +++ 4 files changed, 4164 insertions(+) create mode 100644 udb/DSDADoom_DoomUDMF.cfg create mode 100644 udb/Includes/DSDADoom_linedefs.cfg create mode 100644 udb/Includes/DSDADoom_misc.cfg create mode 100644 udb/Includes/DSDADoom_things.cfg diff --git a/udb/DSDADoom_DoomUDMF.cfg b/udb/DSDADoom_DoomUDMF.cfg new file mode 100644 index 000000000..6764fe990 --- /dev/null +++ b/udb/DSDADoom_DoomUDMF.cfg @@ -0,0 +1,263 @@ +/*************************************************************\ + Doom Builder 2 Game Configuration for ZDoom-compatible port +\*************************************************************/ + +// This is required to prevent accidental use of a different configuration +type = "Doom Builder 2 Game Configuration"; + +// This is the title to show for this game +game = "DSDADoom: Doom 2 (UDMF)"; + +// This is the simplified game engine/sourceport name +engine = "dsda"; + +// Should this configuration be initially available? +enabledbydefault = true; + +// Some common settings +include("Includes\\Common.cfg"); + +// Default testing parameters +include("Includes\\Test_params.cfg", "vanilla_mapxx"); + +// Action special help (mxd) +actionspecialhelp = "http://www.zdoom.org/wiki/index.php?title=%K"; + +// Thing class help (mxd) +thingclasshelp = "http://www.zdoom.org/wiki/Classes:%K"; + +// Default nodebuilder configurations +defaultsavecompiler = "zdbsp_udmf_normal"; +defaulttestcompiler = "zdbsp_udmf_fast"; + +// Generalized actions +generalizedsectors = true; +generalizedlinedefs = false; + +//mxd. Maximum safe map size check (0 means skip check) +safeboundary = 0; + +// Texture loading options +mixtexturesflats = false; +defaulttexturescale = 1.0f; +defaultflatscale = 1.0f; +scaledtextureoffsets = true; + +//mxd. Sidedefs compression +sidedefcompressionignoresaction = true; + +// Texture sources +textures +{ + include("Includes\\Doom_misc.cfg", "textures"); +} + +// Patch sources +patches +{ + include("Includes\\Doom_misc.cfg", "patches"); +} + +// Sprite sources +sprites +{ + include("Includes\\Doom_misc.cfg", "sprites"); +} + +// Flat sources +flats +{ + include("Includes\\Doom_misc.cfg", "flats"); +} + +// Colormap sources +colormaps +{ + include("Includes\\Boom_misc.cfg", "colormaps"); +} + +// Generalized sector types +gen_sectortypes +{ + include("Includes\\ZDoom_generalized.cfg", "gen_sectortypes"); +} + +damagetypes = ""; +internalsoundnames = ""; + +compatibility +{ + fixnegativepatchoffsets = true; + fixmaskedpatchoffsets = true; +} + +// The format interface handles the map data format +formatinterface = "UniversalMapSetIO"; + +//mxd. The default script compiler to use +defaultscriptcompiler = ""; + +// Enables support for individual offsets of upper/middle/lower sidedef textures +localsidedeftextureoffsets = true; + +// Enables setting brightness for floor, ceiling, and walls independently from each other +distinctfloorandceilingbrightness = true; +distinctwallbrightness = true; + +// Enabled setting brightness for upper, middle, and lower sidedef independently from each other +distinctsidedefpartbrightness = true; + +// Enables multiple tags on sectors +sectormultitag = true; + +// When this is set to true, sectors with the same tag will light up when a line is highlighted +linetagindicatesectors = false; + +// Special linedefs +singlesidedflag = "blocking"; +doublesidedflag = "twosided"; +impassableflag = "blocking"; +upperunpeggedflag = "dontpegtop"; +lowerunpeggedflag = "dontpegbottom"; +defaultlinedefactivation = "playercross"; //mxd. Used when translating a map to UDMF + +// Door making +makedooraction = 202; // See linedeftypes +makedoorflags { playeruse; repeatspecial; } +makedoorarg0 = 0; +makedoorarg1 = 16; +makedoorarg2 = 0; +makedoorarg3 = 34; +makedoorarg4 = 0; + +// SECTOR FLAGS +sectorflags +{ + silent = "Silent"; + hidden = "Not shown on textured automap"; + damagehazard = "Strife damage model"; + noattack = "Monsters in this sector do not attack"; +} + +// SECTOR TYPES +sectortypes +{ + 0 = "None"; + 1 = "Light Phased"; + 2 = "Light Sequence Start"; + 3 = "Light Sequence Special 1"; + 4 = "Light Sequence Special 2"; + 26 = "Stairs Special 1"; + 27 = "Stairs Special 2"; + 40 = "Wind East weak"; + 41 = "Wind East medium"; + 42 = "Wind East strong"; + 43 = "Wind North weak"; + 44 = "Wind North medium"; + 45 = "Wind North strong"; + 46 = "Wind South weak"; + 47 = "Wind South medium"; + 48 = "Wind South strong"; + 49 = "Wind West weak"; + 50 = "Wind West medium"; + 51 = "Wind West strong"; + 65 = "Light Flicker"; + 66 = "Light Strobe Fast"; + 67 = "Light Strobe Slow"; + 68 = "Light Strobe Hurt -20% health"; + 69 = "Damage Hellslime -10% health"; + 71 = "Damage Nukage -5% health"; + 72 = "Light Glow"; + 74 = "Sector Door Close (30 sec)"; + 75 = "Damage End Level -20% health"; + 76 = "Light StrobeSlowSync"; + 77 = "Light StrobeFastSync"; + 78 = "Sector Door Raise (5 min)"; + 79 = "Low Friction"; + 80 = "Damage Super Hellslime -20% health"; + 81 = "Light Fire Flicker"; + 82 = "Damage -5% health (no protection)"; + 83 = "Damage -8% health (no protection)"; + 84 = "Scroll east + -2 or -5% health (no protection)"; + 85 = "Damage Sludge -4% health"; + 104 = "sLight_Strobe_Hurt"; + 105 = "Delayed damage weak (hazardcount +2/16 per second)"; + 115 = "Instant death"; + 116 = "Delayed damage strong (hazardcount +4/16 per second)"; + 118 = "Carry player by tag"; + 195 = "Hidden Sector (automap)"; + 196 = "Healing Sector"; + 201 = "Scroll North (slow)"; + 202 = "Scroll North (medium)"; + 203 = "Scroll North (fast)"; + 204 = "Scroll East (slow)"; + 205 = "Scroll East (medium)"; + 206 = "Scroll East (fast)"; + 207 = "Scroll South (slow)"; + 208 = "Scroll South (medium)"; + 209 = "Scroll South (fast)"; + 210 = "Scroll West (slow)"; + 211 = "Scroll West (medium)"; + 212 = "Scroll West (fast)"; + 213 = "Scroll NorthWest (slow)"; + 214 = "Scroll NorthWest (medium)"; + 215 = "Scroll NorthWest (fast)"; + 216 = "Scroll NorthEast (slow)"; + 217 = "Scroll NorthEast (medium)"; + 218 = "Scroll NorthEast (fast)"; + 219 = "Scroll SouthEast (slow)"; + 220 = "Scroll SouthEast (medium)"; + 221 = "Scroll SouthEast (fast)"; + 222 = "Scroll SouthWest (slow)"; + 223 = "Scroll SouthWest (medium)"; + 224 = "Scroll SouthWest (fast)"; + 225 = "Carry East Slow"; + 226 = "Carry East Med.Slow"; + 227 = "Carry East Medium"; + 228 = "Carry East Med.Fast"; + 229 = "Carry East Fast"; + 230 = "Carry North Slow"; + 231 = "Carry North Med.Slow"; + 232 = "Carry North Medium"; + 233 = "Carry North Med.Fast"; + 234 = "Carry North Fast"; + 235 = "Carry South Slow"; + 236 = "Carry South Med.Slow"; + 237 = "Carry South Medium"; + 238 = "Carry South Med.Fast"; + 239 = "Carry South Fast"; + 240 = "Carry West Slow"; + 241 = "Carry West Med.Slow"; + 242 = "Carry West Medium"; + 243 = "Carry West Med.Fast"; + 244 = "Carry West Fast"; +} + +include("Includes\\DSDADoom_misc.cfg"); + +// LINEDEF TYPES +linedeftypes +{ + include("Includes\\DSDADoom_linedefs.cfg"); +} + +// Settings common to Doom games +include("Includes\\Game_Doom.cfg"); + +// THING TYPES +// Each engine has its own additional thing types +// Order should always be 1: Game; 2: ZDoom/game; 3: ZDoom/zdoom +thingtypes +{ + // Basic game actors + include("Includes\\Doom_things.cfg"); + include("Includes\\Doom2_things.cfg"); + include("Includes\\Boom_things.cfg"); + include("Includes\\DSDADoom_things.cfg"); +} + +// Dehacked data +dehacked +{ + include("Includes\\Dehacked_Doom.cfg"); +} diff --git a/udb/Includes/DSDADoom_linedefs.cfg b/udb/Includes/DSDADoom_linedefs.cfg new file mode 100644 index 000000000..7cc691a29 --- /dev/null +++ b/udb/Includes/DSDADoom_linedefs.cfg @@ -0,0 +1,2750 @@ +misc +{ + 0 + { + title = "None"; + } +} + +polyobj +{ + include("Hexen_linedefs.cfg", "polyobj"); + + 59 + { + title = "Polyobject Move to Spot (override)"; + id = "Polyobj_OR_MoveToSpot"; + arg0 + { + title = "Polyobject Number"; + type = 25; + } + arg1 + { + title = "Speed (mu. per octic)"; + type = 11; + enum = "stair_speeds"; + default = 16; + } + arg2 + { + title = "Target MapSpot Tag"; + type = 14; + targetclasses = "MapSpot,MapSpotGravity"; + } + } + + 86 + { + title = "Polyobject Move to Spot"; + id = "Polyobj_MoveToSpot"; + arg0 + { + title = "Polyobject Number"; + type = 25; + } + arg1 + { + title = "Speed (mu. per octic)"; + type = 11; + enum = "stair_speeds"; + default = 16; + } + arg2 + { + title = "Target MapSpot Tag"; + type = 14; + targetclasses = "MapSpot,MapSpotGravity"; + } + } + + 87 + { + title = "Polyobject Stop"; + id = "Polyobj_Stop"; + arg0 + { + title = "Polyobject Number"; + type = 25; + } + } + + 88 + { + title = "Polyobject Move to"; + id = "Polyobj_MoveTo"; + arg0 + { + title = "Polyobject Number"; + type = 25; + } + arg1 + { + title = "Speed (mu. per octic)"; + type = 11; + enum = "stair_speeds"; + default = 16; + } + arg2 + { + title = "Target X Pos"; + } + arg3 + { + title = "Target Y Pos"; + } + } + + 89 + { + title = "Polyobject Move to (override)"; + id = "Polyobj_OR_MoveTo"; + arg0 + { + title = "Polyobject Number"; + type = 25; + } + arg1 + { + title = "Speed (mu. per octic)"; + type = 11; + enum = "stair_speeds"; + default = 16; + } + arg2 + { + title = "Target X Pos"; + } + arg3 + { + title = "Target Y Pos"; + } + } +} + +line +{ + title = "Line"; + + 55 + { + title = "Line Set Blocking"; + id = "Line_SetBlocking"; + + arg0 + { + title = "Target Line Tag"; + type = 15; + } + arg1 + { + title = "Set Flags"; + type = 12; + enum = "linesetblockingflags"; + } + arg2 + { + title = "Clear Flags"; + type = 12; + enum = "linesetblockingflags"; + } + } +} + +door +{ + include("Hexen_linedefs.cfg", "door"); + + 202 + { + title = "Door Generic"; + id = "Generic_Door"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "flat_speeds"; + default = 16; + } + arg2 + { + title = "Type"; + type = 26; + enum + { + 0 = "Open Close"; + 1 = "Open Stay"; + 2 = "Close Open"; + 3 = "Close Stay"; + } + flags + { + 64 = "No retrigger"; + 128 = "Tag is light tag"; + } + } + arg3 + { + title = "Delay"; + type = 11; + enum = "generic_door_delays"; + default = 34; + } + arg4 + { + title = "Lock"; + type = 11; + enum = "keys"; + } + } + + 249 + { + title = "Door Close Wait Open"; + id = "Door_CloseWaitOpen"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "flat_speeds"; + default = 16; + } + arg2 + { + title = "Delay"; + type = 11; + enum = "generic_door_delays"; + default = 34; + } + arg3 + { + title = "Light Tag"; + type = 13; + } + } +} + +floor +{ + include("Hexen_linedefs.cfg", "floor"); + + 28 // Floor Crusher Start + { + arg3 + { + title = "Crush Mode"; + type = 11; + enum = "crush_mode"; + } + } + + 37 + { + title = "Floor Move to Value"; + id = "Floor_MoveToValue"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + arg2 + { + title = "Target Height"; + } + arg3 + { + title = "Negative Height"; + type = 11; + enum = "noyes"; + } + } + + 138 + { + title = "Floor Waggle"; + id = "Floor_Waggle"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Amplitude"; + } + arg2 + { + title = "Frequency"; + } + arg3 + { + title = "Phase Offset (0-63)"; + } + arg4 + { + title = "Duration"; + type = 11; + enum = "delay_seconds"; + default = 5; + } + } + + 200 + { + title = "Floor Generic Change"; + id = "Generic_Floor"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + arg2 + { + title = "Movement Amount"; + } + arg3 + { + title = "Target"; + type = 11; + enum + { + 0 = "Move by Movement Amount"; + 1 = "Highest neighboring floor"; + 2 = "Lowest neighboring floor"; + 3 = "Nearest neighboring floor"; + 4 = "Lowest neighboring ceiling"; + 5 = "Sector ceiling"; + 6 = "Move by the height of sector's shortest lower texture"; + } + } + arg4 + { + title = "Flags"; + type = 26; + enum + { + 0 = "Don't copy anything"; + 1 = "Copy floor texture, remove sector special"; + 2 = "Copy floor texture"; + 3 = "Copy floor texture and special"; + } + flags + { + 4 = "Use numeric model if set, trigger model if not"; + 8 = "Raise floor if set, lower it if not"; + 16 = "Inflict crushing damage"; + } + } + } + + 235 + { + title = "Transfer Floor and Special from Back Side"; + id = "Floor_TransferTrigger"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + } + + 236 + { + title = "Transfer Floor and Special using Numeric Change Model"; + id = "Floor_TransferNumeric"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + } + + 238 + { + title = "Floor Raise to Lowest Ceiling"; + id = "Floor_RaiseToLowestCeiling"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + } + + 239 + { + title = "Floor Raise by TxTy"; + id = "Floor_RaiseByValueTxTy"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + arg2 + { + title = "Raise by"; + } + } + + 240 + { + title = "Floor Raise by Texture"; + id = "Floor_RaiseByTexture"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + } + + 241 + { + title = "Floor Lower to Lowest TxTy"; + id = "Floor_LowerToLowestTxTy"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + + errorchecker + { + floorlowertolowest = true; + } + } + + 242 + { + title = "Floor Lower to Highest Floor"; + id = "Floor_LowerToHighest"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + arg2 + { + title = "Adjust Target Height"; + } + arg3 + { + title = "Force Adjust"; + type = 11; + enum = "noyes"; + } + + errorchecker + { + floorraisetohighest = true; + } + } + + 250 + { + title = "Floor Donut"; + id = "Floor_Donut"; + + arg0 + { + title = "Center Sector Tag"; + type = 13; + } + arg1 + { + title = "Pillar Lower Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + arg2 + { + title = "Stairs Raise Speed"; + type = 11; + enum = "stair_speeds"; + default = 4; + } + } + + 251 + { + title = "Floor and Ceiling Lower and Raise"; + id = "FloorAndCeiling_LowerRaise"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Floor Lowering Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + arg2 + { + title = "Ceiling Raising Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + arg3 + { + title = "Emulate Boom Bug"; + type = 11; + enum + { + 0 = "No"; + 1998 = "Yes"; + } + } + } +} + +stairs +{ + include("Hexen_linedefs.cfg", "stairs"); + + 204 + { + title = "Stairs Generic Build"; + id = "Generic_Stairs"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "stair_speeds"; + default = 4; + } + arg2 + { + title = "Step Height"; + } + arg3 + { + title = "Options"; + type = 12; + enum + { + 1 = "Upwards"; + 2 = "Ignore Floor Texture"; + } + } + arg4 + { + title = "Reset Delay"; + type = 11; + enum = "reset_tics"; + } + } + + 217 + { + title = "Stairs Build up (Doom mode)"; + id = "Stairs_BuildUpDoom"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "stair_speeds"; + default = 4; + } + arg2 + { + title = "Step Height"; + } + arg3 + { + title = "Build Step Delay"; + type = 11; + enum = "delay_tics"; + default = 35; + } + arg4 + { + title = "Reset Delay"; + type = 11; + enum = "reset_tics"; + } + } +} + +pillar +{ + include("Hexen_linedefs.cfg", "pillar"); + + 94 // Pillar_BuildAndCrush + { + arg3 + { + title = "Crush Damage"; + default = 100; + } + arg4 + { + title = "Crush Mode"; + type = 11; + enum = "crush_mode"; + } + } +} + +forcefield +{ + title = "Forcefield"; + + 33 + { + title = "Forcefield Set"; + id = "ForceField"; + requiresactivation = false; + } + + 34 + { + title = "Forcefield Remove"; + id = "ClearForceField"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + } +} + +ceiling +{ + include("Hexen_linedefs.cfg", "ceiling"); + + 38 + { + title = "Ceiling Waggle"; + id = "Ceiling_Waggle"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Amplitude (in 1/8 mu.)"; + default = 128; + } + arg2 + { + title = "Frequency"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + arg3 + { + title = "Phase Offset (0-63)"; + } + arg4 + { + title = "Duration"; + type = 11; + enum = "delay_seconds"; + default = 5; + } + } + + 42 // Ceiling Crusher Start + { + arg3 + { + title = "Crush Mode"; + type = 11; + enum = "crush_mode"; + } + } + + 43 // Ceiling Crush Once + { + arg3 + { + title = "Crush Mode"; + type = 11; + enum = "crush_mode"; + } + } + + 97 + { + title = "Ceiling Lower And Crush Dist"; + id = "Ceiling_LowerAndCrushDist"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + + } + + arg2 + { + title = "Crush Damage"; + default = 100; + } + + arg3 + { + title = "Lip"; + } + + arg4 + { + title = "Crush Mode"; + type = 11; + enum = "crush_mode"; + } + } + + 104 + { + title = "Ceiling Crush And Raise Dist"; + id = "Ceiling_CrushAndRaiseSilentDist"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + + arg1 + { + title = "Lip"; + } + + arg2 + { + title = "Movement Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + + arg3 + { + title = "Crush Damage"; + default = 100; + } + + arg4 + { + title = "Crush Mode"; + type = 11; + enum = "crush_mode"; + } + } + + 45 // Ceiling Crush Once and Open + { + arg3 + { + title = "Crush Mode"; + type = 11; + enum = "crush_mode"; + } + } + + 47 + { + title = "Ceiling Move to Value"; + id = "Ceiling_MoveToValue"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + arg2 + { + title = "Target Height"; + } + arg3 + { + title = "Negative Height"; + type = 11; + enum = "noyes"; + } + } + + 169 + { + title = "Ceiling Generic Crush (Hexen mode)"; + id = "Generic_Crusher2"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Lower Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + arg2 + { + title = "Raise Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + arg3 + { + title = "Silent"; + type = 11; + enum = "noyes"; + } + arg4 + { + title = "Crush Damage"; + default = 100; + } + } + + 192 + { + title = "Ceiling Lower to Highest Floor"; + id = "Ceiling_LowerToHighestFloor"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + } + + 193 + { + title = "Ceiling Lower Instantly by Value * 8"; + id = "Ceiling_LowerInstant"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg2 + { + title = "Lower by (* 8)"; + } + } + + 194 + { + title = "Ceiling Raise Instantly by Value * 8"; + id = "Ceiling_RaiseInstant"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg2 + { + title = "Raise by (* 8)"; + } + } + + 195 + { + title = "Ceiling Crush Once and Open A"; + id = "Ceiling_CrushRaiseAndStayA"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Lower Movement Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + arg2 + { + title = "Raise Movement Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + arg3 + { + title = "Crush Damage"; + default = 100; + } + arg4 + { + title = "Crush Mode"; + type = 11; + enum = "crush_mode"; + } + + } + + 196 + { + title = "Ceiling Crush Start A"; + id = "Ceiling_CrushAndRaiseA"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Lower Movement Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + arg2 + { + title = "Raise Movement Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + arg3 + { + title = "Crush Damage"; + default = 100; + } + arg4 + { + title = "Crush Mode"; + type = 11; + enum = "crush_mode"; + } + } + + 197 + { + title = "Ceiling Crush Start A (silent)"; + id = "Ceiling_CrushAndRaiseSilentA"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Lower Movement Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + arg2 + { + title = "Raise Movement Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + arg3 + { + title = "Crush Damage"; + default = 100; + } + arg4 + { + title = "Crush Mode"; + type = 11; + enum = "crush_mode"; + } + } + + 198 + { + title = "Ceiling Raise by Value * 8"; + id = "Ceiling_RaiseByValueTimes8"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + arg2 + { + title = "Raise by (* 8)"; + } + } + + 199 + { + title = "Ceiling Lower by Value * 8"; + id = "Ceiling_LowerByValueTimes8"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + arg2 + { + title = "Lower by (* 8)"; + } + } + + 201 + { + title = "Ceiling Generic Change"; + id = "Generic_Ceiling"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + arg2 + { + title = "Movement Amount"; + } + arg3 + { + title = "Target"; + type = 11; + enum + { + 0 = "Move by Movement Amount"; + 1 = "Highest neighboring ceiling"; + 2 = "Lowest neighboring ceiling"; + 3 = "Nearest neighboring ceiling"; + 4 = "Highest neighboring floor"; + 5 = "Sector floor"; + 6 = "Move by the height of sector's shortest upper texture"; + } + } + arg4 + { + title = "Flags"; + type = 26; + enum + { + 0 = "Don't copy anything"; + 1 = "Copy ceiling texture, remove sector special"; + 2 = "Copy ceiling texture"; + 3 = "Copy ceiling texture and special"; + } + flags + { + 4 = "Use numeric model if set, trigger model if not"; + 8 = "Raise ceiling if set, lower it if not"; + 16 = "Inflict crushing damage"; + } + } + } + + 205 + { + title = "Ceiling Generic Crush (Doom mode)"; + id = "Generic_Crusher"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Lowering Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + arg2 + { + title = "Raising Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + arg3 + { + title = "Silent"; + type = 11; + enum = "noyes"; + } + arg4 + { + title = "Crush Damage"; + default = 100; + } + } + + 252 + { + title = "Ceiling Raise to Nearest Ceiling"; + id = "Ceiling_RaiseToNearest"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + } + + 253 + { + title = "Ceiling Lower to Lowest Ceiling"; + id = "Ceiling_LowerToLowest"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + } + + 254 + { + title = "Ceiling Lower to Floor"; + id = "Ceiling_LowerToFloor"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + } + + 255 + { + title = "Ceiling Crush Once and Open A (silent)"; + id = "Ceiling_CrushRaiseAndStaySilA"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Lowering Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + arg2 + { + title = "Raising Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + arg3 + { + title = "Crush Damage"; + default = 100; + } + arg4 + { + title = "Crush Mode"; + type = 11; + enum = "crush_mode"; + } + } +} + +transfer +{ + title = "Transfer"; + + 209 + { + title = "Transfer Heights"; + id = "Transfer_Heights"; + requiresactivation = false; + + errorchecker + { + ignoreuppertexture = true; + ignoremiddletexture = true; + ignorelowertexture = true; + } + + arg0 + { + title = "Sector Tag"; + type = 13; + } + } +} + +platform +{ + include("Hexen_linedefs.cfg", "platform"); + + 172 + { + title = "Platform Raise to Nearest Wait Lower"; + id = "Plat_UpNearestWaitDownStay"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + arg2 + { + title = "Reverse Delay (tics)"; + type = 11; + enum = "delay_tics"; + default = 35; + } + } + + 203 + { + title = "Platform Generic Change"; + id = "Generic_Lift"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + arg2 + { + title = "Reverse Delay (octics)"; + type = 11; + enum = "delay_octics"; + default = 24; + } + arg3 + { + title = "Type"; + type = 11; + enum = "generic_lift_types"; + } + arg4 + { + title = "Movement Amount"; + } + } + + 206 + { + title = "Platform Lower Wait Raise (lip)"; + id = "Plat_DownWaitUpStayLip"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + arg2 + { + title = "Reverse Delay (tics)"; + type = 11; + enum = "delay_tics"; + default = 35; + } + arg3 + { + title = "Lip Amount"; + } + arg4 + { + title = "Sound Type"; + type = 11; + enum = "plat_sound"; + } + } + + 207 + { + title = "Platform Perpetual Move (lip)"; + id = "Plat_PerpetualRaiseLip"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + arg2 + { + title = "Reverse Delay (tics)"; + type = 11; + enum = "delay_tics"; + default = 35; + } + arg3 + { + title = "Lip Amount"; + } + } + + 228 + { + title = "Platform Raise Tx0"; + id = "Plat_RaiseAndStayTx0"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + arg2 + { + title = "Lockout Mode"; + type = 11; + enum + { + 0 = "Lockout in Heretic only"; + 1 = "Don't lockout"; + 2 = "Lockout in all games"; + } + } + } + + 230 + { + title = "Platform Raise by Value Tx (* 8)"; + id = "Plat_UpByValueStayTx"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + arg2 + { + title = "Raise by (* 8)"; + } + } + + 231 + { + title = "Platform Toggle Ceiling"; + id = "Plat_ToggleCeiling"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + } +} + +teleport +{ + include("Hexen_linedefs.cfg", "teleport"); + + 39 + { + title = "Teleport to Pain State (silent)"; + id = "Teleport_ZombieChanger"; + + arg0 + { + title = "Target Teleport Dest. Tag"; + type = 14; + targetclasses = "TeleportDest,TeleportDest2,TeleportDest3"; + } + arg1 + { + title = "Target Sector Tag"; + type = 13; + } + } + + 70 // Teleport + { + arg2 + { + title = "Source Fog"; + type = 11; + enum = "yesno"; + } + } + + 71 // Teleport_NoFog + { + arg1 + { + title = "Teleport Dest. angle usage"; + type = 11; + enum + { + 0 = "Don't change angle and velocity (Hexen-compat)"; + 1 = "Always use the teleport exit's angle (Strife-compat)"; + 2 = "Adjust relatively to the teleport exit's angle, but in the wrong direction (Boom-compat)"; + 3 = "Adjust relatively to the teleport exit's angle (Boom-fixed)"; + } + } + arg3 + { + title = "Keep rel. Height"; + type = 11; + enum = "noyes"; + } + } + + 74 // Teleport_NewMap + { + arg2 + { + title = "Keep Orientation"; + type = 11; + enum = "noyes"; + } + } + + 76 + { + title = "Teleport Other"; + id = "TeleportOther"; + + arg0 + { + title = "Thing Tag"; + type = 14; + } + arg1 + { + title = "Target MapSpot Tag"; + type = 14; + targetclasses = "MapSpot,MapSpotGravity"; + } + arg2 + { + title = "Fog"; + type = 11; + enum = "noyes"; + } + } + + 77 + { + title = "Teleport Group"; + id = "TeleportGroup"; + + arg0 + { + title = "Thing Tag"; + tooltip = "The TID of the actor(s) to teleport.\nIf 0, teleports the activator only."; + type = 14; + } + arg1 + { + title = "Source Teleport Dest. Tag"; + type = 14; + targetclasses = "TeleportDest,TeleportDest2,TeleportDest3"; + } + arg2 + { + title = "Target Teleport Dest. Tag"; + type = 14; + targetclasses = "TeleportDest,TeleportDest2,TeleportDest3"; + } + arg3 + { + title = "Move Source"; + type = 11; + enum = "noyes"; + } + arg4 + { + title = "Fog"; + type = 11; + enum = "noyes"; + } + } + + 78 + { + title = "Teleport in Sector"; + id = "TeleportInSector"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Source Tag"; + tooltip = "The spot relative to which to teleport."; + type = 14; + } + arg2 + { + title = "Target Teleport Dest. Tag"; + type = 14; + targetclasses = "TeleportDest,TeleportDest2,TeleportDest3"; + } + arg3 + { + title = "Fog"; + type = 11; + enum = "noyes"; + } + arg4 + { + title = "Group Thing Tag"; + tooltip = "The TID of the thing(s) to teleport.\nIf 0, teleports all actors in the sector"; + type = 14; + } + } + + 154 + { + title = "Teleport (no Stop)"; + id = "Teleport_NoStop"; + + arg0 + { + title = "Target Teleport Dest. Tag"; + type = 14; + targetclasses = "TeleportDest,TeleportDest2,TeleportDest3"; + } + arg1 + { + title = "Target Sector Tag"; + type = 13; + } + arg2 + { + title = "Fog"; + type = 11; + enum = "yesno"; + } + } + + 215 + { + title = "Teleport to Line"; + id = "Teleport_Line"; + + arg1 + { + title = "Target Line Tag"; + type = 15; + } + arg2 + { + title = "Reverse Angle"; + type = 11; + enum = "noyes"; + } + } +} + +thing +{ + include("Hexen_linedefs.cfg", "thing"); + + 17 + { + title = "Thing Raise"; + id = "Thing_Raise"; + + arg0 + { + title = "Thing Tag"; + type = 14; + } + } + + 19 + { + title = "Thing Stop"; + id = "Thing_Stop"; + + arg0 + { + title = "Thing Tag"; + type = 14; + } + } + + 72 // ThrustThing + { + arg3 + { + title = "Target Thing Tag"; + type = 14; + } + } + + 73 // DamageThing + { + arg1 + { + title = "Death"; + type = 11; + enum = "death_types"; + } + } + + 119 + { + title = "Damage Thing by Tag"; + id = "Thing_Damage"; + + arg0 + { + title = "Thing Tag"; + type = 14; + } + arg1 + { + title = "Damage"; + default = 100; + } + arg2 + { + title = "Death"; + type = 11; + enum = "death_types"; + } + } + + 125 + { + title = "Move Thing"; + id = "Thing_Move"; + + arg0 + { + title = "Thing Tag"; + type = 14; + } + arg1 + { + title = "Target Thing Tag"; + type = 14; + } + arg2 + { + title = "Fog"; + type = 11; + enum = "yesno"; + } + } + + 127 + { + title = "Thing Set Special"; + id = "Thing_SetSpecial"; + + arg0 + { + title = "Thing Tag"; + type = 14; + } + arg1 + { + title = "Special"; + type = 4; + } + arg2 + { + title = "Arg 1"; + } + arg3 + { + title = "Arg 2"; + } + arg4 + { + title = "Arg 3"; + } + } + + 128 + { + title = "Thing Thrust Z"; + id = "ThrustThingZ"; + + arg0 + { + title = "Thing Tag"; + type = 14; + } + arg1 + { + title = "Force"; + } + arg2 + { + title = "Down/Up"; + type = 11; + enum = "updown"; + } + arg3 + { + title = "Set/Add"; + type = 11; + enum = "setadd"; + } + } + + 135 // Thing_Spawn + { + arg3 + { + title = "New Thing Tag"; + type = 14; + } + } + + 137 // Thing_SpawnNoFog + { + arg3 + { + title = "New Thing Tag"; + type = 14; + } + } + + 139 + { + title = "Spawn Thing Facing"; + id = "Thing_SpawnFacing"; + + arg0 + { + title = "Mapspot Tag"; + type = 14; + targetclasses = "MapSpot,MapSpotGravity"; + } + arg1 + { + title = "Spawn Thing"; + type = 11; + enum = "spawnthing"; + } + arg2 + { + title = "Fog"; + type = 11; + enum = "yesno"; + } + arg3 + { + title = "New Thing Tag"; + type = 14; + } + } + + 175 + { + title = "Spawn Projectile (Intercept)"; + id = "Thing_ProjectileIntercept"; + + arg0 + { + title = "Mapspot Tag"; + type = 14; + targetclasses = "MapSpot,MapSpotGravity"; + } + arg1 + { + title = "Projectile Type"; + type = 11; + enum = "spawn_projectile"; + } + arg2 + { + title = "Speed"; + } + arg3 + { + title = "Target Thing Tag"; + type = 14; + } + arg4 + { + title = "New Thing Tag"; + type = 14; + } + } + + 176 + { + title = "Change Thing Tag"; + id = "Thing_ChangeTID"; + + arg0 + { + title = "Old Thing Tag"; + type = 14; + } + arg1 + { + title = "New Thing Tag"; + type = 14; + } + } + + 177 + { + title = "Thing Hate"; + id = "Thing_Hate"; + + arg0 + { + title = "Hater Tag"; + type = 14; + } + arg1 + { + title = "Hatee Tag"; + type = 14; + } + } + + 178 + { + title = "Spawn Aimed Projectile"; + id = "Thing_ProjectileAimed"; + + arg0 + { + title = "Mapspot Tag"; + type = 14; + targetclasses = "MapSpot,MapSpotGravity"; + } + arg1 + { + title = "Projectile Type"; + type = 11; + enum = "spawn_projectile"; + } + arg2 + { + title = "Speed"; + } + arg3 + { + title = "Target Thing Tag"; + type = 14; + } + arg4 + { + title = "New Thing Tag"; + type = 14; + } + } + + 248 + { + title = "Heal Thing"; + id = "HealThing"; + + arg0 + { + title = "Heal Amount"; + } + } +} + +end +{ + include("Hexen_linedefs.cfg", "end"); + + 243 + { + title = "End Normal"; + id = "Exit_Normal"; + + arg0 + { + title = "Position"; + } + } + + 244 + { + title = "End Secret"; + id = "Exit_Secret"; + + arg0 + { + title = "Position"; + } + } +} + +scroll +{ + title = "Scroll"; + + 52 + { + title = "Scroll Wall"; + id = "Scroll_Wall"; + requiresactivation = false; + + arg0 + { + title = "Line Tag"; + type = 15; + } + arg1 + { + title = "Horizontal speed"; + } + arg2 + { + title = "Vertical speed"; + } + arg3 + { + title = "Side"; + type = 11; + enum = "frontback"; + } + arg4 + { + title = "Flags"; + type = 12; + enum + { + 1 = "Scroll upper"; + 2 = "Scroll middle"; + 4 = "Scroll lower"; + } + } + } + + 222 + { + title = "Scroll Texture Model"; + id = "Scroll_Texture_Model"; + requiresactivation = false; + + arg1 + { + title = "Options"; + type = 12; + enum + { + 1 = "Displacement"; + 2 = "Accelerative"; + } + } + } + + 223 + { + title = "Scroll Floor"; + id = "Scroll_Floor"; + requiresactivation = false; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Options"; + type = 12; + enum + { + 1 = "Displacement"; + 2 = "Accelerative"; + 4 = "Scroll by linedef dx/dy"; + } + } + arg2 + { + title = "Scroll"; + type = 11; + enum + { + 0 = "Texture only"; + 1 = "Things only"; + 2 = "Both"; + } + } + arg3 + { + title = "Horizontal Speed"; + default = 128; + type = 11; + enum = "sector_scroll_speeds_x"; + } + arg4 + { + title = "Vertical Speed"; + default = 128; + type = 11; + enum = "sector_scroll_speeds_y"; + } + } + + 224 + { + title = "Scroll Ceiling"; + id = "Scroll_Ceiling"; + requiresactivation = false; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Options"; + type = 12; + enum + { + 1 = "Displacement"; + 2 = "Accelerative"; + 4 = "Scroll by linedef dx/dy"; + } + } + arg3 + { + title = "Horizontal Speed"; + default = 128; + type = 11; + enum = "sector_scroll_speeds_x"; + } + arg4 + { + title = "Vertical Speed"; + default = 128; + type = 11; + enum = "sector_scroll_speeds_y"; + } + } +} + +light +{ + include("Hexen_linedefs.cfg", "light"); + + 109 = NULL; + + 117 + { + title = "Light Stop"; + id = "Light_Stop"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + } + + 232 + { + title = "Light Strobe (Doom mode)"; + id = "Light_StrobeDoom"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Brightest Duration (tics)"; + type = 11; + enum = "delay_tics"; + default = 35; + } + arg2 + { + title = "Darkest Duration (tics)"; + type = 11; + enum = "delay_tics"; + default = 35; + } + } + + 233 + { + title = "Light Change to Darkest Neightbour"; + id = "Light_MinNeighbor"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + } + + 234 + { + title = "Light Change to Brightest Neightbour"; + id = "Light_MaxNeighbor"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + } +} + +earthquake +{ + include("Hexen_linedefs.cfg", "earthquake"); +} + +sector +{ + title = "Sector"; + + 54 + { + title = "Sector Change Flags"; + id = "Sector_ChangeFlags"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Set Flags"; + type = 12; + enum = "sector_flags"; + } + arg2 + { + title = "Clear Flags"; + type = 12; + enum = "sector_flags"; + } + } + + 58 + { + title = "Sector Copy Scroller"; + id = "Sector_CopyScroller"; + requiresactivation = false; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Scroller Type"; + type = 12; + enum + { + 1 = "Copy ceiling scroller"; + 2 = "Copy floor scroller"; + 4 = "Copy carrying effect"; + } + } + } + + 185 + { + title = "Sector Rotate Flat"; + id = "Sector_SetRotation"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Floor Angle"; + type = 8; + } + arg2 + { + title = "Ceiling Angle"; + type = 8; + } + } + + 186 + { + title = "Sector Ceiling Panning"; + id = "Sector_SetCeilingPanning"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Horizontal Integral"; + } + arg2 + { + title = "Horizontal Fractional"; + } + arg3 + { + title = "Vertical Integral"; + } + arg4 + { + title = "Vertical Fractional"; + } + } + + 187 + { + title = "Sector Floor Panning"; + id = "Sector_SetFloorPanning"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Horizontal Integral"; + } + arg2 + { + title = "Horizontal Fractional"; + } + arg3 + { + title = "Vertical Integral"; + } + arg4 + { + title = "Vertical Fractional"; + } + } + + 188 + { + title = "Sector Ceiling Scale"; + id = "Sector_SetCeilingScale"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Horizontal Integral"; + } + arg2 + { + title = "Horizontal Fractional"; + } + arg3 + { + title = "Vertical Integral"; + } + arg4 + { + title = "Vertical Fractional"; + } + } + + 189 + { + title = "Sector Floor Scale"; + id = "Sector_SetFloorScale"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Horizontal Integral"; + } + arg2 + { + title = "Horizontal Fractional"; + } + arg3 + { + title = "Vertical Integral"; + } + arg4 + { + title = "Vertical Fractional"; + } + } + + 214 + { + title = "Sector Damage"; + id = "Sector_SetDamage"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Damage Amount"; + default = 15; + } + arg2 + { + title = "Death"; + type = 11; + enum = "death_types"; + } + } + + 216 + { + title = "Sector Gravity"; + id = "Sector_SetGravity"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Gravity Integral"; + } + arg2 + { + title = "Gravity Fractional"; + } + } + + 218 + { + title = "Sector Wind"; + id = "Sector_SetWind"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Wind Strength"; + } + arg2 + { + title = "Wind Angle"; + type = 22; + } + arg3 + { + title = "Use Line Vector"; + type = 11; + enum = "noyes"; + } + } + + 219 + { + title = "Sector Friction"; + id = "Sector_SetFriction"; + requiresactivation = false; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Friction Amount"; + type = 11; + enum + { + 0 = "Use Line Length"; + 1 = "Very Sludgy"; + 50 = "Sludgy"; + 100 = "Normal"; + 200 = "Icy"; + 255 = "Very Icy"; + } + } + } + + 220 + { + title = "Sector Current"; + id = "Sector_SetCurrent"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Current Strength"; + } + arg2 + { + title = "Current Angle"; + type = 22; + } + arg3 + { + title = "Use Line Vector"; + type = 11; + enum = "noyes"; + } + } +} + +alert +{ + title = "Alert"; + + 173 + { + title = "Alert monsters"; + id = "NoiseAlert"; + } +} + +point +{ + title = "Point"; + + 227 + { + title = "Point Pusher/Puller Set Force"; + id = "PointPush_SetForce"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Thing Tag"; + type = 14; + } + arg2 + { + title = "Strength"; + } + arg3 + { + title = "Use Line Vector"; + type = 11; + enum = "noyes"; + } + } +} + +elevator +{ + title = "Elevator"; + + 245 + { + title = "Elevator Raise to Nearest Floor"; + id = "Elevator_RaiseToNearest"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + + errorchecker + { + floorraisetonexthigher = true; + } + } + + 246 + { + title = "Elevator Move to Activated Floor"; + id = "Elevator_MoveToFloor"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + } + + 247 + { + title = "Elevator Lower to Nearest Floor"; + id = "Elevator_LowerToNearest"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + } +} + +colormap +{ + title = "Colormap"; + + 2701 + { + title = "Map Set Colormap"; + id = "Map_SetColormap"; + + arg0 + { + title = "(switch to string)"; + str = true; + titlestr = "Colormap"; + } + } + + 2702 + { + title = "Sector Set Colormap"; + id = "Sector_SetColormap"; + + arg0 + { + title = "(switch to string)"; + str = true; + titlestr = "Colormap"; + } + + arg1 + { + title = "Sector Tag"; + type = 13; + } + } +} diff --git a/udb/Includes/DSDADoom_misc.cfg b/udb/Includes/DSDADoom_misc.cfg new file mode 100644 index 000000000..a1ba41c1f --- /dev/null +++ b/udb/Includes/DSDADoom_misc.cfg @@ -0,0 +1,908 @@ +linedefflags +{ + twosided = "Doublesided"; + dontpegtop = "Upper unpegged"; + dontpegbottom = "Lower unpegged"; + blocking = "Impassable"; + blockeverything = "Block everything"; + blockplayers = "Block players"; + blockmonsters = "Block monsters"; + blocklandmonsters = "Block land monsters"; + blockfloaters = "Block floating monsters"; + blocksound = "Block sound"; + blockprojectiles = "Block projectiles"; + blockhitscan = "Block hitscans"; + blockuse = "Block use actions"; + blocksight = "Block monster line of sight"; + jumpover = "Jump-over railing"; + clipmidtex = "Clip middle texture"; + wrapmidtex = "Wrap middle texture"; + midtex3dimpassible = "Projectile shoot-through middle texture"; + midtex3d = "Walkable middle texture"; + mapped = "Initially shown on map"; + secret = "Shown as 1-sided on map"; + dontdraw = "Not shown on map"; + transparent = "Transparent (25% opacity)"; + translucent = "Translucent (obsolete)"; + monsteractivate = "Monster activates"; +} + +linedefactivations +{ + repeatspecial + { + name = "Repeatable action"; + istrigger = false; + } + 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 player hitscan/projectile impact"; + checkswitchrange + { + name = "Switch height check"; + istrigger = false; + } + passuse + { + name = "Pass use on"; + istrigger = false; + } + firstsideonly + { + name = "Front side only"; + istrigger = false; + } + playeruseback + { + name = "Player can use from back side"; + istrigger = false; + } +} + +// Linedef flags UDMF translation table +// This is needed for copy/paste and prefabs to work properly +// When the UDMF field name is prefixed with ! it is inverted +linedefflagstranslation +{ + include("Doom_misc.cfg", "linedefflagstranslation"); + include("Hexen_misc.cfg", "linedefflagstranslation"); + + 6144 = "playeruse,passuse"; //mxd + 7168 = "impact,missilecross"; //mxd + 16384 = "blockplayers"; +} + +sidedefflags +{ + clipmidtex = "Clip middle texture"; + wrapmidtex = "Wrap middle texture"; + smoothlighting = "Smooth lighting"; + nofakecontrast = "Even lighting"; +} + +thingflags +{ + skill1 = "Skill 1"; + skill2 = "Skill 2"; + skill3 = "Skill 3"; + skill4 = "Skill 4"; + skill5 = "Skill 5"; + single = "Singleplayer"; + coop = "Cooperative"; + dm = "Deathmatch"; + friend = "Friendly (MBF logic)"; + ambush = "Ambush players"; + dormant = "Dormant"; + translucent = "Translucent (25%)"; + invisible = "Invisible"; + countsecret = "Count as secret"; +} + +// How to compare thing flags (for the stuck things error checker) +thingflagscompare +{ + skills + { + skill1; + skill2; + skill3; + skill4; + skill5; + } + + gamemodes + { + single { requiredgroups = "skills"; } + coop { requiredgroups = "skills"; } + dm { ignoredgroups = "skills"; } + } +} + +//mxd. Thing flags UDMF translation table +// This is needed for copy/paste and prefabs to work properly +// When the UDMF field name is prefixed with ! it is inverted +thingflagstranslation +{ + include("Doom_misc.cfg", "thingflagstranslation"); + include("Hexen_misc.cfg", "thingflagstranslation"); + + 256 = "single"; + 512 = "coop"; + 1024 = "dm"; + 2048 = "translucent"; + 4096 = "invisible"; + 8192 = "friend"; +} + +// Default flags for first new thing +defaultthingflags +{ + skill1; + skill2; + skill3; + skill4; + skill5; + single; + coop; + dm; +} + +// Default thing filters +// (these are not required, just useful for new users) +thingsfilters +{ + 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; + } + } +} + +// Things flags masks +include("Hexen_misc.cfg", "thingflagsmasks"); + +/* +ADDITIONAL UNIVERSAL DOOM MAP FORMAT FIELD DEFINITIONS +Only add fields here that Doom Builder does not edit with its own user-interface! +The "default" field must match the UDMF specifications! + +Field data types: +0 = integer * +1 = float +2 = string +3 = bool +4 = linedef action (integer) * +5 = sector effect (integer) * +6 = texture (string) +7 = flat (string) +8 = angle in degrees (integer) +9 = angle in radians (float) +10 = XXRRGGBB color (integer) +11 = enum option (integer) * +12 = enum bits (integer) * +13 = sector tag (integer) * +14 = thing tag (integer) * +15 = linedef tag (integer) * +16 = enum option (string) +17 = angle in degrees (float) +22 = byte angle (integer) +*/ +universalfields +{ + linedef + { + comment + { + type = 2; + default = ""; + } + + health + { + type = 0; + default = 0; + managed = false; + } + + healthgroup + { + type = 0; + default = 0; + managed = false; + } + + // Should be moved to flags eventually + damagespecial + { + type = 3; + default = false; + managed = false; + } + + // Should be moved to flags eventually + deathspecial + { + type = 3; + default = false; + managed = false; + } + + automapstyle + { + type = 11; + default = 0; + enum + { + 0 = "Default"; + 1 = "One-sided wall"; + 2 = "Two-sided wall"; + 3 = "Floor levels of front and back sectors are different"; + 4 = "Ceiling levels of front and back sectors are different"; + 5 = "3D floor border"; + 6 = "Wall with special non-door action"; + 7 = "Secret door"; + 8 = "Wall not seen yet"; + 9 = "Locked door"; + 10 = "Intra-level teleporter"; + 11 = "Inter-level or game-ending teleporter"; + 12 = "Unexplored secret wall"; + 13 = "Portal line"; + } + managed = false; + } + + arg0str + { + type = 2; + default = ""; + } + + alpha + { + type = 1; + default = 1.0; + } + + locknumber + { + type = 0; + default = 0; + } + } + + sidedef + { + comment + { + type = 2; + default = ""; + } + + scalex_mid + { + type = 1; + default = 1.0; + } + + lightabsolute + { + type = 3; + default = false; + } + + offsetx_top + { + type = 1; + default = 0.0; + } + + scalex_bottom + { + type = 1; + default = 1.0; + } + + offsety_bottom + { + type = 1; + default = 0.0; + } + + offsetx_bottom + { + type = 1; + default = 0.0; + } + + scaley_bottom + { + type = 1; + default = 1.0; + } + + light + { + type = 0; + default = 0; + } + + offsetx_mid + { + type = 1; + default = 0.0; + } + + offsety_top + { + type = 1; + default = 0.0; + } + + scaley_top + { + type = 1; + default = 1.0; + } + + scaley_mid + { + type = 1; + default = 1.0; + } + + offsety_mid + { + type = 1; + default = 0.0; + } + + scalex_top + { + type = 1; + default = 1.0; + } + + light_top + { + type = 0; + default = 0; + } + + lightabsolute_top + { + type = 3; + default = false; + } + + light_mid + { + type = 0; + default = 0; + } + + lightabsolute_mid + { + type = 3; + default = false; + } + + light_bottom + { + type = 0; + default = 0; + } + + lightabsolute_bottom + { + type = 3; + default = false; + } + + xscroll + { + type = 1; + default = 0.0; + managed = false; + } + + yscroll + { + type = 1; + default = 0.0; + managed = false; + } + + xscrolltop + { + type = 1; + default = 0.0; + managed = false; + } + + yscrolltop + { + type = 1; + default = 0.0; + managed = false; + } + + xscrollmid + { + type = 1; + default = 0.0; + managed = false; + } + + yscrollmid + { + type = 1; + default = 0.0; + managed = false; + } + + xscrollbottom + { + type = 1; + default = 0.0; + managed = false; + } + + yscrollbottom + { + type = 1; + default = 0.0; + managed = false; + } + } + + thing + { + comment + { + type = 2; + default = ""; + } + + gravity + { + type = 1; + default = 0.0; + } + + alpha + { + type = 1; + default = 1.0; + } + + health + { + type = 1; + default = 1.0; + } + + arg0str + { + type = 2; + default = ""; + } + } + + sector + { + comment + { + type = 2; + default = ""; + } + + ypanningfloor + { + type = 1; + default = 0.0; + } + + xpanningfloor + { + type = 1; + default = 0.0; + } + + lightfloorabsolute + { + type = 3; + default = false; + } + + lightfloor + { + type = 0; + default = 0; + } + + damageinterval + { + type = 0; + default = 32; + } + + rotationceiling + { + type = 1; + default = 0.0; + } + + damageamount + { + type = 0; + default = 0; + } + + rotationfloor + { + type = 1; + default = 0.0; + } + + yscalefloor + { + type = 1; + default = 1.0; + } + + leakiness + { + type = 0; + default = 0; + } + + ypanningceiling + { + type = 1; + default = 0.0; + } + + lightceiling + { + type = 0; + default = 0; + } + + yscaleceiling + { + type = 1; + default = 1.0; + } + + gravity + { + type = 1; + default = 1.0; + } + + xpanningceiling + { + type = 1; + default = 0.0; + } + + xscaleceiling + { + type = 1; + default = 1.0; + } + + xscalefloor + { + type = 1; + default = 1.0; + } + + lightceilingabsolute + { + type = 3; + default = false; + } + + xscrollfloor + { + type = 1; + default = 0.0; + managed = false; + } + + yscrollfloor + { + type = 1; + default = 0.0; + managed = false; + } + + scrollfloormode + { + type = 12; + default = 0; + enum + { + 1 = "Affects textures"; + 2 = "Affects static objects"; + 4 = "Affects players"; + 8 = "Affects monsters"; + } + managed = false; + } + + xscrollceiling + { + type = 1; + default = 0.0; + managed = false; + } + + yscrollceiling + { + type = 1; + default = 0.0; + managed = false; + } + + scrollceilingmode + { + type = 12; + default = 0; + enum + { + 1 = "Affects textures"; + 2 = "Affects static objects"; + 4 = "Affects players"; + 8 = "Affects monsters"; + } + managed = false; + } + + xthrust + { + type = 1; + default = 0.0; + managed = false; + } + + ythrust + { + type = 1; + default = 0.0; + managed = false; + } + + thrustgroup + { + type = 12; + default = 0; + enum + { + 1 = "Affects static objects"; + 2 = "Affects players"; + 4 = "Affects monsters"; + 8 = "Affects projectiles"; + 16 = "Affects WINDTHRUST actors"; + } + managed = false; + } + + thrustlocation + { + type = 12; + default = 0; + enum + { + 1 = "Affects grounded actors"; + 2 = "Affects airborne actors"; + 4 = "Affects ceiling actors"; + } + managed = false; + } + + colormap + { + type = 2; + default = ""; + managed = false; + } + + skyfloor + { + type = 2; + default = ""; + managed = false; + } + + skyceiling + { + type = 2; + default = ""; + managed = false; + } + + frictionfactor + { + type = 1; + default = 0.90625; + managed = false; + } + + movefactor + { + type = 1; + default = 0.03125; + managed = false; + } + } +} + +// DEFAULT SECTOR BRIGHTNESS LEVELS +sectorbrightness +{ + 256; 248; 240; 232; 224; 216; 208; 200; 192; 184; 176; 168; 160; 152; 144; 136; + 128; 120; 112; 104; 96; 88; 80; 72; 64; 56; 48; 40; 32; 24; 16; 8; 0; +} + +// ENUMERATIONS +// Each engine has its own additional thing types +// These are enumerated lists for linedef types and UDMF fields. +enums +{ + // Basic game enums + include("Doom_misc.cfg", "enums"); + // Standard ZDoom enums + include("ZDoom_misc.cfg", "enums"); + // Additional ZDoom enums for that game + include("ZDoom_misc.cfg", "enums_doom"); + + sector_flags = null; + sector_flags + { + 1 = "Silent"; + 16 = "Boom Friction"; + 32 = "Boom Push / Pull"; + 256 = "End god mode"; + 512 = "End level"; + 1024 = "Hazard"; + 2048 = "No attack"; + } +} + +maplumpnames +{ + ~MAP + { + required = true; + blindcopy = true; + nodebuild = false; + } + + TEXTMAP + { + required = true; + nodebuild = true; + allowempty = true; + } + + ZNODES + { + required = false; + nodebuild = true; + allowempty = false; + } + + BLOCKMAP + { + required = false; + nodebuild = true; + allowempty = true; + } + + REJECT + { + required = false; + nodebuild = true; + allowempty = true; + } + + ENDMAP + { + required = true; + nodebuild = false; + allowempty = true; + } +} diff --git a/udb/Includes/DSDADoom_things.cfg b/udb/Includes/DSDADoom_things.cfg new file mode 100644 index 000000000..83d068a0b --- /dev/null +++ b/udb/Includes/DSDADoom_things.cfg @@ -0,0 +1,243 @@ +teleports +{ + 9043 + { + title = "Teleport (Z Height and Gravity)"; + sprite = "internal:teleport"; + class = "TeleportDest3"; + } + + 9044 + { + title = "Teleport (Z Height)"; + sprite = "internal:teleport"; + class = "TeleportDest2"; + } +} + +zdoom +{ + color = 7; // Light Grey + arrow = 1; + title = "ZDoom"; + sort = 1; + width = 10; + height = 20; + hangs = 0; + blocking = 0; + fixedsize = true; + sprite = "internal:arrow"; + + 9300 + { + title = "Polyobject Anchor"; + sprite = "internal:anchor"; + class = "$PolyAnchor"; + fixedrotation = true; + error = 0; // Can be outside of map geometry + } + + 9301 + { + title = "Polyobject Start Spot"; + sprite = "internal:anchor"; + class = "$PolySpawn"; + fixedrotation = true; + } + + 9302 + { + title = "Polyobject Start Spot (crush)"; + sprite = "internal:anchor"; + class = "$PolySpawnCrush"; + fixedrotation = true; + } + + 9303 + { + title = "Polyobject Start Spot (hurts to touch)"; + sprite = "internal:anchor"; + class = "$PolySpawnHurt"; + fixedrotation = true; + } + + 9001 + { + title = "Map Spot"; + sprite = "internal:MapSpot"; + class = "MapSpot"; + } + + 9013 + { + title = "Map Spot (gravity)"; + sprite = "internal:MapSpotGravity"; + class = "MapSpotGravity"; + } +} + +sounds +{ + color = 7; + arrow = 0; + title = "Sounds"; + width = 10; + height = 20; + sort = 1; + blocking = 0; + hangs = 0; + fixedsize = true; + sprite = "internal:sound"; + + 14001 = "Ambient Sound 01"; + 14002 = "Ambient Sound 02"; + 14003 = "Ambient Sound 03"; + 14004 = "Ambient Sound 04"; + 14005 = "Ambient Sound 05"; + 14006 = "Ambient Sound 06"; + 14007 = "Ambient Sound 07"; + 14008 = "Ambient Sound 08"; + 14009 = "Ambient Sound 09"; + 14010 = "Ambient Sound 10"; + 14011 = "Ambient Sound 11"; + 14012 = "Ambient Sound 12"; + 14013 = "Ambient Sound 13"; + 14014 = "Ambient Sound 14"; + 14015 = "Ambient Sound 15"; + 14016 = "Ambient Sound 16"; + 14017 = "Ambient Sound 17"; + 14018 = "Ambient Sound 18"; + 14019 = "Ambient Sound 19"; + 14020 = "Ambient Sound 20"; + 14021 = "Ambient Sound 21"; + 14022 = "Ambient Sound 22"; + 14023 = "Ambient Sound 23"; + 14024 = "Ambient Sound 24"; + 14025 = "Ambient Sound 25"; + 14026 = "Ambient Sound 26"; + 14027 = "Ambient Sound 27"; + 14028 = "Ambient Sound 28"; + 14029 = "Ambient Sound 29"; + 14030 = "Ambient Sound 30"; + 14031 = "Ambient Sound 31"; + 14032 = "Ambient Sound 32"; + 14033 = "Ambient Sound 33"; + 14034 = "Ambient Sound 34"; + 14035 = "Ambient Sound 35"; + 14036 = "Ambient Sound 36"; + 14037 = "Ambient Sound 37"; + 14038 = "Ambient Sound 38"; + 14039 = "Ambient Sound 39"; + 14040 = "Ambient Sound 40"; + 14041 = "Ambient Sound 41"; + 14042 = "Ambient Sound 42"; + 14043 = "Ambient Sound 43"; + 14044 = "Ambient Sound 44"; + 14045 = "Ambient Sound 45"; + 14046 = "Ambient Sound 46"; + 14047 = "Ambient Sound 47"; + 14048 = "Ambient Sound 48"; + 14049 = "Ambient Sound 49"; + 14050 = "Ambient Sound 50"; + 14051 = "Ambient Sound 51"; + 14052 = "Ambient Sound 52"; + 14053 = "Ambient Sound 53"; + 14054 = "Ambient Sound 54"; + 14055 = "Ambient Sound 55"; + 14056 = "Ambient Sound 56"; + 14057 = "Ambient Sound 57"; + 14058 = "Ambient Sound 58"; + 14059 = "Ambient Sound 59"; + 14060 = "Ambient Sound 60"; + 14061 = "Ambient Sound 61"; + 14062 = "Ambient Sound 62"; + 14063 = "Ambient Sound 63"; + 14064 = "Ambient Sound 64"; + + 14065 + { + title = "Custom Ambient Sound"; + class = "AmbientSound"; + + arg0 + { + title = "Ambient Sound Index"; + } + } + + 14101 = "Music Changer 01"; + 14102 = "Music Changer 02"; + 14103 = "Music Changer 03"; + 14104 = "Music Changer 04"; + 14105 = "Music Changer 05"; + 14106 = "Music Changer 06"; + 14107 = "Music Changer 07"; + 14108 = "Music Changer 08"; + 14109 = "Music Changer 09"; + 14110 = "Music Changer 10"; + 14111 = "Music Changer 11"; + 14112 = "Music Changer 12"; + 14113 = "Music Changer 13"; + 14114 = "Music Changer 14"; + 14115 = "Music Changer 15"; + 14116 = "Music Changer 16"; + 14117 = "Music Changer 17"; + 14118 = "Music Changer 18"; + 14119 = "Music Changer 19"; + 14120 = "Music Changer 20"; + 14121 = "Music Changer 21"; + 14122 = "Music Changer 22"; + 14123 = "Music Changer 23"; + 14124 = "Music Changer 24"; + 14125 = "Music Changer 25"; + 14126 = "Music Changer 26"; + 14127 = "Music Changer 27"; + 14128 = "Music Changer 28"; + 14129 = "Music Changer 29"; + 14130 = "Music Changer 30"; + 14131 = "Music Changer 31"; + 14132 = "Music Changer 32"; + 14133 = "Music Changer 33"; + 14134 = "Music Changer 34"; + 14135 = "Music Changer 35"; + 14136 = "Music Changer 36"; + 14137 = "Music Changer 37"; + 14138 = "Music Changer 38"; + 14139 = "Music Changer 39"; + 14140 = "Music Changer 40"; + 14141 = "Music Changer 41"; + 14142 = "Music Changer 42"; + 14143 = "Music Changer 43"; + 14144 = "Music Changer 44"; + 14145 = "Music Changer 45"; + 14146 = "Music Changer 46"; + 14147 = "Music Changer 47"; + 14148 = "Music Changer 48"; + 14149 = "Music Changer 49"; + 14150 = "Music Changer 50"; + 14151 = "Music Changer 51"; + 14152 = "Music Changer 52"; + 14153 = "Music Changer 53"; + 14154 = "Music Changer 54"; + 14155 = "Music Changer 55"; + 14156 = "Music Changer 56"; + 14157 = "Music Changer 57"; + 14158 = "Music Changer 58"; + 14159 = "Music Changer 59"; + 14160 = "Music Changer 60"; + 14161 = "Music Changer 61"; + 14162 = "Music Changer 62"; + 14163 = "Music Changer 63"; + 14164 = "Music Changer 64"; + + 14165 + { + title = "Custom Music Changer"; + class = "MusicChanger"; + + arg0 + { + title = "MUSINFO Track Index"; + } + } +}