// 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 Teleport Dest. Tag";
				type = 14;
				targetclasses = "TeleportDest,TeleportDest2,TeleportDest3";
			}
			arg1
			{
				title = "Target Sector Tag";
				type = 13;
			}
		}
		70	// Teleport
		{
			arg2
			{
				title = "Source Fog";
				type = 11;
				enum = "yesno";
			}
		}
		71	// Teleport_NoFog
		{
			arg1
			{
				title = "Teleport Dest. angle usage";
				type = 11;
				enum
				{
					0 = "Don't change angle and velocity (Hexen-compat)";
					1 = "Always use the teleport exit's angle (Strife-compat)";
					2 = "Adjust relatively to the teleport exit's angle, but in the wrong direction (Boom-compat)";
					3 = "Adjust relatively to the teleport exit's angle (Boom-fixed)";
				}
			}
			arg3
			{
				title = "Keep rel. Height";
				type = 11;
				enum = "noyes";
			}
		}
		74	// Teleport_NewMap
		{
			arg2
			{
				title = "Keep Orientation";
				type = 11;
				enum = "noyes";
			}
		}
		76
		{
			title = "Teleport Other";
			id = "TeleportOther";
			
			arg0
			{
				title = "Thing Tag";
				type = 14;
			}
			arg1
			{
				title = "Target MapSpot Tag";
				type = 14;
				targetclasses = "MapSpot,MapSpotGravity";
			}
			arg2
			{
				title = "Fog";
				type = 11;
				enum = "noyes";
			}
		}
		77
		{
			title = "Teleport Group";
			id = "TeleportGroup";
			
			arg0
			{
				title = "Thing Tag";
				tooltip = "The TID of the actor(s) to teleport.\nIf 0, teleports the activator only.";
				type = 14;
			}
			arg1
			{
				title = "Source Teleport Dest. Tag";
				type = 14;
				targetclasses = "TeleportDest,TeleportDest2,TeleportDest3";
			}
			arg2
			{
				title = "Target Teleport Dest. Tag";
				type = 14;
				targetclasses = "TeleportDest,TeleportDest2,TeleportDest3";
			}
			arg3
			{
				title = "Move Source";
				type = 11;
				enum = "noyes";
			}
			arg4
			{
				title = "Fog";
				type = 11;
				enum = "noyes";
			}
		}
		78
		{
			title = "Teleport in Sector";
			id = "TeleportInSector";
			
			arg0
			{
				title = "Sector Tag";
				type = 13;
			}
			arg1
			{
				title = "Source Tag";
				tooltip = "The spot relative to which to teleport.";
				type = 14;
			}
			arg2
			{
				title = "Target Teleport Dest. Tag";
				type = 14;
				targetclasses = "TeleportDest,TeleportDest2,TeleportDest3";
			}
			arg3
			{
				title = "Fog";
				type = 11;
				enum = "noyes";
			}
			arg4
			{
				title = "Group Thing Tag";
				tooltip = "The TID of the thing(s) to teleport.\nIf 0, teleports all actors in the sector";
				type = 14;
			}
		}
		154
		{
			title = "Teleport (no Stop)";
			id = "Teleport_NoStop";
			
			arg0
			{
				title = "Target Teleport Dest. Tag";
				type = 14;
				targetclasses = "TeleportDest,TeleportDest2,TeleportDest3";
			}
			arg1
			{
				title = "Target Sector Tag";
				type = 13;
			}
			arg2
			{
				title = "Fog";
				type = 11;
				enum = "yesno";
			}
		}
		215
		{
			title = "Teleport to Line";
			id = "Teleport_Line";
			
			arg1
			{
				title = "Target Line Tag";
				type = 15;
			}
			arg2
			{
				title = "Reverse Angle";
				type = 11;
				enum = "noyes";
			}
		}
	}

	thing
	{
		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";
					6 = "Interactive portal";
				}
			}
			arg2
			{
				title = "Plane";
				type = 11;
				enum
				{
					0 = "Floor";
					1 = "Ceiling";
					2 = "Both";
					3 = "Any (\"Copy portal\" types only)";
				}
			}
			arg3
			{
				title = "Misc";
				tooltip = "For type 0 portal: specifies whether the line belongs to the sector viewed\nthrough the portal (1) or the sector in which the portal is seen (0).\nFor type 1 portal: specifies the sector tag of the portal to copy.";
			}
			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;
	}
}