From c51ad812084c2894ec1beb5ef6e24a40d9d6741b Mon Sep 17 00:00:00 2001 From: MaxED Date: Mon, 4 Apr 2016 12:09:38 +0000 Subject: [PATCH] Added, Game configurations: added "targetclasses" argument property. Can be used with argument type 14 (Thing Tag). When set, only things of given classes will be shown in the argument dropdown list in Edit Things window. Changed, Classic modes: when "Fixed Things Scale" option is enabled, things will now switch to fixed size rendering mode when their visible size is less than 48 pixels. Changed, Classic modes: changed the fixed size of things with FixedSize setting to 28 pixels. Updated documentation ("targetclasses" argument property). --- .../Configurations/Includes/GZDoom_things.cfg | 480 ++ .../Includes/Hexen_linedefs.cfg | 2196 +++++++++ .../Configurations/Includes/Hexen_things.cfg | 1641 +++++++ .../Includes/ZDoom_linedefs.cfg | 4356 +++++++++++++++++ Help/gc_argumentsettings.html | 110 + Source/Core/Config/ArgumentInfo.cs | 15 + Source/Core/Config/ThingTypeInfo.cs | 15 +- Source/Core/Rendering/Renderer2D.cs | 88 +- Source/Core/Types/ThingTagHandler.cs | 16 +- 9 files changed, 8869 insertions(+), 48 deletions(-) diff --git a/Build/Configurations/Includes/GZDoom_things.cfg b/Build/Configurations/Includes/GZDoom_things.cfg index 185892c..e263133 100644 --- a/Build/Configurations/Includes/GZDoom_things.cfg +++ b/Build/Configurations/Includes/GZDoom_things.cfg @@ -1,3 +1,4 @@ +<<<<<<< HEAD gzdoom_lights { dynlights @@ -471,4 +472,483 @@ gzdoom blocking = 2; 5004 = "Map Spot (FraggleScript)"; } +======= +gzdoom_lights +{ + dynlights + { + color = 7; + arrow = 0; + title = "Dynamic Lights"; + sort = 1; + width = 0; + height = 0; + hangs = 0; + blocking = 0; + fixedsize = true; + sprite = "internal:light"; + + 9800 + { + title = "Light"; + arg0 + { + title = "Red"; + default = 255; + } + arg1 + { + title = "Green"; + default = 255; + } + arg2 + { + title = "Blue"; + default = 255; + } + arg3 + { + title = "Intensity"; + default = 64; + } + } + 9801 + { + title = "Pulse Light"; + fixedrotation = true; + arg0 + { + title = "Red"; + default = 255; + } + arg1 + { + title = "Green"; + default = 255; + } + arg2 + { + title = "Blue"; + default = 255; + } + arg3 + { + title = "Start intensity"; + default = 64; + } + arg4 + { + title = "End intensity"; + default = 32; + } + } + 9802 + { + title = "Flicker Light"; + fixedrotation = true; + arg0 + { + title = "Red"; + default = 255; + } + arg1 + { + title = "Green"; + default = 255; + } + arg2 + { + title = "Blue"; + default = 255; + } + arg3 + { + title = "Primary intensity"; + default = 64; + } + arg4 + { + title = "Secondary intensity"; + default = 32; + } + } + 9803 + { + title = "Sector Light"; + arg0 + { + title = "Red"; + default = 255; + } + arg1 + { + title = "Green"; + default = 255; + } + arg2 + { + title = "Blue"; + default = 255; + } + arg3 + { + title = "Intensity scale"; + default = 4; + } + } + 9804 + { + title = "Random Light"; + fixedrotation = true; + arg0 + { + title = "Red"; + default = 255; + } + arg1 + { + title = "Green"; + default = 255; + } + arg2 + { + title = "Blue"; + default = 255; + } + arg3 + { + title = "Minimal intensity"; + default = 32; + } + arg4 + { + title = "Maximal intensity"; + default = 64; + } + } + 9810 + { + title = "Additive Light"; + arg0 + { + title = "Red"; + default = 255; + } + arg1 + { + title = "Green"; + default = 255; + } + arg2 + { + title = "Blue"; + default = 255; + } + arg3 + { + title = "Intensity"; + default = 64; + } + } + 9811 + { + title = "Additive Pulse Light"; + fixedrotation = true; + arg0 + { + title = "Red"; + default = 255; + } + arg1 + { + title = "Green"; + default = 255; + } + arg2 + { + title = "Blue"; + default = 255; + } + arg3 + { + title = "Start intensity"; + default = 32; + } + arg4 + { + title = "End intensity"; + default = 64; + } + } + 9812 + { + title = "Additive Flicker Light"; + fixedrotation = true; + arg0 + { + title = "Red"; + default = 255; + } + arg1 + { + title = "Green"; + default = 255; + } + arg2 + { + title = "Blue"; + default = 255; + } + arg3 + { + title = "Primary intensity"; + default = 64; + } + arg4 + { + title = "Secondary intensity"; + default = 32; + } + } + 9813 + { + title = "Additive Sector Light"; + arg0 + { + title = "Red"; + default = 255; + } + arg1 + { + title = "Green"; + default = 255; + } + arg2 + { + title = "Blue"; + default = 255; + } + arg3 + { + title = "Intensity scale"; + default = 4; + } + } + 9814 + { + title = "Additive Random Light"; + fixedrotation = true; + arg0 + { + title = "Red"; + default = 255; + } + arg1 + { + title = "Green"; + default = 255; + } + arg2 + { + title = "Blue"; + default = 255; + } + arg3 + { + title = "Minimal intensity"; + default = 32; + } + arg4 + { + title = "Maximal intensity"; + default = 64; + } + } + 9820 + { + title = "Subtractive Light"; + arg0 + { + title = "Red"; + default = 255; + } + arg1 + { + title = "Green"; + default = 255; + } + arg2 + { + title = "Blue"; + default = 255; + } + arg3 + { + title = "Radius"; + default = 64; + } + } + 9821 + { + title = "Subtractive Pulse Light"; + fixedrotation = true; + arg0 + { + title = "Red"; + default = 255; + } + arg1 + { + title = "Green"; + default = 255; + } + arg2 + { + title = "Blue"; + default = 255; + } + arg3 + { + title = "Start intensity"; + default = 32; + } + arg4 + { + title = "End intensity"; + default = 64; + } + } + 9822 + { + title = "Subtractive Flicker Light"; + fixedrotation = true; + arg0 + { + title = "Red"; + default = 255; + } + arg1 + { + title = "Green"; + default = 255; + } + arg2 + { + title = "Blue"; + default = 255; + } + arg3 + { + title = "Primary intensity"; + default = 32; + } + arg4 + { + title = "Secondary intensity"; + default = 64; + } + } + 9823 + { + title = "Subtractive Sector Light"; + arg0 + { + title = "Red"; + default = 255; + } + arg1 + { + title = "Green"; + default = 255; + } + arg2 + { + title = "Blue"; + default = 255; + } + arg3 + { + title = "Intensity scale"; + default = 4; + } + } + 9824 + { + title = "Subtractive Random Light"; + fixedrotation = true; + arg0 + { + title = "Red"; + default = 255; + } + arg1 + { + title = "Green"; + default = 255; + } + arg2 + { + title = "Blue"; + default = 255; + } + arg3 + { + title = "Minimal intensity"; + default = 32; + } + arg4 + { + title = "Maximal intensity"; + default = 64; + } + } + 9825 = "Vavoom Light (obsolete)"; + 1502 + { + title = "Vavoom Light"; + arg0 + { + title = "Radius"; + default = 16; + } + } + 1503 + { + title = "Vavoom Light Color"; + arg0 + { + title = "Radius"; + default = 16; + } + arg1 + { + title = "Red"; + default = 255; + } + arg2 + { + title = "Green"; + default = 255; + } + arg3 + { + title = "Blue"; + default = 255; + } + } + } +} + +gzdoom +{ + zdoom + { + 5004 + { + title = "Map Spot (FraggleScript)"; + sprite = "internal:MapSpot"; + class = "FS_MapSpot"; + } + } +>>>>>>> dddb1bbf (Added, Game configurations: added "targetclasses" argument property. Can be used with argument type 14 (Thing Tag). When set, only things of given classes will be shown in the argument dropdown list in Edit Things window.) } \ No newline at end of file diff --git a/Build/Configurations/Includes/Hexen_linedefs.cfg b/Build/Configurations/Includes/Hexen_linedefs.cfg index 7994c8f..4d4ba1b 100644 --- a/Build/Configurations/Includes/Hexen_linedefs.cfg +++ b/Build/Configurations/Includes/Hexen_linedefs.cfg @@ -1,3 +1,4 @@ +<<<<<<< HEAD misc { @@ -2185,3 +2186,2198 @@ sector } } +======= + +misc +{ + + 0 + { + title = "None"; + } +} + + +polyobj +{ + title = "Polyobj"; + + 1 + { + title = "Polyobj Start Line"; + id = "Polyobj_StartLine"; + requiresactivation = false; + + arg0 + { + title = "Polyobj Number"; + } + + arg1 + { + title = "Mirror Polyobj Number"; + } + + arg2 + { + title = "Sound Number"; + } + } + + 2 + { + title = "Polyobj Rotate Left"; + id = "Polyobj_RotateLeft"; + + arg0 + { + title = "Polyobj Number"; + } + + arg1 + { + title = "Rotation Speed"; + type = 11; + enum = "stair_speeds"; + default = 16; + } + + arg2 + { + title = "Target Angle"; + type = 11; + enum = "polyobj_angles"; + } + } + + 3 + { + title = "Polyobj Rotate Right"; + id = "Polyobj_RotateRight"; + + arg0 + { + title = "Polyobj Number"; + } + + arg1 + { + title = "Rotation Speed"; + type = 11; + enum = "stair_speeds"; + default = 16; + } + + arg2 + { + title = "Target Angle"; + type = 11; + enum = "polyobj_angles"; + } + } + + 4 + { + title = "Polyobj Move"; + id = "Polyobj_Move"; + + arg0 + { + title = "Polyobj Number"; + } + + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "stair_speeds"; + default = 16; + } + + arg2 + { + title = "Movement Angle"; + type = 22; + } + + arg3 + { + title = "Movement Distance"; + default = 64; + } + } + + 5 + { + title = "Polyobj Explicit Line"; + id = "Polyobj_ExplicitLine"; + requiresactivation = false; + + arg0 + { + title = "Polyobj Number"; + } + + arg1 + { + title = "Rendering order"; + } + + arg2 + { + title = "Mirror Polyobj Number"; + } + + arg3 + { + title = "Sound Number"; + } + } + + 6 + { + title = "Polyobj Move (* 8)"; + id = "Polyobj_MoveTimes8"; + + arg0 + { + title = "Polyobj Number"; + } + + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "stair_speeds"; + default = 16; + } + + arg2 + { + title = "Movement Angle"; + type = 22; + } + + arg3 + { + title = "Movement Dist. * 8"; + default = 8; + } + } + + 7 + { + title = "Polyobj Door Swing"; + id = "Polyobj_DoorSwing"; + + arg0 + { + title = "Polyobj Number"; + } + + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "polyobj_speeds"; + default = 16; + } + + arg2 + { + title = "Movement Angle"; + type = 22; + } + + arg3 + { + title = "Delay (tics)"; + type = 11; + enum = "delay_tics"; + default = 105; + } + } + + 8 + { + title = "Polyobj Door Slide"; + id = "Polyobj_DoorSlide"; + + arg0 + { + title = "Polyobj Number"; + } + + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "stair_speeds"; + default = 16; + } + + arg2 + { + title = "Movement Angle"; + type = 22; + } + + arg3 + { + title = "Movement Distance"; + default = 64; + } + + arg4 + { + title = "Delay"; + type = 11; + enum = "delay_tics"; + default = 105; + } + } + + 90 + { + title = "Polyobj Rotate Left (override)"; + id = "Polyobj_OR_RotateLeft"; + + arg0 + { + title = "Polyobj Number"; + } + + arg1 + { + title = "Rotation Speed"; + type = 11; + enum = "stair_speeds"; + default = 16; + } + + arg2 + { + title = "Target Angle"; + type = 11; + enum = "polyobj_angles"; + } + } + + 91 + { + title = "Polyobj Rotate Right (override)"; + id = "Polyobj_OR_RotateRight"; + + arg0 + { + title = "Polyobj Number"; + } + + arg1 + { + title = "Rotation Speed"; + type = 11; + enum = "stair_speeds"; + default = 16; + } + + arg2 + { + title = "Target Angle"; + type = 11; + enum = "polyobj_angles"; + } + } + + 92 + { + title = "Polyobj Move (override)"; + id = "Polyobj_OR_Move"; + + arg0 + { + title = "Polyobj Number"; + } + + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "stair_speeds"; + default = 16; + } + + arg2 + { + title = "Movement Angle"; + type = 22; + } + + arg3 + { + title = "Movement Distance"; + default = 64; + } + } + + 93 + { + title = "Polyobj Move (8mu, override)"; + id = "Polyobj_OR_MoveTimes8"; + + arg0 + { + title = "Polyobj Number"; + } + + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "stair_speeds"; + default = 16; + } + + arg2 + { + title = "Movement Angle"; + type = 22; + } + + arg3 + { + title = "Movement Distance * 8"; + default = 8; + } + } +} + + +line +{ + title = "Line"; + + 121 + { + title = "Line Identification"; + id = "Line_SetIdentification"; + + arg0 + { + title = "Line ID"; + } + } +} + + +door +{ + title = "Door"; + + 10 + { + title = "Door Close"; + id = "Door_Close"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "door_speeds"; + default = 32; + } + + arg2 + { + title = "Light Tag"; + type = 13; + } + } + + 11 + { + title = "Door Open"; + id = "Door_Open"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "door_speeds"; + default = 32; + } + + arg2 + { + title = "Light Tag"; + type = 13; + } + } + + 12 + { + title = "Door Raise"; + id = "Door_Raise"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "door_speeds"; + default = 32; + } + + arg2 + { + title = "Close Delay"; + type = 11; + enum = "reset_tics"; + default = 105; + } + + arg3 + { + title = "Light Tag"; + type = 13; + } + } + + 13 + { + title = "Door Locked Raise"; + id = "Door_LockedRaise"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "door_speeds"; + default = 32; + } + + arg2 + { + title = "Close Delay"; + type = 11; + enum = "reset_tics"; + default = 105; + } + + arg3 + { + title = "Key Number"; + type = 11; + enum = "keys"; + } + + arg4 + { + title = "Light Tag"; + type = 13; + } + } +} + + +floor +{ + title = "Floor"; + + 20 + { + title = "Floor Lower by Value"; + id = "Floor_LowerByValue"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "flat_speeds"; + default = 16; + } + + arg2 + { + title = "Lower by"; + } + } + + 21 + { + title = "Floor Lower to Lowest Floor"; + id = "Floor_LowerToLowest"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "flat_speeds"; + default = 16; + } + } + + 22 + { + title = "Floor Lower to Nearest Floor"; + id = "Floor_LowerToNearest"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "flat_speeds"; + default = 16; + } + } + + 23 + { + title = "Floor Raise by Value"; + id = "Floor_RaiseByValue"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "flat_speeds"; + default = 16; + } + + arg2 + { + title = "Raise by"; + } + } + + 24 + { + title = "Floor Raise to Highest Floor"; + id = "Floor_RaiseToHighest"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "flat_speeds"; + default = 16; + } + } + + 25 + { + title = "Floor Raise to Nearest Floor"; + id = "Floor_RaiseToNearest"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "flat_speeds"; + default = 16; + } + } + + 28 + { + title = "Floor Crusher Start"; + id = "Floor_RaiseAndCrush"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "flat_speeds"; + default = 16; + } + + arg2 + { + title = "Crush Damage"; + default = 100; + } + } + + 35 + { + title = "Floor Raise by Value * 8"; + id = "Floor_RaiseByValueTimes8"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "flat_speeds"; + default = 16; + } + + arg2 + { + title = "Raise by (* 8)"; + } + } + + 36 + { + title = "Floor Lower by Value * 8"; + id = "Floor_LowerByValueTimes8"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "flat_speeds"; + default = 16; + } + + arg2 + { + title = "Lower by (* 8)"; + } + } + + 46 + { + title = "Floor Crusher Stop"; + id = "Floor_CrushStop"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + } + + 66 + { + title = "Floor Lower Instantly by Value * 8"; + id = "Floor_LowerInstant"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + + arg2 + { + title = "Lower by (* 8)"; + } + } + + 67 + { + title = "Floor Raise Instantly by Value * 8"; + id = "Floor_RaiseInstant"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + + arg2 + { + title = "Raise by (* 8)"; + } + } + + 68 + { + title = "Floor Move to Value * 8"; + id = "Floor_MoveToValueTimes8"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "flat_speeds"; + default = 16; + } + + arg2 + { + title = "Target Height * 8"; + } + + arg3 + { + title = "Negative Height"; + type = 11; + enum = "noyes"; + } + } + + 95 + { + title = "Floor and Ceiling Lower by Value"; + id = "FloorAndCeiling_LowerByValue"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "flat_speeds"; + default = 16; + } + + arg2 + { + title = "Lower by"; + } + } + + 96 + { + title = "Floor and Ceiling Raise by Value"; + id = "FloorAndCeiling_RaiseByValue"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "flat_speeds"; + default = 16; + } + + arg2 + { + title = "Raise by"; + } + } +} + + +stairs +{ + title = "Stairs"; + + 26 + { + title = "Stairs Build Down"; + id = "Stairs_BuildDown"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "stair_speeds"; + default = 4; + } + + arg2 + { + title = "Step Height"; + default = 16; + } + + arg3 + { + title = "Build Step Delay"; + type = 11; + enum = "delay_tics"; + default = 35; + } + + arg4 + { + title = "Reset Delay"; + type = 11; + enum = "reset_tics"; + } + } + + 27 + { + title = "Stairs Build Up"; + id = "Stairs_BuildUp"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "stair_speeds"; + default = 4; + } + + arg2 + { + title = "Step Height"; + default = 16; + } + + arg3 + { + title = "Build Step Delay"; + type = 11; + enum = "delay_tics"; + default = 35; + } + + arg4 + { + title = "Reset Delay"; + type = 11; + enum = "reset_tics"; + } + } + + 31 + { + title = "Stairs Build Down (sync)"; + id = "Stairs_BuildDownSync"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "stair_speeds"; + default = 4; + } + + arg2 + { + title = "Step Height"; + default = 16; + } + + arg3 + { + title = "Reset Delay"; + type = 11; + enum = "reset_tics"; + } + } + + 32 + { + title = "Stairs Build Up (sync)"; + id = "Stairs_BuildUpSync"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "stair_speeds"; + default = 4; + } + + arg2 + { + title = "Step Height"; + default = 16; + } + + arg3 + { + title = "Reset Delay"; + type = 11; + enum = "reset_tics"; + } + } +} + + +pillar +{ + title = "Pillar"; + + 29 + { + title = "Pillar Build"; + id = "Pillar_Build"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + + arg2 + { + title = "Target Height (rel.)"; + } + } + + 30 + { + title = "Pillar Open"; + id = "Pillar_Open"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + + arg2 + { + title = "Lower Floor by"; + } + + arg3 + { + title = "Raise Ceiling by"; + } + } + + 94 + { + title = "Pillar Build and Crush"; + id = "Pillar_BuildAndCrush"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + + arg2 + { + title = "Movement Amount"; + } + } +} + + +ceiling +{ + title = "Ceiling"; + + 40 + { + title = "Ceiling Lower by Value"; + id = "Ceiling_LowerByValue"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + + arg2 + { + title = "Lower by"; + default = 64; + } + } + + 41 + { + title = "Ceiling Raise by Value"; + id = "Ceiling_RaiseByValue"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + + arg2 + { + title = "Raise by"; + default = 64; + } + } + + 42 + { + title = "Ceiling Crusher Start"; + id = "Ceiling_CrushAndRaise"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + + arg2 + { + title = "Crush Damage"; + default = 100; + } + } + + 43 + { + title = "Ceiling Crush Once"; + id = "Ceiling_LowerAndCrush"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + + arg2 + { + title = "Crush Damage"; + default = 100; + } + } + + 44 + { + title = "Ceiling Crusher Stop"; + id = "Ceiling_CrushStop"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + } + + 45 + { + title = "Ceiling Crush Once and Open"; + id = "Ceiling_CrushRaiseAndStay"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + + arg2 + { + title = "Crush Damage"; + default = 100; + } + } + + 69 + { + title = "Ceiling Move to Value * 8"; + id = "Ceiling_MoveToValueTimes8"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + + arg1 + { + title = "Movement Speed"; + type = 11; + enum = "plat_speeds"; + default = 16; + } + + arg2 + { + title = "Target Height * 8"; + } + + arg3 + { + title = "Negative Height"; + type = 11; + enum = "noyes"; + } + } +} + + +platform +{ + title = "Platform"; + + 60 + { + title = "Platform Perpetual Move"; + id = "Plat_PerpetualRaise"; + + 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 = 105; + } + } + + 61 + { + title = "Platform Stop"; + id = "Plat_Stop"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + } + + 62 + { + title = "Platform Lower Wait Raise"; + id = "Plat_DownWaitUpStay"; + + 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 = 105; + } + } + + 63 + { + title = "Platform Lower by Value * 8"; + id = "Plat_DownByValue"; + + 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 = 105; + } + + arg3 + { + title = "Lower by (* 8)"; + } + } + + 64 + { + title = "Platform Raise Wait Lower"; + id = "Plat_UpWaitDownStay"; + + 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 = 105; + } + } + + 65 + { + title = "Platform Raise by Value * 8"; + id = "Plat_UpByValue"; + + 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 = 105; + } + + arg3 + { + title = "Lower by (* 8)"; + } + } +} + + +teleport +{ + title = "Teleport"; + + 70 + { + title = "Teleport"; + id = "Teleport"; + + arg0 + { + title = "Target MapSpot Tag"; + type = 14; + targetclasses = "MapSpot,MapSpotGravity"; + } + + arg1 + { + title = "Target Sector Tag"; + type = 13; + } + } + + 71 + { + title = "Teleport (silent)"; + id = "Teleport_NoFog"; + + arg0 + { + title = "Target MapSpot Tag"; + type = 14; + targetclasses = "MapSpot,MapSpotGravity"; + } + + arg1 + { + title = "Keep Orientation"; + type = 11; + enum = "noyes"; + } + + arg2 + { + title = "Target Sector Tag"; + type = 13; + } + } + + 74 + { + title = "Teleport to Map"; + id = "Teleport_NewMap"; + + arg0 + { + title = "Map Number"; + } + + arg1 + { + title = "Tgt Player Start Arg0"; + } + } +} + + +thing +{ + title = "Thing"; + + 72 + { + title = "Thrust Thing"; + id = "ThrustThing"; + + arg0 + { + title = "Thrust Angle"; + type = 22; + } + + arg1 + { + title = "Thrust Force (mu. per tic)"; + } + } + + 73 + { + title = "Damage Thing"; + id = "DamageThing"; + + arg0 + { + title = "Damage Amount"; + } + } + + 130 + { + title = "Activate Thing"; + id = "Thing_Activate"; + + arg0 + { + title = "Thing Tag"; + type = 14; + } + } + + 131 + { + title = "Deactivate Thing"; + id = "Thing_Deactivate"; + + arg0 + { + title = "Thing Tag"; + type = 14; + } + } + + 132 + { + title = "Remove Thing"; + id = "Thing_Remove"; + + arg0 + { + title = "Thing Tag"; + type = 14; + } + } + + 133 + { + title = "Destroy Thing"; + id = "Thing_Destroy"; + + arg0 + { + title = "Thing Tag"; + type = 14; + } + arg1 + { + title = "Extreme Death"; + type = 11; + enum = "noyes"; + } + arg2 + { + title = "Sector Tag"; + type = 13; + } + + } + + 134 + { + title = "Spawn Projectile"; + id = "Thing_Projectile"; + + arg0 + { + title = "MapSpot Tag"; + type = 14; + targetclasses = "MapSpot,MapSpotGravity"; + } + + arg1 + { + title = "Projectile Type"; + type = 11; + enum = "spawn_projectile"; + } + + arg2 + { + title = "Movement Angle"; + type = 22; + } + + arg3 + { + title = "Horizontal Speed"; + } + + arg4 + { + title = "Vertical Speed"; + } + } + + 135 + { + title = "Spawn Thing"; + id = "Thing_Spawn"; + + arg0 + { + title = "MapSpot Tag"; + type = 14; + targetclasses = "MapSpot,MapSpotGravity"; + } + + arg1 + { + title = "Thing Type"; + type = 11; + enum = "spawnthing"; + } + + arg2 + { + title = "Thing Angle"; + type = 22; + } + } + + 136 + { + title = "Spawn Projectile (gravity)"; + id = "Thing_ProjectileGravity"; + + arg0 + { + title = "MapSpot Tag"; + type = 14; + targetclasses = "MapSpot,MapSpotGravity"; + } + + arg1 + { + title = "Projectile Type"; + type = 11; + enum = "spawn_projectile"; + } + + arg2 + { + title = "Movement Angle"; + type = 22; + } + + arg3 + { + title = "Horizontal Speed"; + } + + arg4 + { + title = "Vertical Speed"; + } + } + + 137 + { + title = "Spawn Thing (silent)"; + id = "Thing_SpawnNoFog"; + + arg0 + { + title = "Target MapSpot Tag"; + type = 14; + targetclasses = "MapSpot,MapSpotGravity"; + } + + arg1 + { + title = "Thing Type"; + type = 11; + enum = "spawnthing"; + } + + arg2 + { + title = "Thing Angle"; + type = 22; + } + } +} + + +end +{ + title = "End"; + + 75 + { + title = "End Game"; + id = "Teleport_EndGame"; + } +} + + +script +{ + title = "Script"; + + 80 + { + title = "Script Execute"; + id = "ACS_Execute"; + + arg0 + { + title = "Script Number"; + } + + arg1 + { + title = "Map Number"; + } + + arg2 + { + title = "Script Argument 1"; + } + + arg3 + { + title = "Script Argument 2"; + } + + arg4 + { + title = "Script Argument 3"; + } + } + + 81 + { + title = "Script Suspend"; + id = "ACS_Suspend"; + + arg0 + { + title = "Script Number"; + } + + arg1 + { + title = "Map Number"; + } + } + + 82 + { + title = "Script Terminate"; + id = "ACS_Terminate"; + + arg0 + { + title = "Script Number"; + } + + arg1 + { + title = "Map Number"; + } + } + + 83 + { + title = "Script Locked Execute"; + id = "ACS_LockedExecute"; + + arg0 + { + title = "Script Number"; + } + + arg1 + { + title = "Map Number"; + } + + arg2 + { + title = "Script Argument 1"; + } + + arg3 + { + title = "Script Argument 2"; + } + + arg4 + { + title = "Key Number"; + type = 11; + enum = "keys"; + } + } +} + + +scroll +{ + title = "Scroll"; + + 100 + { + title = "Scroll Texture Left"; + id = "Scroll_Texture_Left"; + requiresactivation = false; + + arg0 + { + title = "Scroll Speed"; + type = 11; + enum = "scroll_speeds"; + default = 64; + } + } + + 101 + { + title = "Scroll Texture Right"; + id = "Scroll_Texture_Right"; + requiresactivation = false; + + arg0 + { + title = "Scroll Speed"; + type = 11; + enum = "scroll_speeds"; + default = 64; + } + } + + 102 + { + title = "Scroll Texture Up"; + id = "Scroll_Texture_Up"; + requiresactivation = false; + + arg0 + { + title = "Scroll Speed"; + type = 11; + enum = "scroll_speeds"; + default = 64; + } + } + + 103 + { + title = "Scroll Texture Down"; + id = "Scroll_Texture_Down"; + requiresactivation = false; + + arg0 + { + title = "Scroll Speed"; + type = 11; + enum = "scroll_speeds"; + default = 64; + } + } +} + + +light +{ + title = "Light"; + + 110 + { + title = "Light Raise by Value"; + id = "Light_RaiseByValue"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + + arg1 + { + title = "Raise by"; + } + } + + 111 + { + title = "Light Lower by Value"; + id = "Light_LowerByValue"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + + arg1 + { + title = "Lower by"; + } + } + + 112 + { + title = "Light Change to Value"; + id = "Light_ChangeToValue"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + + arg1 + { + title = "Target Brightness"; + } + } + + 113 + { + title = "Light Fade"; + id = "Light_Fade"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + + arg1 + { + title = "Target Brightness"; + default = 128; + } + + arg2 + { + title = "Fade Duration (tics)"; + type = 11; + enum = "delay_tics"; + default = 105; + } + } + + 114 + { + title = "Light Glow"; + id = "Light_Glow"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + + arg1 + { + title = "Brightest Level"; + default = 255; + } + + arg2 + { + title = "Darkest Level"; + default = 128; + } + + arg3 + { + title = "Fade Duration (tics)"; + type = 11; + enum = "delay_tics"; + default = 105; + } + } + + 115 + { + title = "Light Flicker"; + id = "Light_Flicker"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + + arg1 + { + title = "Brightest Level"; + default = 255; + } + + arg2 + { + title = "Darkest Level"; + default = 128; + } + } + + 116 + { + title = "Light Strobe"; + id = "Light_Strobe"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + + arg1 + { + title = "Brightest Level"; + default = 255; + } + + arg2 + { + title = "Darkest Level"; + default = 128; + } + + arg3 + { + title = "Brightest Duration"; + type = 11; + enum = "delay_tics"; + default = 35; + } + + arg4 + { + title = "Darkest Duration"; + type = 11; + enum = "delay_tics"; + default = 35; + } + } +} + + +earthquake +{ + title = "Earthquake"; + + 120 + { + title = "Earthquake"; + id = "Radius_Quake"; + + arg0 + { + title = "Intensity (1-9)"; + default = 2; + } + + arg1 + { + title = "Duration (tics)"; + type = 11; + enum = "delay_tics"; + default = 150; + } + + arg2 + { + title = "Damage Radius * 64"; + default = 4; + } + + arg3 + { + title = "Tremor Radius * 64"; + default = 4; + } + + arg4 + { + title = "Focus Thing Tag"; + type = 14; + } + } +} + + +use +{ + title = "Use"; + + 129 + { + title = "Use Puzzle Item"; + id = "UsePuzzleItem"; + + arg0 + { + title = "Item Number"; + type = 11; + enum = "puzzle_items"; + } + + arg1 + { + title = "Script Number"; + } + + arg2 + { + title = "Script Argument 1"; + } + + arg3 + { + title = "Script Argument 2"; + } + + arg4 + { + title = "Script Argument 3"; + } + } +} + + +sector +{ + title = "Sector"; + + 140 + { + title = "Sector Change Sound"; + id = "Sector_ChangeSound"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + + arg1 + { + title = "Sound Number"; + } + } +} + +>>>>>>> dddb1bbf (Added, Game configurations: added "targetclasses" argument property. Can be used with argument type 14 (Thing Tag). When set, only things of given classes will be shown in the argument dropdown list in Edit Things window.) diff --git a/Build/Configurations/Includes/Hexen_things.cfg b/Build/Configurations/Includes/Hexen_things.cfg index ef47836..96a73eb 100644 --- a/Build/Configurations/Includes/Hexen_things.cfg +++ b/Build/Configurations/Includes/Hexen_things.cfg @@ -1,3 +1,4 @@ +<<<<<<< HEAD players { @@ -1626,3 +1627,1643 @@ other 9001 = "Map Spot"; 9013 = "Map Spot (gravity)"; } +======= + +players +{ + color = 10; // Light Green + arrow = 1; + title = "Player Starts"; + width = 16; + sort = 1; + error = 2; + blocking = 2; + + 1 + { + title = "Player 1 start"; + sprite = "CLERA1"; + } + 2 + { + title = "Player 2 start"; + sprite = "CLERA1"; + } + 3 + { + title = "Player 3 start"; + sprite = "CLERA1"; + } + 4 + { + title = "Player 4 start"; + sprite = "CLERA1"; + } + 9100 + { + title = "Player 5 Start"; + sprite = "CLERA1"; + } + 9101 + { + title = "Player 6 Start"; + sprite = "CLERA1"; + } + 9102 + { + title = "Player 7 Start"; + sprite = "CLERA1"; + } + 9103 + { + title = "Player 8 Start"; + sprite = "CLERA1"; + } + 11 + { + title = "Player Deathmatch start"; + sprite = "CLERR0"; + } +} + +teleports +{ + color = 2; // Green + arrow = 1; + title = "Teleports"; + width = 16; + sort = 1; + blocking = 0; + + 14 + { + title = "Teleport Landing"; + sprite = "TELEA0"; + } + 140 + { + title = "Teleport Smoke"; + sprite = "TSMKA0"; + } +} + +monsters +{ + color = 12; // Light Red + arrow = 1; + title = "Monsters"; + width = 20; + sort = 1; + error = 2; + blocking = 2; + + 107 + { + title = "Centaur"; + sprite = "CENTA1"; + } + 10060 + { + title = "Affrit"; + sprite = "FDMNA1"; + } + 115 + { + title = "Slaughtaur"; + sprite = "CENTF1"; + } + 34 + { + title = "Reiver"; + sprite = "WRTHA1"; + } + 10011 + { + title = "Reiver (buried)"; + sprite = "WRTHA1"; + } + 254 + { + title = "Dragon Lich"; + sprite = "DRAGC1"; + arg0 + { + title = "Destination Thing Tag"; + type = 14; + } + arg1 + { + title = "Destination Thing Tag"; + type = 14; + } + arg2 + { + title = "Destination Thing Tag"; + type = 14; + } + arg3 + { + title = "Destination Thing Tag"; + type = 14; + } + arg4 + { + title = "Destination Thing Tag"; + type = 14; + } + } + 10030 + { + title = "Ettin"; + sprite = "ETTNA1"; + width = 25; + } + 8020 + { + title = "Wendigo"; + sprite = "ICEYA1"; + width = 22; + } + 31 + { + title = "Green Chaos Serpent"; + sprite = "DEMNA1"; + width = 32; + } + 8080 + { + title = "Brown Chaos Serpent"; + sprite = "DEM2A1"; + width = 32; + } + 114 + { + title = "Dark Bishop"; + sprite = "BISHA1"; + width = 22; + } + 121 + { + title = "Stalker"; + sprite = "SSPTB0"; + width = 32; + } + 120 + { + title = "Stalker Boss"; + sprite = "SSPTD0"; + width = 32; + } + 10100 + { + title = "Zedek (fighter)"; + sprite = "PLAYE8"; + width = 16; + } + 10101 + { + title = "Traductus (cleric)"; + sprite = "CLERE8"; + width = 16; + } + 10102 + { + title = "Menelkir (mage)"; + sprite = "MAGEE8"; + width = 16; + } + 10080 + { + title = "Heresiarch"; + sprite = "SORCA1"; + width = 40; + } + 10200 + { + title = "Korax"; + sprite = "KORXA1"; + width = 65; + } +} + +weapons +{ + color = 14; // Yellow + arrow = 0; + title = "Weapons"; + width = 20; + sort = 1; + blocking = 0; + + 10 + { + title = "Serpent Staff"; + sprite = "WCSSA0"; + } + 8010 + { + title = "Timon's Axe"; + sprite = "WFAXA0"; + } + 53 + { + title = "Frost Shards"; + sprite = "WMCSA0"; + } + 8009 + { + title = "Firestorm"; + sprite = "WCFMA0"; + } + 123 + { + title = "Hammer Of Retribution"; + sprite = "WFHMA0"; + } + 8040 + { + title = "Arc Of Death"; + sprite = "WMLGG0"; + } + 18 + { + title = "Wraithverge Piece 1"; + sprite = "WCH1A0"; + } + 19 + { + title = "Wraithverge Piece 2"; + sprite = "WCH2A0"; + } + 20 + { + title = "Wraithverge Piece 3"; + sprite = "WCH3A0"; + } + 12 + { + title = "Quietus Piece 1"; + sprite = "WFR1A0"; + } + 13 + { + title = "Quietus Piece 2"; + sprite = "WFR2A0"; + } + 16 + { + title = "Quietus Piece 3"; + sprite = "WFR3A0"; + } + 21 + { + title = "BloodScourge Piece 1"; + sprite = "WMS1A0"; + } + 22 + { + title = "BloodScourge Piece 2"; + sprite = "WMS2A0"; + } + 23 + { + title = "BloodScourge Piece 3"; + sprite = "WMS3A0"; + } +} + +ammunition +{ + color = 6; // Brown + arrow = 0; + title = "Mana"; + width = 8; + sort = 1; + blocking = 0; + + 122 + { + title = "Blue Mana"; + sprite = "MAN1H0"; + } + 124 + { + title = "Green Mana"; + sprite = "MAN2H0"; + } + 8004 + { + title = "Combined Mana"; + sprite = "MAN3A0"; + } +} + +health +{ + color = 1; // Blue + arrow = 0; + title = "Health and Armor"; + width = 20; + sort = 1; + blocking = 0; + + 8005 + { + title = "Mesh Armor"; + sprite = "ARM1A0"; + } + 8006 + { + title = "Falcon Shield"; + sprite = "ARM2A0"; + } + 8007 + { + title = "Platinum Helm"; + sprite = "ARM3A0"; + } + 8008 + { + title = "Amulet Of Warding"; + sprite = "ARM4A0"; + } + 81 + { + title = "Crystal Vial"; + sprite = "PTN1A0"; + } +} + +powerups +{ + color = 9; // Light Blue + arrow = 0; + title = "Artifacts"; + width = 20; + height = 20; + sort = 1; + blocking = 0; + + 30 + { + title = "Porkalator"; + sprite = "PORKB0"; + } + 32 + { + title = "Mystic Urn"; + sprite = "SPHLA0"; + } + 33 + { + title = "Torch"; + sprite = "TRCHA0"; + } + 36 + { + title = "Chaos Device"; + sprite = "ATLPA0"; + } + 82 + { + title = "Quartz Flask"; + sprite = "PTN2A0"; + } + 83 + { + title = "Wings Of Wrath"; + sprite = "SOARA0"; + } + 84 + { + title = "Icon Of The Defender"; + sprite = "INVUA0"; + } + 86 + { + title = "Dark Servant"; + sprite = "SUMNA0"; + } + 10110 + { + title = "Disc Of Repulsion"; + sprite = "BLSTB0"; + } + 10120 + { + title = "Mystic Ambit Incant"; + sprite = "HRADB0"; + } + 10040 + { + title = "Banishment Device"; + sprite = "TELOA0"; + } + 8000 + { + title = "Flechette"; + sprite = "PSBGA0"; + } + 8002 + { + title = "Boots Of Speed"; + sprite = "SPEDB0"; + } + 8003 + { + title = "Krater Of Might"; + sprite = "BMANA0"; + } + 8041 + { + title = "Dragonskin Bracers"; + sprite = "BRACC0"; + } +} + +puzzle +{ + color = 7; // Light Grey + arrow = 1; + title = "Puzzle Items"; + width = 20; + sort = 1; + blocking = 0; + + 9002 + { + title = "Yorick's Skull"; + sprite = "ASKUA0"; + } + 9003 + { + title = "Heart Of D'Sparil"; + sprite = "ABGMA0"; + } + 9004 + { + title = "Ruby Planet"; + sprite = "AGMRA0"; + } + 9005 + { + title = "Emerald Planet 1"; + sprite = "AGMGA0"; + } + 9006 + { + title = "Sapphire Planet 1"; + sprite = "AGMBA0"; + } + 9007 + { + title = "Daemon Codex"; + sprite = "ABK1A0"; + } + 9008 + { + title = "Liber Obscura"; + sprite = "ABK2A0"; + } + 9009 + { + title = "Emerald Planet 2"; + sprite = "AGG2A0"; + } + 9010 + { + title = "Sapphire Planet 2"; + sprite = "AGMBA0"; + } + 9011 + { + title = "Yorick's Statue"; + sprite = "STWNA0"; + width = 10; + } + 9012 + { + title = "Pedestal Of D'Sparil"; + sprite = "GMPDA0"; + width = 10; + } + 9014 + { + title = "Flame mask"; + sprite = "ASK2A0"; + } + 9015 + { + title = "Glaive seal"; + sprite = "AFWPA0"; + } + 9016 + { + title = "Holy relic"; + sprite = "ACWPA0"; + width = 10; + } + 9017 + { + title = "Sigil of the magus"; + sprite = "AMWPA0"; + width = 10; + } + 9018 + { + title = "Clock Gear (steel)"; + sprite = "AGERA0"; + } + 9019 + { + title = "Clock Gear (bronze)"; + sprite = "AGR2A0"; + } + 9020 + { + title = "Clock Gear (steel and bronze)"; + sprite = "AGR3A0"; + } + 9021 + { + title = "Clock Gear (bronze and steel)"; + sprite = "AGR4A0"; + } +} + +keys +{ + color = 13; // Light Magenta + arrow = 0; + title = "Keys"; + width = 8; + sort = 1; + blocking = 0; + + 8030 + { + title = "Steel Key"; + sprite = "KEY1A0"; + } + 8031 + { + title = "Cave Key"; + sprite = "KEY2A0"; + } + 8032 + { + title = "Axe Key"; + sprite = "KEY3A0"; + } + 8033 + { + title = "Fire Key"; + sprite = "KEY4A0"; + } + 8034 + { + title = "Emerald Key"; + sprite = "KEY5A0"; + } + 8035 + { + title = "Dungeon Key"; + sprite = "KEY6A0"; + } + 8036 + { + title = "Silver Key"; + sprite = "KEY7A0"; + } + 8037 + { + title = "Rusty Key"; + sprite = "KEY8A0"; + } + 8038 + { + title = "Horn Key"; + sprite = "KEY9A0"; + } + 8039 + { + title = "Swamp Key"; + sprite = "KEYAA0"; + } + 8200 + { + title = "Castle Key"; + sprite = "KEYBA0"; + } +} + +obstacles +{ + color = 3; // Cyan + arrow = 0; + title = "Obstacles"; + width = 20; + sort = 1; + blocking = 2; + error = 2; + + 8064 + { + title = "Suit Of Armor"; + sprite = "SUITA0"; + width = 16; + arg0 + { + title = "Contained Item"; + type = 11; + enum = "spawnthing"; + } + } + 77 + { + title = "Battle Rag Banner"; + sprite = "BNR1A0"; + width = 8; + } + 8100 + { + title = "Barrel"; + sprite = "BARLA0"; + width = 15; + } + 8065 + { + title = "Bell"; + sprite = "BBLLA0"; + width = 56; + } + 103 + { + title = "Pillar With Vase"; + sprite = "VASEA0"; + width = 12; + } + 5 + { + title= "Winged Statue"; + sprite = "STTWA0"; + width = 10; + } + 98 + { + title = "Small Rock (brown)"; + sprite = "RKBSA0"; + width = 15; + } + 97 + { + title = "Big Rock (brown)"; + sprite = "RKBLA0"; + width = 17; + } + 99 + { + title = "Big Rock (grey)"; + sprite = "RKBKA0"; + } + 57 + { + title = "Stalactite (small)"; + sprite = "SLC3A0"; + width = 8; + hangs = 1; + } + 56 + { + title = "Stalactite (medium)"; + sprite = "SLC2A0"; + width = 6; + hangs = 1; + } + 52 + { + title = "Stalactite (large)"; + sprite = "SLC1A0"; + width = 8; + hangs = 1; + } + 48 + { + title = "Stalagmite (pillar)"; + sprite = "SGMPA0"; + width = 8; + } + 51 + { + title = "Stalagmite (small)"; + sprite = "SGM3A0"; + width = 8; + } + 50 + { + title = "Stalagmite (medium)"; + sprite = "SGM2A0"; + width = 6; + } + 49 + { + title = "Stalagmite (large)"; + sprite = "SGM1A0"; + width = 8; + } + 80 + { + title = "Gnarled Tree 1"; + sprite = "TRE6A0"; + width = 22; + } + 87 + { + title = "Gnarled Tree 2"; + sprite = "TRE7A0"; + width = 22; + } + 78 + { + title = "Tall Tree 1"; + sprite = "TRE5A0"; + width = 15; + } + 79 + { + title = "Tall Tree 2"; + sprite = "TRE4A0"; + width = 15; + } + 8067 + { + title = "Iron Maiden"; + sprite = "IRONA0"; + width = 12; + } + 63 + { + title = "Tombstone (RIP)"; + sprite = "TMS1A0"; + width = 10; + } + 64 + { + title = "Tombstone (Shane)"; + sprite = "TMS2A0"; + width = 10; + } + 65 + { + title = "Tombstone (slimy)"; + sprite = "TMS3A0"; + width = 10; + } + 66 + { + title = "Tombstone (Brian R)"; + sprite = "TMS4A0"; + width = 10; + } + 67 + { + title = "Tombstone (cross circle)"; + sprite = "TMS5A0"; + width = 10; + } + 68 + { + title = "Tombstone (small cross)"; + sprite = "TMS6A0"; + width = 8; + } + 69 + { + title = "Tombstone (Brian P)"; + sprite = "TMS7A0"; + width = 8; + } + 96 + { + title = "Ice Spike (tiny)"; + sprite = "ICM4A0"; + width = 4; + } + 95 + { + title = "Ice Spike (small)"; + sprite = "ICM3A0"; + width = 5; + } + 94 + { + title = "Ice Spike (medium)"; + sprite = "ICM2A0"; + width = 5; + } + 93 + { + title = "Ice Spike (large)"; + sprite = "ICM1A0"; + width = 8; + } + 92 + { + title = "Icicle (tiny)"; + sprite = "ICT4A0"; + width = 4; + hangs = 1; + } + 91 + { + title = "Icicle (small)"; + sprite = "ICT3A0"; + width = 4; + hangs = 1; + } + 90 + { + title = "Icicle (medium)"; + sprite = "ICT2A0"; + width = 5; + hangs = 1; + } + 89 + { + title = "Icicle (large)"; + sprite = "ICT1A0"; + width = 8; + hangs = 1; + } + 8068 + { + title = "Evergreen Tree"; + sprite = "XMASA0"; + width = 11; + } + 8062 + { + title = "Rotten Dead Tree (destructible)"; + sprite = "TRDTA0"; + width = 15; + } + 24 + { + title = "Dead Tree"; + sprite = "TRE1A0"; + width = 10; + } + 25 + { + title = "Leafless Tree"; + sprite = "TRE1A0"; + width = 15; + } + 60 + { + title = "Dead Tree (mossy)"; + sprite = "SWMVA0"; + width = 8; + } + 26 + { + title = "Mossy Tree 1"; + sprite = "TRE2A0"; + width = 10; + } + 27 + { + title = "Mossy Tree 2"; + sprite = "TRE3A0"; + width = 10; + } + 88 + { + title = "Log"; + sprite = "SLTRA0"; + } + 29 + { + title= "Tree Stump (bare)"; + sprite = "STM2A0"; + width = 12; + } + 28 + { + title= "Tree Stump (burned)"; + sprite = "STM1A0"; + width = 12; + } + 37 + { + title = "Tree Stump 1"; + sprite = "STM3A0"; + } + 38 + { + title = "Tree Stump 2"; + sprite = "STM4A0"; + } + 8051 + { + title = "Bronze Gargoyle (short)"; + sprite = "GAR8A0"; + width = 14; + } + 8047 + { + title = "Bronze Gargoyle (tall)"; + sprite = "GAR4A0"; + width = 14; + } + 8044 + { + title = "Rusty Gargoyle (tall)"; + sprite = "GAR1A0"; + width = 14; + } + 76 + { + title = "Ice Gargoyle (short)"; + sprite = "STT5A0"; + width = 14; + } + 73 + { + title = "Ice Gargoyle (tall)"; + sprite = "STT3A0"; + width = 14; + } + 8050 + { + title = "Lava Gargoyle (short)"; + sprite = "GAR7A0"; + width = 14; + } + 8046 + { + title = "Lava Gargoyle (tall)"; + sprite = "GAR3A0"; + width = 14; + } + 8049 + { + title = "Dark Lava Gargoyle (short)"; + sprite = "GAR6A0"; + width = 14; + } + 8045 + { + title = "Dark Lava Gargoyle (tall)"; + sprite = "GAR2A0"; + width = 14; + } + 74 + { + title = "Stone Gargoyle (short)"; + sprite = "STT4A0"; + width = 14; + } + 72 + { + title = "Stone Gargoyle (tall)"; + sprite = "STT2A0"; + width = 14; + } + 8052 + { + title = "Steel Gargoyle (short)"; + sprite = "GAR9A0"; + width = 14; + } + 8048 + { + title = "Steel Gargoyle (tall)"; + sprite = "GAR5A0"; + width = 14; + } +} + +lights +{ + color = 11; // Light Cyan + arrow = 0; + title = "Light sources"; + width = 20; + blocking = 2; + error = 2; + sort = 1; + + 17 + { + title = "Chandelier (lit)"; + sprite = "CDLRA0"; + hangs = 1; + } + 8063 + { + title = "Chandelier (unlit)"; + sprite = "CDLRD0"; + hangs = 1; + } + 8066 + { + title = "Blue Candle (lit)"; + sprite = "CANDA0"; + } + 8502 + { + title = "Candle With Web (unlit)"; + sprite = "TST3A0"; + } + 8503 + { + title = "Small Gray Candle (unlit)"; + sprite = "TST4A0"; + } + 8504 + { + title = "Small Candle (unlit)"; + sprite = "TST5A0"; + } + 119 + { + title = "3 Candles (lit)"; + sprite = "CNDLA0"; + } + 10500 + { + title = "Small Flame (timed)"; + sprite = "FFSMA0"; + } + 10501 + { + title = "Small Flame"; + sprite = "FFSMA0"; + } + 10502 + { + title = "Large Flame (timed)"; + sprite = "FFLGD0"; + } + 10503 + { + title = "Large Flame"; + sprite = "FFLGD0"; + } + 54 + { + title = "Wall Torch (lit)"; + sprite = "WLTRB0"; + } + 55 + { + title = "Wall Torch (unlit)"; + sprite = "WLTRI0"; + } + 8042 + { + title = "Minotaur Statue (lit)"; + sprite = "FBULB0"; + } + 8043 + { + title = "Minotaur Statue (unlit)"; + sprite = "FBULH0"; + } + 8069 + { + title = "Cauldron (lit)"; + sprite = "CDRNG0"; + width = 12; + } + 8070 + { + title = "Cauldron (unlit)"; + sprite = "CDRNA0"; + width = 12; + } + 8060 + { + title = "Skull With Flame"; + sprite = "FSKLA0"; + width = 5; + } + 8061 + { + title = "Brazier With Flame"; + sprite = "BRTRB0"; + width = 6; + } + 116 + { + title = "Twined Torch (lit)"; + sprite = "TWTRA0"; + width = 10; + } + 117 + { + title = "Twined Torch (unlit)"; + sprite = "TWTRI0"; + width = 10; + } +} + +decoration +{ + color = 4; // Red + arrow = 0; + title = "Decoration"; + width = 20; + sort = 1; + blocking = 0; + + 8071 + { + title = "Chain (short)"; + sprite = "CHNSA0"; + width = 4; + hangs = 1; + height = 32; + } + 8072 + { + title = "Chain (long)"; + sprite = "CHNSB0"; + width = 4; + hangs = 1; + height = 64; + } + 8073 + { + title = "Hook With Heart"; + sprite = "CHNSC0"; + width = 4; + hangs = 1; + } + 8077 + { + title = "Hook With Skull"; + sprite = "CHNSG0"; + width = 4; + hangs = 1; + } + 8074 + { + title = "Chain With Large Hook"; + sprite = "CHNSD0"; + width = 4; + hangs = 1; + height = 32; + } + 8075 + { + title = "Chain With Small Hook"; + sprite = "CHNSE0"; + width = 4; + hangs = 1; + height = 32; + } + 8076 + { + title = "Chain with Spike Ball"; + sprite = "CHNSF0"; + width = 4; + hangs = 1; + height = 32; + } + 8103 + { + title = "Hanging Bucket"; + sprite = "BCKTA0"; + width = 8; + hangs = 1; + height = 72; + blocking = 2; + error = 2; + } + 6 + { + title = "Tiny Rock (mossy)"; + sprite = "RCK1A0"; + } + 7 + { + title = "Small Rock (mossy)"; + sprite = "RCK2A0"; + } + 9 + { + title = "Medium Rock (mossy)"; + sprite = "RCK3A0"; + } + 15 + { + title = "Big Rock (mossy)"; + sprite = "RCK4A0"; + } + 101 + { + title = "Brick Rubble (small)"; + sprite = "RBL2A0"; + } + 102 + { + title = "Brick Rubble (medium)"; + sprite = "RBL3A0"; + } + 100 + { + title = "Brick Rubble (large)"; + sprite = "RBL1A0"; + } + 39 + { + title = "Large Mushroom 1"; + sprite = "MSH1A0"; + } + 40 + { + title = "Large Mushroom 2"; + sprite = "MSH2A0"; + } + 8104 + { + title = "Large Mushroom (explodes)"; + sprite = "SHRMB0"; + width = 6; + } + 41 + { + title = "Medium Mushroom"; + sprite = "MSH3A0"; + } + 42 + { + title = "Small Mushroom 1"; + sprite = "MSH4A0"; + } + 44 + { + title = "Small Mushroom 2"; + sprite = "MSH5A0"; + } + 45 + { + title = "Small Mushroom 3"; + sprite = "MSH6A0"; + } + 46 + { + title = "Small Mushroom 4"; + sprite = "MSH7A0"; + } + 47 + { + title = "Small Mushroom 5"; + sprite = "MSH8A0"; + } + 8101 + { + title = "Shrub"; + sprite = "SHB1A0"; + width = 8; + blocking = 2; + error = 2; + } + 8102 + { + title = "Shrub 2"; + sprite = "SHB2A0"; + width = 16; + blocking = 2; + error = 2; + } + 111 + { + title = "Pool Of Blood"; + sprite = "GIBSA0"; + } + 71 + { + title= "Hanging Corpse"; + sprite = "CPS3A0"; + width = 6; + hangs = 1; + height = 75; + blocking = 2; + error = 2; + } + 61 + { + title = "Impaled Corpse"; + sprite = "CPS1A0"; + width = 10; + height = 92; + blocking = 2; + error = 2; + } + 108 + { + title = "Lynched Corpse"; + sprite = "CPS4A0"; + width = 11; + hangs = 1; + height = 95; + blocking = 2; + error = 2; + } + 109 + { + title = "Lynched Corpse (heartless)"; + sprite = "CPS5A0"; + width = 10; + hangs = 1; + height = 95; + blocking = 2; + error = 2; + } + 110 + { + title = "Corpse (sitting)"; + sprite = "CPS6A0"; + width = 15; + height = 35; + blocking = 2; + error = 2; + } + 62 + { + title = "Corpse (sleeping)"; + sprite = "CPS2A0"; + } + 8509 + { + title = "Meat Cleaver"; + sprite = "TST0A0"; + } + 8508 + { + title = "Goblet (silver)"; + sprite = "TST9A0"; + } + 8507 + { + title = "Goblet (small)"; + sprite = "TST8A0"; + } + 8506 + { + title = "Goblet (tall)"; + sprite = "TST7A0"; + } + 8505 + { + title = "Goblet (spilled)"; + sprite = "TST6A0"; + } + 8501 + { + title = "Small Silver Stein"; + sprite = "TST2A0"; + } + 8500 + { + title = "Large Brown Stein"; + sprite = "TST1A0"; + } + 104 + { + title = "Pot (tall)"; + sprite = "POT1A0"; + width = 10; + blocking = 2; + error = 2; + arg0 + { + title = "Contained Item"; + type = 11; + enum = "spawnthing"; + } + } + 105 + { + title = "Pot (medium)"; + sprite = "POT2A0"; + width = 10; + blocking = 2; + error = 2; + arg0 + { + title = "Contained Item"; + type = 11; + enum = "spawnthing"; + } + } + 106 + { + title = "Pot (short)"; + sprite = "POT3A0"; + width = 15; + blocking = 2; + error = 2; + arg0 + { + title = "Contained Item"; + type = 11; + enum = "spawnthing"; + } + } + 58 + { + title = "Hanging Moss 1"; + sprite = "MSS1A0"; + hangs = 1; + } + 59 + { + title = "Hanging Moss 2"; + sprite = "MSS2A0"; + hangs = 1; + } + 10090 + { + title = "Spike Down"; + sprite = "TSPKD0"; + width = 20; + } + 10091 + { + title = "Spike Up"; + sprite = "TSPKB0"; + width = 20; + } +} + +sounds +{ + color = 5; // Purple + arrow = 1; + title = "Sounds"; + width = 8; + height = 16; + sort = 1; + fixedsize = true; + blocking = 0; + sprite = "internal:sound"; + + 1403 = "Creak"; + 1408 = "Earth Crack"; + 1401 = "Heavy"; + 1407 = "Ice"; + 1405 = "Lava"; + 1402 = "Metal"; + 1409 = "Metal2"; + 1404 = "Silent"; + 1400 = "Stone"; + 1406 = "Water"; + 1410 = "Wind"; +} + +other +{ + color = 8; // Dark Grey + arrow = 1; + title = "Other"; + width = 0; + height = 0; + sort = 1; + fixedsize = true; + blocking = 0; + sprite = "internal:actor"; + + 118 + { + title = "Glitter Bridge"; + width = 32; + fixedsize = false; + } + 3000 + { + title = "Polyobject Anchor"; + sprite = "internal:anchor"; + fixedrotation = true; + error = 0; // Can be outside of map geometry + } + 3001 + { + title = "Polyobject Start Spot"; + sprite = "internal:anchor"; + fixedrotation = true; + } + 3002 + { + title = "Polyobject Start Spot (crush)"; + sprite = "internal:anchor"; + fixedrotation = true; + } + 10225 + { + title = "Spawn Bat"; + sprite = "ABATC2C8"; + arg0 + { + title = "Spawn Frequency"; + } + arg1 + { + title = "Spread Angle"; + } + arg3 + { + title = "Spawn Duration"; + } + arg4 + { + title = "Changing Angle"; + } + } + 10000 + { + title = "Spawn Fog"; + arg0 + { + title = "Movement Speed"; + } + arg1 + { + title = "Spread Angle"; + } + arg2 + { + title = "Spawn Frequency"; + } + arg3 + { + title = "Fog Lifetime"; + } + } + 10001 + { + title = "Fog Patch (small)"; + arg0 + { + title = "Movement Speed"; + } + arg3 + { + title = "Fog Lifetime"; + } + arg4 + { + title = "Moving Fog"; + } + } + 10002 + { + title = "Fog Patch (medium)"; + arg0 + { + title = "Movement Speed"; + } + arg3 + { + title = "Fog Lifetime"; + } + arg4 + { + title = "Moving Fog"; + } + } + 10003 + { + title = "Fog Patch (large)"; + arg0 + { + title = "Movement Speed"; + } + arg3 + { + title = "Fog Lifetime"; + } + arg4 + { + title = "Moving Fog"; + } + } + 112 = "Spawn Fly"; + 113 = "Spawn Leaf"; + 9001 + { + title = "Map Spot"; + sprite = "internal:MapSpot"; + class = "MapSpot"; + } + 9013 + { + title = "Map Spot (gravity)"; + sprite = "internal:MapSpotGravity"; + class = "MapSpotGravity"; + } +} +>>>>>>> dddb1bbf (Added, Game configurations: added "targetclasses" argument property. Can be used with argument type 14 (Thing Tag). When set, only things of given classes will be shown in the argument dropdown list in Edit Things window.) diff --git a/Build/Configurations/Includes/ZDoom_linedefs.cfg b/Build/Configurations/Includes/ZDoom_linedefs.cfg index 6b6d89a..1083bc8 100644 --- a/Build/Configurations/Includes/ZDoom_linedefs.cfg +++ b/Build/Configurations/Includes/ZDoom_linedefs.cfg @@ -1,3 +1,4 @@ +<<<<<<< HEAD // NOTE: This config contains four structures for different linedefs systems: Doom, Hexen and UDMF. // The ZDoom structure is common to Hexen and UDMF and contains the bulk of the definitions. @@ -4341,3 +4342,4358 @@ udmf 121 = NULL; } } +======= + +// NOTE: This config contains four structures for different linedefs systems: Doom, Hexen and UDMF. +// The ZDoom structure is common to Hexen and UDMF and contains the bulk of the definitions. +// The Hexen and UDMF structures contain only the little tweaks needed for these formats. + +doom +{ + script + { + title = "Script"; + + 270 + { + title = "FraggleScript Execute"; + prefix = "WR"; + } + 273 + { + title = "FraggleScript Execute one-way"; + prefix = "WR"; + } + 274 + { + title = "FraggleScript Execute"; + prefix = "W1"; + } + 275 + { + title = "FraggleScript Execute one-way"; + prefix = "W1"; + } + 276 + { + title = "FraggleScript Execute"; + prefix = "SR"; + } + 277 + { + title = "FraggleScript Execute"; + prefix = "S1"; + } + 278 + { + title = "FraggleScript Execute"; + prefix = "GR"; + } + 279 + { + title = "FraggleScript Execute"; + prefix = "G1"; + } + } + sector + { + title = "Sector"; + + 280 + { + title = "Transfer height: swimmable water (Legacy compat)"; + prefix = ""; + } + 281 + { + title = "3D floor, Solid (Legacy compat)"; + prefix = ""; + } + 289 + { + title = "3D floor, no light (Legacy compat)"; + prefix = ""; + } + 300 + { + title = "3D floor, no light, half-translucent (Legacy compat)"; + prefix = ""; + } + 301 + { + title = "3D floor, Swimmable water, half-translucent (Legacy compat)"; + prefix = ""; + } + 302 + { + title = "3D floor, Fog zone, half-translucent (Legacy compat)"; + prefix = ""; + } + 303 + { + title = "3D floor, Fog zone, translucent (Legacy compat)"; + prefix = ""; + } + 304 + { + title = "3D floor, Swimmable water, opaque (Legacy compat)"; + prefix = ""; + } + 305 + { + title = "3D floor, light zone (Legacy compat)"; + prefix = ""; + } + 306 + { + title = "3D floor, Solid, translucent (Legacy compat)"; + prefix = ""; + } + 332 + { + title = "3D floor, Vavoom-style"; + prefix = ""; + } + 400 + { + title = "3D floor, Thick, dummy texture (EDGE compat)"; + prefix = ""; + } + 401 + { + title = "3D floor, Thick, master upper texture (EDGE compat)"; + prefix = ""; + } + 402 + { + title = "3D floor, Thick, master lower texture (EDGE compat)"; + prefix = ""; + } + 403 + { + title = "3D floor, Liquid, solid (EDGE compat)"; + prefix = ""; + } + 404 + { + title = "3D floor, Liquid, 20% translucent (EDGE compat)"; + prefix = ""; + } + 405 + { + title = "3D floor, Liquid, 40% translucent (EDGE compat)"; + prefix = ""; + } + 406 + { + title = "3D floor, Liquid, 60% translucent (EDGE compat)"; + prefix = ""; + } + 407 + { + title = "3D floor, Liquid, 80% translucent (EDGE compat)"; + prefix = ""; + } + 408 + { + title = "3D floor, Liquid, invisible (EDGE compat)"; + prefix = ""; + } + 413 + { + title = "3D floor, Thin, opaque (EDGE compat)"; + prefix = ""; + } + 414 + { + title = "3D floor, Thin, 20% translucent (EDGE compat)"; + prefix = ""; + } + 415 + { + title = "3D floor, Thin, 40% translucent (EDGE compat)"; + prefix = ""; + } + 416 + { + title = "3D floor, Thin, 60% translucent (EDGE compat)"; + prefix = ""; + } + 417 + { + title = "3D floor, Thin, 80% translucent (EDGE compat)"; + prefix = ""; + } + } + + scroll + { + 422 + { + title = "Scroll Right (EDGE compat)"; + prefix = ""; + } + 423 + { + title = "Scroll Up (EDGE compat)"; + prefix = ""; + } + 424 + { + title = "Scroll Down (EDGE compat)"; + prefix = ""; + } + 425 + { + title = "Scroll Left And Up (EDGE compat)"; + prefix = ""; + } + 426 + { + title = "Scroll Left And Down (EDGE compat)"; + prefix = ""; + } + 427 + { + title = "Scroll Right And Up (EDGE compat)"; + prefix = ""; + } + 428 + { + title = "Scroll Right And Down (EDGE compat)"; + prefix = ""; + } + } + + floor + { + 434 + { + title = "Floor Raise by 2 Units (EDGE compat)"; + prefix = "S1"; + } + 435 + { + title = "Floor Raise by 2 Units (EDGE compat)"; + prefix = "SR"; + } + 436 + { + title = "Floor Raise by 2 Units (EDGE compat)"; + prefix = "W1"; + } + 437 + { + title = "Floor Raise by 2 Units (EDGE compat)"; + prefix = "WR"; + } + 438 + { + title = "Floor Raise by 2 Units (EDGE compat)"; + prefix = "G1"; + } + 439 + { + title = "Floor Raise by 2 Units (EDGE compat)"; + prefix = "GR"; + } + } + translucent + { + title = "Translucent"; + + 284 + { + title = "Translucent line (50% opaque)"; + prefix = ""; + } + 285 + { + title = "Translucent line (75% opaque)"; + prefix = ""; + } + 286 + { + title = "Translucent line (25% opaque)"; + prefix = ""; + } + 287 + { + title = "Translucent line (additive)"; + prefix = ""; + } + 288 + { + title = "Translucent line (100% opaque)"; + prefix = ""; + } + 409 + { + title = "Translucent line (20% opaque)"; + prefix = ""; + } + 410 + { + title = "Translucent line (40% opaque)"; + prefix = ""; + } + 411 + { + title = "Translucent line (60% opaque)"; + prefix = ""; + } + 412 + { + title = "Translucent line (80% opaque)"; + prefix = ""; + } + } + init + { + title = "Init"; + + 282 + { + title = "Init Color (Legacy compat)"; + prefix = ""; + } + 333 + { + title = "Init Gravity"; + prefix = ""; + } + 334 + { + title = "Init Color"; + prefix = ""; + } + 335 + { + title = "Init Damage"; + prefix = ""; + } + } + line + { + title = "Line"; + + 336 + { + title = "Line Mirror"; + prefix = ""; + } + 337 + { + title = "Line Horizon"; + prefix = ""; + } + } + + floor + { + 338 + { + title = "Floor Waggle 24"; + prefix = "W1"; + } + 339 + { + title = "Floor Waggle 12"; + prefix = "W1"; + } + } + + plane + { + title = "Plane"; + + 340 + { + title = "Plane Align Floor at front"; + prefix = ""; + } + 341 + { + title = "Plane Align Ceiling at front"; + prefix = ""; + } + 342 + { + title = "Plane Align Floor and Ceiling at front"; + prefix = ""; + } + 343 + { + title = "Plane Align Floor at back"; + prefix = ""; + } + 344 + { + title = "Plane Align Ceiling at back"; + prefix = ""; + } + 345 + { + title = "Plane Align Floor and Ceiling at back"; + prefix = ""; + } + 346 + { + title = "Plane Align Floor at back and Ceiling at front"; + prefix = ""; + } + 347 + { + title = "Plane Align Floor at front and Ceiling at back"; + prefix = ""; + } + } + + autosave + { + title = "Autosave"; + + 348 + { + title = "Autosave"; + prefix = "W1"; + } + 349 + { + title = "Autosave"; + prefix = "S1"; + } + } + + transfer + { + title = "Transfer"; + + 350 + { + title = "Transfer height fake floor"; + prefix = ""; + } + 351 + { + title = "Transfer height fake floor clip"; + prefix = ""; + } + } + + scroll + { + 352 + { + title = "Copy ceiling scroller"; + prefix = ""; + } + 353 + { + title = "Copy floor scroller"; + prefix = ""; + } + 354 + { + title = "Copy carrying floor scroller"; + prefix = ""; + } + } +} + +zdoom +{ + polyobj + { + title = "Polyobject"; + + 59 + { + title = "Polyobj Move to Spot (override)"; + id = "Polyobj_OR_MoveToSpot"; + arg0 + { + title = "Polyobj Number"; + } + 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 = "Polyobj Move to Spot"; + id = "Polyobj_MoveToSpot"; + arg0 + { + title = "Polyobj Number"; + } + 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 = "Polyobj Stop"; + id = "Polyobj_Stop"; + arg0 + { + title = "Polyobj Number"; + } + } + 88 + { + title = "Polyobj Move to"; + id = "Polyobj_MoveTo"; + arg0 + { + title = "Polyobj Number"; + } + 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 = "Polyobj Move to (override)"; + id = "Polyobj_OR_MoveTo"; + arg0 + { + title = "Polyobj Number"; + } + 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"; + + 9 + { + title = "Line Horizon"; + id = "Line_Horizon"; + requiresactivation = false; + } + 121 // Line Identification + { + arg1 + { + title = "Flags"; + type = 12; + enum + { + 1 = "Sound zone boundary"; + 2 = "Jump-over railing"; + 4 = "Block floating monsters"; + 8 = "Clip middle texture"; + 16 = "Wrap middle texture"; + 32 = "Walkable middle texture"; + 64 = "Switch height check"; + 128 = "Front side only"; + } + } + arg4 + { + title = "Line ID High"; + } + } + 182 + { + title = "Line Mirror"; + id = "Line_Mirror"; + requiresactivation = false; + } + 156 + { + title = "Line Set Portal"; + id = "Line_SetPortal"; + requiresactivation = false; + + arg0 + { + title = "Exit Line Tag"; + tooltip = "The tag number of the line that will act as the \"exit\" of the current portal"; + type = 15; + } + arg2 + { + title = "Portal Type"; + type = 11; + enum + { + 0 = "Visual only"; + 1 = "Visual + simple teleporter"; + 2 = "Interactive"; + 3 = "Static (Eternity style)"; + } + } + arg3 + { + title = "Plane Align"; + tooltip = "Determines how the planes at the other side of the portal are relative to this line"; + type = 11; + enum + { + 0 = "None"; + 1 = "Floors"; + 2 = "Ceilings"; + } + } + } + 107 + { + title = "Line Set Portal Target"; + id = "Line_SetPortalTarget"; + + arg0 + { + title = "Source Line Tag"; + type = 15; + } + arg1 + { + title = "Target Line Tag"; + type = 15; + } + } + } + + door + { + 14 + { + title = "Door Animated"; + id = "Door_Animated"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Animation Speed"; + type = 11; + enum = "door_speeds"; + default = 32; + } + arg2 + { + title = "Close Delay"; + type = 11; + enum = "reset_tics"; + default = 140; + } + arg3 + { + title = "Lock"; + type = 11; + enum = "keys"; + } + } + 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 = 11; + enum = "generic_door_types"; + } + 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; + } + } + } + + autosave + { + title = "Autosave"; + + 15 + { + title = "Autosave"; + id = "Autosave"; + } + } + + 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 = 12; + enum + { + 0 = "Don't copy anything"; + 1 = "Copy floor texture, remove sector special"; + 2 = "Copy floor texture"; + 3 = "Copy floor texture and special"; + 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 Texture and Special form Back Side"; + id = "Floor_TransferTrigger"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + } + 236 + { + title = "Transfer Floor Texture 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; + } + } + + 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"; + } + } + 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 + { + 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 + { + 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 + { + title = "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 = 12; + enum + { + 0 = "Don't copy anything"; + 1 = "Copy ceiling texture, remove sector special"; + 2 = "Copy ceiling texture"; + 3 = "Copy ceiling texture and special"; + 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"; + } + } + } + + breakable + { + title = "Breakable"; + + 49 + { + title = "Breakable Glass"; + id = "GlassBreak"; + + arg0 + { + title = "Spawn Glass Shards"; + type = 11; + enum = "yesno"; + } + } + } + + transfer + { + title = "Transfer"; + + 50 + { + title = "Transfer Brightness Level"; + id = "ExtraFloor_LightOnly"; + requiresactivation = false; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Options"; + type = 11; + enum + { + 0 = "From control sector's ceiling down to the top of another type 0 light"; + 1 = "From control sector's ceiling down to control sector's floor"; + 2 = "From control sector's ceiling down to the top of another extra light"; + } + } + } + 209 + { + title = "Transfer Heights"; + id = "Transfer_Heights"; + requiresactivation = false; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Options"; + type = 12; + enum + { + 0 = "Boom mode"; + 1 = "Use fake ceiling/floor"; + 2 = "Draw fake floor only"; + 4 = "Inside sector only"; + 8 = "Swimmable below fake"; + 16 = "Do not draw"; + 32 = "Keep lighting"; + } + } + } + + 210 + { + title = "Transfer Floor Brightness"; + id = "Transfer_FloorLight"; + requiresactivation = false; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + } + 211 + { + title = "Transfer Ceiling Brightness"; + id = "Transfer_CeilingLight"; + requiresactivation = false; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + } + 16 + { + title = "Transfer Wall Brightness"; + id = "Transfer_WallLight"; + requiresactivation = false; + + arg0 + { + title = "Line Tag"; + type = 15; + } + arg1 + { + title = "Flags"; + type = 12; + enum + { + 1 = "Transfer light level to front side"; + 2 = "Transfer light level to back side"; + 4 = "Ignore fake contrast"; + } + } + } + + } + + 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 (tics)"; + type = 11; + enum = "delay_tics"; + default = 35; + } + 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 + { + title = "Teleport"; + + 39 + { + title = "Teleport to Pain State (silent)"; + id = "Teleport_ZombieChanger"; + + arg0 + { + title = "Target MapSpot Tag"; + type = 14; + targetclasses = "MapSpot,MapSpotGravity"; + } + arg1 + { + title = "Target Sector Tag"; + type = 13; + } + } + 70 // Teleport + { + arg2 + { + title = "Source Fog"; + type = 11; + enum = "yesno"; + } + } + 71 // Teleport_NoFog + { + 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"; + type = 14; + } + arg1 + { + title = "Source Teleport Dest. Tag"; + type = 14; + } + arg2 + { + title = "Target Teleport Dest. Tag"; + type = 14; + } + 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 MapSpot Tag"; + type = 14; + targetclasses = "MapSpot,MapSpotGravity"; + } + arg2 + { + title = "Target MapSpot Tag"; + type = 14; + targetclasses = "MapSpot,MapSpotGravity"; + } + arg3 + { + title = "Fog"; + type = 11; + enum = "noyes"; + } + arg4 + { + title = "Group Thing Tag"; + type = 14; + } + } + 154 + { + title = "Teleport (no Stop)"; + id = "Teleport_NoStop"; + + arg0 + { + title = "Target MapSpot Tag"; + type = 14; + targetclasses = "MapSpot,MapSpotGravity"; + } + 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 + { + 17 + { + title = "Thing Raise"; + id = "Thing_Raise"; + + arg0 + { + title = "Thing Tag"; + type = 14; + } + } + 18 + { + title = "Start Conversation"; + id = "StartConversation"; + + arg0 + { + title = "Thing Tag"; + type = 14; + } + arg1 + { + title = "Face Talker"; + type = 11; + enum = "noyes"; + default = 1; + } + } + 19 + { + title = "Thing Stop"; + id = "Thing_Stop"; + + arg0 + { + title = "Thing Tag"; + type = 14; + } + } + 72 // ThrustThing + { + arg2 + { + title = "No Limit"; + type = 11; + enum = "noyes"; + } + arg3 + { + title = "Target Thing Tag"; + type = 14; + } + } + 73 // DamageThing + { + arg1 + { + title = "Death"; + type = 11; + enum = "death_types"; + } + } + 79 + { + title = "Set Conversation"; + id = "Thing_SetConversation"; + arg0 + { + title = "Thing Tag"; + type = 14; + } + arg1 + { + title = "Conversation ID"; + } + } + 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; + } + arg2 + { + title = "Hate"; + type = 11; + enum + { + 0 = "Target only"; + 1 = "Target and Player"; + 2 = "Forced Target and Player"; + 3 = "Hunt Target and Player"; + 4 = "Forced Hunt Target and Player"; + 5 = "Target, Ignore Player"; + 6 = "Forced Target, Ignore Player"; + } + } + } + 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; + } + } + 180 + { + title = "Set Thing Translation"; + id = "Thing_SetTranslation"; + + arg0 + { + title = "Thing Tag"; + type = 14; + } + arg1 + { + title = "Translation Index"; + } + } + 229 + { + title = "Thing Set Goal"; + id = "Thing_SetGoal"; + + arg0 + { + title = "Monster Thing Tag"; + type = 14; + } + arg1 + { + title = "Target Thing Tag"; + type = 14; + } + arg2 + { + title = "Delay"; + type = 11; + enum + { + 0 = "No Delay"; + 1 = "1 Second"; + 2 = "2 Seconds"; + 3 = "3 Seconds"; + 5 = "5 Seconds"; + 10 = "10 Seconds"; + 15 = "15 Seconds"; + 20 = "20 Seconds"; + 25 = "25 Seconds"; + 30 = "30 Seconds"; + 60 = "1 Minute"; + } + } + arg3 + { + title = "Don't Chase Target"; + type = 11; + enum = "falsetrue"; + } + } + 248 + { + title = "Heal Thing"; + id = "HealThing"; + + arg0 + { + title = "Heal Amount"; + } + } + + } + + script + { + title = "Script"; + + 83 // Script Locked Execute + { + arg4 // Key Number + { + type = 11; + enum = "keys"; + } + } + 84 + { + title = "Script Execute with Result"; + id = "ACS_ExecuteWithResult"; + + arg0 + { + title = "Script Number"; + } + arg1 + { + title = "Script Argument 1"; + } + arg2 + { + title = "Script Argument 2"; + } + arg3 + { + title = "Script Argument 3"; + } + arg4 + { + title = "Script Argument 4"; + } + } + 85 + { + title = "Script Locked Execute (Door message)"; + id = "ACS_LockedExecuteDoor"; + + arg0 + { + title = "Script Number"; + } + + arg1 + { + title = "Map Number"; + } + + arg2 + { + title = "Script Argument 1"; + } + + arg3 + { + title = "Script Argument 2"; + } + + arg4 + { + title = "Key Number"; + type = 11; + enum = "keys"; + } + } + 158 + { + title = "FraggleScript Execute"; + id = "FS_Execute"; + + arg0 + { + title = "Script Number"; + } + arg1 + { + title = "Side"; + type = 11; + enum + { + 0 = "Both"; + 1 = "Front"; + } + } + arg2 + { + title = "Key"; + type = 11; + enum = "keys"; + } + arg3 + { + title = "Message"; + type = 11; + enum + { + 0 = "Open door"; + 1 = "Activate object"; + } + } + } + 226 + { + title = "Script Execute Always"; + id = "ACS_ExecuteAlways"; + + arg0 + { + title = "Script Number"; + } + + arg1 + { + title = "Map Number"; + } + + arg2 + { + title = "Script Argument 1"; + } + + arg3 + { + title = "Script Argument 2"; + } + + arg4 + { + title = "Script Argument 3"; + } + } + } + + 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"; + } + } + } + + 100 //Scroll_Texture_Left + { + arg1 + { + title = "Sidedef Part"; + type = 12; + enum = "sidedef_part"; + } + } + + 101 //Scroll_Texture_Right + { + arg1 + { + title = "Sidedef Part"; + type = 12; + enum = "sidedef_part"; + } + } + + 102 //Scroll_Texture_Up + { + arg1 + { + title = "Sidedef Part"; + type = 12; + enum = "sidedef_part"; + } + } + + 103 //Scroll_Texture_Down + { + arg1 + { + title = "Sidedef Part"; + type = 12; + enum = "sidedef_part"; + } + } + + 221 + { + title = "Scroll Texture Both"; + id = "Scroll_Texture_Both"; + requiresactivation = false; + + arg0 + { + title = "Line Tag"; + type = 15; + } + arg1 + { + title = "Left Speed"; + type = 11; + enum = "scroll_speeds"; + } + arg2 + { + title = "Right Speed"; + type = 11; + enum = "scroll_speeds"; + } + arg3 + { + title = "Down Speed"; + type = 11; + enum = "scroll_speeds"; + } + arg4 + { + title = "Up Speed"; + type = 11; + enum = "scroll_speeds"; + } + } + 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"; + } + } + 225 + { + title = "Scroll Texture by Offsets"; + id = "Scroll_Texture_Offsets"; + requiresactivation = false; + + arg0 + { + title = "Sidedef Part"; + type = 12; + enum = "sidedef_part"; + } + } + } + + + light + { + 109 + { + title = "Lightning Control"; + id = "Light_ForceLightning"; + + arg0 + { + title = "Mode"; + type = 11; + enum + { + 0 = "Enable Lightning Mode"; + 1 = "Flash Once"; + 2 = "Terminate Lightning Mode"; + } + } + } + 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; + } + } + } + + sector + { + title = "Sector"; + + 48 + { + title = "Sector Attach 3D Midtex"; + id = "Sector_Attach3dMidtex"; + requiresactivation = false; + + arg0 + { + title = "Line Tag"; + type = 15; + } + arg1 + { + title = "Sector Tag"; + type = 13; + } + arg2 + { + title = "Floor / Ceiling"; + type = 11; + enum = "floorceiling"; + } + } + 51 + { + title = "Sector Set Link"; + id = "Sector_SetLink"; + + arg0 + { + title = "Control Sector Tag"; + type = 13; + } + arg1 + { + title = "Target Sector Tag"; + type = 13; + } + arg2 + { + title = "Floor / Ceiling"; + type = 11; + enum = "floorceiling"; + } + arg3 + { + title = "Move Type"; + type = 12; + enum + { + 0 = "Unlink target sector(s) from the control sector"; + 1 = "Link target sector's floor to the specified surface of the control sector"; + 2 = "Link target sector's ceiling to the specified surface of the control sector"; + 4 = "Target floor movement is the opposite direction as the control sector's surface (requires bit 1)"; + 8 = "Target ceiling movement is the opposite direction as the control sector's surface (requires bit 2)"; + } + } + } + + 98 + { + title = "Sector Set Translucent"; + id = "Sector_SetTranslucent"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Floor / Ceiling"; + type = 11; + enum = "floorceiling"; + } + arg2 + { + title = "Opacity"; + } + arg3 + { + title = "Translucency Type"; + type = 11; + enum + { + 0 = "Normal"; + 1 = "Additive"; + } + } + } + + 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"; + } + } + 57 + { + title = "Sector Set Portal"; + id = "Sector_SetPortal"; + requiresactivation = false; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Portal Type"; + type = 11; + enum + { + 0 = "Link to portal with same tag"; + 1 = "Copy portal from second tag"; + 2 = "Eternity-style skybox portal"; + 3 = "Plane portal"; + 4 = "Horizon portal"; + 5 = "Copy portal to line"; + } + } + arg2 + { + title = "Plane"; + type = 11; + enum + { + 0 = "Floor"; + 1 = "Ceiling"; + 2 = "Both"; + 3 = "Any (Copy portal type only)"; + } + } + arg3 + { + title = "Misc"; + } + arg4 + { + title = "Opacity"; + } + } + 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"; + } + } + } + 160 + { + title = "Sector Set 3D Floor"; + id = "Sector_Set3dFloor"; + requiresactivation = false; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Type"; + type = 12; + enum + { + 0 = "Vavoom-Style"; + 1 = "Solid"; + 2 = "Swimmable"; + 3 = "Non-Solid"; + 4 = "Render-Inside"; + 16 = "Invert Visibility Rules"; + 32 = "Invert Shootability Rules"; + } + default = 1; + } + arg2 + { + title = "Flags"; + type = 12; + enum + { + 1 = "Disable light effects"; + 2 = "Restrict light inside"; + 4 = "Fog effect (GZDoom only)"; + 8 = "Ignore bottom height"; + 16 = "Use upper texture"; + 32 = "Use lower texture"; + 64 = "Additive transluency"; + 512 = "Fade effect (no view blend)"; + 1024 = "Reset light effects"; + } + } + arg3 + { + title = "Opacity"; + default = 255; + } + } + 161 + { + title = "Sector Set Contents (Vavoom compatibility)"; + id = "Sector_SetContents"; + + arg0 + { + title = "Type"; + type = 11; + enum + { + 0 = "Empty"; + 1 = "Water"; + 2 = "Lava"; + 3 = "Nukage"; + 4 = "Slime"; + 5 = "Hellslime"; + 6 = "Blood"; + 7 = "Sludge"; + 8 = "Hazard"; + 9 = "Boom-style water"; + } + } + arg1 + { + title = "Translucency Percent"; + } + arg2 + { + title = "Flags"; + type = 12; + enum + { + 1 = "Don't block movement"; + 2 = "Don't block sight"; + 4 = "Don't block shooting"; + 8 = "Additive translucency"; + } + } + } + 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"; + } + } + 212 + { + title = "Sector Color"; + id = "Sector_SetColor"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Red"; + } + arg2 + { + title = "Green"; + } + arg3 + { + title = "Blue"; + } + arg4 + { + title = "Desaturation"; + } + } + 213 + { + title = "Sector Fade"; + id = "Sector_SetFade"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Red"; + } + arg2 + { + title = "Green"; + } + arg3 + { + title = "Blue"; + } + } + 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"; + + arg0 + { + title = "Target Tag"; + type = 14; + } + arg1 + { + title = "Emitter Tag"; + type = 14; + } + } + } + + communicator + { + title = "Communicator"; + + 174 + { + title = "Communicator Message"; + id = "SendToCommunicator"; + + arg0 + { + title = "Message ID"; + } + arg1 + { + title = "Front Side Only"; + type = 11; + enum = "noyes"; + } + arg2 + { + title = "Print Activator Name"; + type = 11; + enum = "noyes"; + } + arg3 + { + title = "Add to Log"; + type = 11; + enum = "yesno"; + } + } + } + + change + { + title = "Change"; + + 157 + { + title = "Set Global Fog Parameter (GZDoom only)"; + id = "SetGlobalFogParameter"; + + arg0 + { + title = "Property"; + type = 11; + enum + { + 0 = "Density"; + 1 = "Outside density"; + 2 = "Skyfog"; + } + } + arg1 + { + title = "Value"; + } + } + 179 + { + title = "Change Skill"; + id = "ChangeSkill"; + + arg0 + { + title = "New Skill Level"; + type = 11; + enum + { + 0 = "Very Easy"; + 1 = "Easy"; + 2 = "Normal"; + 3 = "Hard"; + 4 = "Nightmare!"; + } + } + } + } + + plane + { + title = "Plane"; + + 118 + { + title = "Plane Copy (slope)"; + id = "Plane_Copy"; + requiresactivation = false; + + arg0 + { + title = "Front Floor Tag"; + type = 13; + } + arg1 + { + title = "Front Ceiling Tag"; + type = 13; + } + arg2 + { + title = "Back Floor Tag"; + type = 13; + } + arg3 + { + title = "Back Ceiling Tag"; + type = 13; + } + arg4 + { + title = "Share Slope"; + type = 12; + enum + { + 1 = "Front floor to back sector"; + 2 = "Back floor to front sector"; + 4 = "Front ceiling to back sector"; + 8 = "Back ceiling to front sector"; + } + } + } + 159 + { + title = "Plane Reflection (OpenGL only)"; + id = "Sector_SetPlaneReflection"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Floor Reflectiveness"; + } + arg2 + { + title = "Ceiling Reflectiveness"; + } + } + 181 + { + title = "Plane Align (slope)"; + id = "Plane_Align"; + requiresactivation = false; + + arg0 + { + title = "Align Floor"; + type = 11; + enum + { + 0 = "None"; + 1 = "Front"; + 2 = "Back"; + } + } + arg1 + { + title = "Align Ceiling"; + type = 11; + enum + { + 0 = "None"; + 1 = "Front"; + 2 = "Back"; + } + } + } + } + + static + { + title = "Static"; + + 190 + { + title = "Static Init"; + id = "Static_Init"; + + arg0 + { + title = "Sector Tag"; + type = 13; + } + arg1 + { + title = "Property"; + type = 11; + enum + { + 0 = "Set the gravity to the length of the linedef"; + 1 = "Set the light or fog color in a sector"; + 2 = "Set damage to the length of the linedef"; + 3 = "Define a sector link"; + 255 = "Use the line's upper texture as the sky in any tagged sectors"; + } + } + arg2 + { + title = "Flip Sky / Ceiling"; + } + arg3 + { + title = "Movement Type"; + } + } + } + + player + { + title = "Player"; + + 191 + { + title = "Set Player Property"; + id = "SetPlayerProperty"; + + arg0 + { + title = "Target"; + type = 11; + enum + { + 0 = "Activator"; + 1 = "Everyone"; + } + } + arg1 + { + title = "Enable"; + type = 11; + enum = "noyes"; + } + arg2 + { + title = "Property"; + type = 11; + enum + { + 0 = "PROP_FROZEN"; + 1 = "PROP_NOTARGET"; + 2 = "PROP_INSTANTWEAPONSWITCH"; + 3 = "PROP_FLY"; + 4 = "PROP_TOTALLYFROZEN"; + 16 = "PROP_BUDDHA"; + } + } + } + } + + translucent + { + title = "Translucent"; + + 208 + { + title = "Translucent Line"; + id = "TranslucentLine"; + requiresactivation = false; + + arg1 + { + title = "Opacity"; + default = 128; + } + arg2 + { + title = "Additive"; + type = 11; + enum = "noyes"; + } + } + } + + 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"; + } + } + } + + camera + { + title = "Camera"; + + 237 + { + title = "Change Camera"; + id = "ChangeCamera"; + + arg0 + { + title = "Thing Tag"; + type = 14; + } + arg1 + { + title = "Target"; + type = 11; + enum + { + 0 = "Activator"; + 1 = "Everyone"; + } + } + arg2 + { + title = "Movement Cancels"; + 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; + } + } + 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; + } + } + } +} + +hexen +{ + line + { + 156 // Line_SetPortal + { + arg1 + { + title = "This Line Tag"; + tooltip = "The tag number of the current line"; + type = 15; + } + } + } + polyobj + { + 1 // Polyobj Start Line + { + arg3 + { + title = "Set Line ID"; + type = 0; + } + } + 5 // Polyobj Explicit Line + { + arg4 + { + title = "Set Line ID"; + type = 0; + } + } + } + plane + { + 181 //Plane_Align + { + arg2 + { + title = "Set Line ID"; + type = 0; + } + } + } + scroll + { + 52 //Scroll_Wall + { + arg0 + { + title = "Set Line ID"; + type = 0; + } + } + 221 //Scroll_Texture_Both + { + arg0 + { + title = "Line ID"; + type = 0; + } + } + 222 //Scroll_Texture_Model + { + arg0 + { + title = "Set Line ID"; + type = 0; + } + } + } + sector + { + 48 //Sector_Attach3dMidtex + { + arg0 + { + title = "Line ID"; + type = 0; + } + } + 160 //Sector_Set3dFloor + { + arg1 + { + title = "Type"; + type = 12; + enum + { + 0 = "Vavoom-Style"; + 1 = "Solid"; + 2 = "Swimmable"; + 3 = "Non-Solid"; + 4 = "Render-Inside"; + 8 = "Use Arg5 as Line ID"; + 16 = "Invert Visibility Rules"; + 32 = "Invert Shootability Rules"; + } + default = 1; + } + arg4 + { + title = "Line ID / Hi-Tag"; + } + } + } + teleport + { + 215 //Teleport_Line + { + arg0 + { + title = "Line ID"; + type = 0; + } + arg1 + { + title = "Target Line ID"; + type = 0; + } + } + } + transfer + { + 16 //Transfer_WallLight + { + arg0 + { + title = "Line ID"; + type = 0; + } + } + } + translucent + { + 208 //TranslucentLine + { + arg0 + { + title = "Set Line ID"; + type = 0; + } + arg3 + { + title = "Flags"; + type = 12; + enum + { + 1 = "Sound boundary"; + 2 = "Railing"; + 4 = "Block floating monsters"; + 8 = "Clip mid texture"; + 16 = "Wrap mid texture"; + 32 = "3D mid texture"; + 64 = "Check switch height"; + } + } + } + } +} + +udmf +{ + // No Line_SetIdentification in UDMF! + line + { + 121 = NULL; + } +} +>>>>>>> dddb1bbf (Added, Game configurations: added "targetclasses" argument property. Can be used with argument type 14 (Thing Tag). When set, only things of given classes will be shown in the argument dropdown list in Edit Things window.) diff --git a/Help/gc_argumentsettings.html b/Help/gc_argumentsettings.html index 0682a74..53aa405 100644 --- a/Help/gc_argumentsettings.html +++ b/Help/gc_argumentsettings.html @@ -1,3 +1,4 @@ +<<<<<<< HEAD @@ -94,3 +95,112 @@ arg0

+======= + + + +Game Configuration - Linedefs Settings + + + + + + + + + + +
+

Game Configuration - Action Argument Settings

+
+
+

title (string)
+ Sets the title of this argument.
+ Argument title can be also set in DECORATE.
+
+ tooltip (string) - GZDB only
+ Allows to specify a tooltip text displayed for a Thing or Linedef argument definition. Newline character ("\n") can be used to format the text.
+ Argument tooltips can be also set in DECORATE.
+ Example:

+
arg1
+{
+    title = "Mirror Polyobj Number";
+    tooltip = "Polyobject that will mirror\nthis one's movements.";
+}
+
+ type (integer)
+ Sets the type of this argument. This changes the behaviour of Argument inputs in Linedef and Thing Edit windows.
+ Argument type can be also set in DECORATE.
+ Supported values are:
+
+ +

targetclasses (string) - GZDB only
+ When set, only things of given classes will be shown in the argument dropdown list. Used only when argument type is 14.
+ The value can be either a thing class name of a comma-separated list of thing class names:
+

+arg0
+{
+    title = "MapSpot Tag";
+    type = 14;
+    targetclasses = "MapSpot,MapSpotGravity";
+}
+
+

enum (structure or string)
+ Provides a list of predefined values to display for this argument. Used only when argument type is 11 or 12.
+ The value can be either a name of a predefined enum:
+

+arg0
+{
+    title = "Volume";
+    type = 11;
+    enum = "sound_volume";
+}
+
+ or an explicit definition:
+
+arg0
+{
+    title = "Apply to";
+    type = 11;
+    enum
+    {
+        0 = "Floor and Ceiling";
+        1 = "Ceiling";
+        2 = "Floor";
+    } 
+}
+
+ Enums can be also set in DECORATE.
+
+ default (integer) - GZDB only
+ Sets the default value for a Thing or Linedef argument definition.
+ Default value can be also set in DECORATE.
+ Example: +

+
9038
+{
+    title = "ColorSetter";
+    arg0
+    {
+        title = "Red";
+        default = 255;
+    }
+}
+

+
+ +>>>>>>> dddb1bbf (Added, Game configurations: added "targetclasses" argument property. Can be used with argument type 14 (Thing Tag). When set, only things of given classes will be shown in the argument dropdown list in Edit Things window.) diff --git a/Source/Core/Config/ArgumentInfo.cs b/Source/Core/Config/ArgumentInfo.cs index 593a032..ba23733 100644 --- a/Source/Core/Config/ArgumentInfo.cs +++ b/Source/Core/Config/ArgumentInfo.cs @@ -16,6 +16,7 @@ #region ================== Namespaces +using System; using System.Collections; using System.Collections.Generic; using System.Globalization; @@ -40,6 +41,7 @@ namespace CodeImp.DoomBuilder.Config private readonly int type; private EnumList enumlist; private readonly object defaultvalue; //mxd + private readonly HashSet targetclasses; //mxd #endregion @@ -49,6 +51,7 @@ namespace CodeImp.DoomBuilder.Config public string ToolTip { get { return tooltip; } } //mxd public bool Used { get { return used; } } public int Type { get { return type; } } + public HashSet TargetClasses { get { return targetclasses; } } //mxd public EnumList Enum { get { return enumlist; } internal set { enumlist = value; } } public object DefaultValue { get { return defaultvalue; } } //mxd @@ -67,6 +70,18 @@ namespace CodeImp.DoomBuilder.Config this.type = cfg.ReadSetting(argspath + ".arg" + istr + ".type", 0); this.defaultvalue = cfg.ReadSetting(argspath + ".arg" + istr + ".default", 0); //mxd + //mxd. Check for TargetClass? + this.targetclasses = new HashSet(StringComparer.InvariantCultureIgnoreCase); + if(this.type == (int)UniversalType.ThingTag) + { + string s = cfg.ReadSetting(argspath + ".arg" + istr + ".targetclasses", string.Empty); + if(!string.IsNullOrEmpty(s)) + { + foreach(string tclass in s.Split(new[] {','}, StringSplitOptions.RemoveEmptyEntries)) + targetclasses.Add(tclass.Trim()); + } + } + // Determine enum type IDictionary argdic = cfg.ReadSetting(argspath + ".arg" + istr, new Hashtable()); if(argdic.Contains("enum")) diff --git a/Source/Core/Config/ThingTypeInfo.cs b/Source/Core/Config/ThingTypeInfo.cs index 3fd08b7..fb65b74 100644 --- a/Source/Core/Config/ThingTypeInfo.cs +++ b/Source/Core/Config/ThingTypeInfo.cs @@ -41,6 +41,7 @@ namespace CodeImp.DoomBuilder.Config public const int THING_ERROR_NONE = 0; public const int THING_ERROR_INSIDE = 1; public const int THING_ERROR_INSIDE_STUCK = 2; + private const float THING_FIXED_SIZE = 14f; //mxd #endregion @@ -232,7 +233,7 @@ namespace CodeImp.DoomBuilder.Config this.args[i] = new ArgumentInfo(cfg, "thingtypes." + cat.Name + "." + key, i, enums); // Safety - if(this.radius < 4f) this.radius = 16f; + if(this.radius < 4f || this.fixedsize) this.radius = THING_FIXED_SIZE; if(this.hangs && this.absolutez) this.hangs = false; //mxd // Make long name for sprite lookup @@ -287,8 +288,8 @@ namespace CodeImp.DoomBuilder.Config this.flagsvaluetext = cat.FlagsValueText; this.parametertext = cat.ParameterText; - // Safety - if (this.radius < 4f) this.radius = 8f; + // Safety + if(this.radius < 4f || this.fixedsize) this.radius = THING_FIXED_SIZE; if(this.hangs && this.absolutez) this.hangs = false; //mxd // Make long name for sprite lookup @@ -341,8 +342,7 @@ namespace CodeImp.DoomBuilder.Config this.flagsvaluetext = cat.FlagsValueText; this.parametertext = cat.ParameterText; - // Safety - if (this.radius < 4f) this.radius = 8f; + // Safety if(this.hangs && this.absolutez) this.hangs = false; //mxd // Apply settings from actor @@ -392,8 +392,7 @@ namespace CodeImp.DoomBuilder.Config this.flagsvaluetext = cat.FlagsValueText; this.parametertext = cat.ParameterText; - // Safety - if (this.radius < 4f) this.radius = 8f; + // Safety if(this.hangs && this.absolutez) this.hangs = false; //mxd // Apply settings from actor @@ -618,7 +617,7 @@ namespace CodeImp.DoomBuilder.Config this.bright = actor.GetFlagValue("bright", false); // Safety - if(this.radius < 4f) this.radius = 8f; + if(this.radius < 4f || this.fixedsize) this.radius = THING_FIXED_SIZE; if(this.spritescale.Width == 0.0f) this.spritescale.Width = 1.0f; if(this.spritescale.Height == 0.0f) this.spritescale.Height = 1.0f; diff --git a/Source/Core/Rendering/Renderer2D.cs b/Source/Core/Rendering/Renderer2D.cs index 036b50f..ae9ecae 100644 --- a/Source/Core/Rendering/Renderer2D.cs +++ b/Source/Core/Rendering/Renderer2D.cs @@ -52,6 +52,7 @@ namespace CodeImp.DoomBuilder.Rendering private const int THING_BUFFER_SIZE = 100; private const float MINIMUM_THING_RADIUS = 1.5f; //mxd private const float MINIMUM_SPRITE_RADIUS = 8.0f; //mxd + private const float FIXED_THING_SIZE = 48.0f; //mxd internal const int NUM_VIEW_MODES = 4; #endregion @@ -629,7 +630,6 @@ namespace CodeImp.DoomBuilder.Rendering } renderlayer = RenderLayers.Plotter; - try { graphics.Device.SetRenderState(RenderState.FogEnable, false); } catch(Exception) { } // Rendertargets available? if(plottertex != null) @@ -671,7 +671,6 @@ namespace CodeImp.DoomBuilder.Rendering } renderlayer = RenderLayers.Things; - try { graphics.Device.SetRenderState(RenderState.FogEnable, false); } catch(Exception) { } // Rendertargets available? if(thingstex != null) @@ -708,7 +707,6 @@ namespace CodeImp.DoomBuilder.Rendering } renderlayer = RenderLayers.Overlay; - try { graphics.Device.SetRenderState(RenderState.FogEnable, false); } catch(Exception) { } // Rendertargets available? if(overlaytex != null) @@ -961,9 +959,24 @@ namespace CodeImp.DoomBuilder.Rendering if(thingsize * scale < MINIMUM_THING_RADIUS) return false; //mxd. Don't render tiny little things // Determine sizes - float fixedscaler = (t.FixedSize ? 1.0f : 2.0f); //mxd - float circlesize = ((t.FixedSize || General.Settings.FixedThingsScale) && (scale > fixedscaler) ? t.Size * fixedscaler : t.Size * scale); - float bboxsize = ((!t.FixedSize && General.Settings.FixedThingsScale) && (scale > 2.0f) ? t.Size * scale : -1); //mxd + float circlesize, bboxsize; + + if(t.FixedSize && scale > 1.0f) + { + circlesize = t.Size; + bboxsize = -1; + } + else if(General.Settings.FixedThingsScale && t.Size * scale > FIXED_THING_SIZE) + { + circlesize = FIXED_THING_SIZE; + bboxsize = t.Size * scale; + } + else + { + circlesize = t.Size * scale; + bboxsize = -1; + } + float screensize = (bboxsize > 0 ? bboxsize : circlesize); //mxd // Transform to screen coordinates @@ -1032,10 +1045,15 @@ namespace CodeImp.DoomBuilder.Rendering //mxd private void CreateThingArrowVerts(Thing t, ref FlatVertex[] verts, Vector3D screenpos, int offset) { - // Determine size - float thingsize = General.Settings.DrawThingsFixedSize ? General.Settings.DefaultThingSize : t.Size; - float fixedscaler = (t.FixedSize ? 1.0f : 2.0f); - float arrowsize = ((t.FixedSize || General.Settings.FixedThingsScale) && (scale > fixedscaler) ? t.Size * fixedscaler : t.Size * scale) * THING_ARROW_SIZE; //mxd + // Determine size + float thingsize = General.Settings.DrawThingsFixedSize ? General.Settings.DefaultThingSize : t.Size; + float arrowsize; + if(t.FixedSize && scale > 1.0f) + arrowsize = thingsize * THING_ARROW_SIZE; + else if(General.Settings.FixedThingsScale && thingsize * scale > FIXED_THING_SIZE) + arrowsize = FIXED_THING_SIZE * THING_ARROW_SIZE; + else + arrowsize = thingsize * scale * THING_ARROW_SIZE; // Setup rotated rect for arrow float sinarrowsize = (float)Math.Sin(t.Angle + Angle2D.PI * 0.25f) * arrowsize; @@ -1257,21 +1275,29 @@ namespace CodeImp.DoomBuilder.Rendering buffercount = 0; totalcount = 0; - bool forcespriterendering; - float spritewidth, spriteheight, spritescale; - float fixedscaler = (group.Value[0].FixedSize ? 1.0f : 2.0f); // Make sure thing size stays at 2x scale when FixedThingsScale is enabled + foreach(Thing t in group.Value) + { + if(t.IsModel && ((General.Settings.GZDrawModelsMode == ModelRenderMode.SELECTION && t.Selected) || (General.Settings.GZDrawModelsMode == ModelRenderMode.ACTIVE_THINGS_FILTER && alpha == 1.0f))) continue; - // Apply FixedSize setting? - if((group.Value[0].FixedSize || General.Settings.FixedThingsScale) && (scale > fixedscaler)) - { - spritescale = fixedscaler; - forcespriterendering = true; // Always render sprite when thing size is affected by FixedSize or FixedThingsScale settings - } - else - { - spritescale = scale; - forcespriterendering = false; - } + bool forcespriterendering; + float spritewidth, spriteheight, spritescale; + + // Determine sizes + if(t.FixedSize && scale > 1.0f) + { + spritescale = 1.0f; + forcespriterendering = true; // Always render sprite when thing size is affected by FixedSize setting + } + else if(General.Settings.FixedThingsScale && t.Size * scale > FIXED_THING_SIZE) + { + spritescale = FIXED_THING_SIZE / t.Size; + forcespriterendering = true; // Always render sprite when thing size is affected by FixedThingsScale setting + } + else + { + spritescale = scale; + forcespriterendering = false; + } // Calculate scaled sprite size float radius = General.Settings.DrawThingsFixedSize ? General.Settings.DefaultThingSize : info.Radius; @@ -1291,18 +1317,8 @@ namespace CodeImp.DoomBuilder.Rendering spriteheight = spritewidth; } - // Apply radius and height Thing Argument overrides? - if(!group.Value[0].FixedSize) - { - float sizeoverridescaler = group.Value[0].Size / info.Radius; - spritewidth *= sizeoverridescaler; - spriteheight *= sizeoverridescaler; - } - float spritesize = Math.Max(spritewidth, spriteheight); - - foreach(Thing t in group.Value) - { - if(t.IsModel && ((General.Settings.GZDrawModelsMode == ModelRenderMode.SELECTION && t.Selected) || (General.Settings.GZDrawModelsMode == ModelRenderMode.ACTIVE_THINGS_FILTER && alpha == 1.0f))) continue; + float spritesize = Math.Max(spritewidth, spriteheight); + if(!forcespriterendering && spritesize < MINIMUM_SPRITE_RADIUS) { // Hackish way to tell arrow rendering code to draw bigger arrow... diff --git a/Source/Core/Types/ThingTagHandler.cs b/Source/Core/Types/ThingTagHandler.cs index 80fd08c..32d043d 100644 --- a/Source/Core/Types/ThingTagHandler.cs +++ b/Source/Core/Types/ThingTagHandler.cs @@ -31,23 +31,31 @@ namespace CodeImp.DoomBuilder.Types protected override EnumList CreateTagList() { - //collect tags + // Collect tags List tags = new List(); EnumList taglist = new EnumList(); foreach(Thing t in General.Map.Map.Things) { if(t.Tag == 0 || tags.Contains(t.Tag)) continue; + + // Check target class? + if(arginfo.TargetClasses.Count > 0) + { + ThingTypeInfo info = General.Map.Data.GetThingInfoEx(t.SRB2Type); + if(info != null && !arginfo.TargetClasses.Contains(info.ClassName)) continue; + } + tags.Add(t.Tag); } - //now sort them in descending order + // Now sort them in descending order tags.Sort((a, b) => -1 * a.CompareTo(b)); - //create enum items + // Create enum items foreach(int tag in tags) { - if(General.Map.Options.TagLabels.ContainsKey(tag)) //tag labels + if(General.Map.Options.TagLabels.ContainsKey(tag)) // Tag labels taglist.Add(new EnumItem(tag.ToString(), General.Map.Options.TagLabels[tag])); else taglist.Add(new EnumItem(tag.ToString(), tag.ToString()));