doom
{
	pillar
	{
		title = "Pillars";
		362
		{
			title = "Pillar Build";
			prefix = "--";
		}
		363
		{
			title = "Pillar Build and Crush";
			prefix = "--";
		}
		364
		{
			title = "Pillar Open";
			prefix = "--";
		}
	}
	polyobject
	{
		title = "Polyobjects";
		348
		{
			title = "Polyobject Start Line";
			prefix = "--";
		}
		349
		{
			title = "Polyobject Explicit Line";
			prefix = "--";
		}
		350
		{
			title = "Polyobject door slide";
			prefix = "--";
		}
		351
		{
			title = "Polyobject door swing";
			prefix = "--";
		}
		352
		{
			title = "Polyobject move";
			prefix = "--";
		}
		353
		{
			title = "Polyobject override move";
			prefix = "--";
		}
		354
		{
			title = "Polyobject rotate right";
			prefix = "--";
		}
		355
		{
			title = "Polyobject override rotate right";
			prefix = "--";
		}
		356
		{
			title = "Polyobject rotate left";
			prefix = "--";
		}
		357
		{
			title = "Polyobject override rotate left";
			prefix = "--";
		}
	}
	thing
	{
		title = "Things";
		398
		{
			title = "Thing spawn";
			prefix = "--";
		}
		399
		{
			title = "Thing spawn no fog";
			prefix = "--";
		}
		402
		{
			title = "Thing projectile";
			prefix = "--";
		}
		403
		{
			title = "Thing projectile gravity";
			prefix = "--";
		}
		404
		{
			title = "Thing activate";
			prefix = "--";
		}
		405
		{
			title = "Thing deactivate";
			prefix = "--";
		}
		421
		{
			title = "Thing change TID";
			prefix = "--";
		}
	}
	transfer
	{
		title = "Transfer";
		281
		{
			prefix = "--";
			title = "Transfer floor to 3dmidtex";
		}
		282
		{
			prefix = "--";
			title = "Transfer ceiling to 3dmidtex";
		}
	}
	hereticwind
	{
		title = "Heretic wind";
		293
		{
			prefix = "--";
			title = "Heretic wind by line vector";
		}
		294
		{
			prefix = "--";
			title = "Heretic current by line vector";
		}
	}
	portal
	{
		title = "Portal";
		283
		{
			prefix = "--";
			title = "Portal plane ceilings";
		}
		284
		{
			prefix = "--";
			title = "Portal plane floors";
		}
		285
		{
			prefix = "--";
			title = "Portal plane floors/ceilings";
		}
		286
		{
			prefix = "--";
			title = "Portal horizon ceilings";
		}
		287
		{
			prefix = "--";
			title = "Portal horizon floors";
		}
		288
		{
			prefix = "--";
			title = "Portal horizon floors/ceilings";
		}
		290
		{
			prefix = "--";
			title = "Portal skybox ceilings";
		}
		291
		{
			prefix = "--";
			title = "Portal skybox floors";
		}
		292
		{
			prefix = "--";
			title = "Portal skybox floors/ceilings";
		}
		295
		{
			prefix = "--";
			title = "Portal anchored ceilings";
		}
		296
		{
			prefix = "--";
			title = "Portal anchored floors";
		}
		297
		{
			prefix = "--";
			title = "Portal anchored floors/ceilings";
		}
		298
		{
			prefix = "--";
			title = "Portal anchor for 295 and 297";
		}
		299
		{
			prefix = "--";
			title = "Portal anchor for 296";
		}
		344
		{
			prefix = "--";
			title = "Portal two-way anchored ceilings";
		}
		345
		{
			prefix = "--";
			title = "Portal two-way anchored floors";
		}
		346
		{
			prefix = "--";
			title = "Portal anchor for 344";
		}
		347
		{
			prefix = "--";
			title = "Portal anchor for 345";
		}
		289
		{
			prefix = "--";
			title = "Portal transfer";
		}
		358
		{
			prefix = "--";
			title = "Portal linked ceilings";
		}
		359
		{
			prefix = "--";
			title = "Portal linked floors";
		}
		360
		{
			prefix = "--";
			title = "Portal linked anchor for 358";
		}
		361
		{
			prefix = "--";
			title = "Portal linked anchor for 359";
		}
		376
		{
			prefix = "--";
			title = "Portal linked apply to lines";
		}
		377
		{
			prefix = "--";
			title = "Portal linked anchor for 376";
		}
		385
		{
			prefix = "--";
			title = "Portal linked apply front sector";
		}
	}

	slopes
	{
		title = "Slopes";
		386
		{
			prefix = "--";
			title = "Slope front sector to floor";
		}
		387
		{
			prefix = "--";
			title = "Slope front sector to ceiling";
		}
		388
		{
			prefix = "--";
			title = "Slope front sector to floor/ceiling";
		}
		389
		{
			prefix = "--";
			title = "Slope back sector to floor";
		}
		390
		{
			prefix = "--";
			title = "Slope back sector to ceiling";
		}
		391
		{
			prefix = "--";
			title = "Slope back sector to floor/ceiling";
		}
		392
		{
			prefix = "--";
			title = "Slope back floor and front ceiling";
		}
		393
		{
			prefix = "--";
			title = "Slope back ceiling and front floor";
		}
		394
		{
			prefix = "--";
			title = "Slope front floor to tagged slope";
		}
		395
		{
			prefix = "--";
			title = "Slope front ceiling to tagged slope";
		}
		396
		{
			prefix = "--";
			title = "Slope front floor/ceiling to tagged slope";
		}
	}
	surfaces
	{
		title = "Attached surfaces";
		379
		{
			prefix = "--";
			title = "Attach set ceiling control";
		}
		380
		{
			prefix = "--";
			title = "Attach set floor control";
		}
		381
		{
			prefix = "--";
			title = "Attach floor to control";
		}
		382
		{
			prefix = "--";
			title = "Attach ceiling to control";
		}
		383
		{
			prefix = "--";
			title = "Attach mirror floor to control";
		}
		384
		{
			prefix = "--";
			title = "Attach mirror ceiling to control";
		}
	}

	exit
	{
		title = "Exit";
		400
		{
			prefix = "--";
			title = "Teleport end game";
		}
	}

	scripts
	{
		title = "Scripts";
		280
		{
			prefix = "WR";
			title = "Script start";
		}
		273
		{
			prefix = "WR";
			title = "Script start 1-way";
		}
		274
		{
			prefix = "W1";
			title = "Script start";
		}
		275
		{
			prefix = "W1";
			title = "Script start 1-way";
		}
		276
		{
			prefix = "SR";
			title = "Script start";
		}
		277
		{
			prefix = "S1";
			title = "Script start";
		}
		278
		{
			prefix = "GR";
			title = "Script start";
		}
		279
		{
			prefix = "G1";
			title = "Script start";
		}
		365
		{
			prefix = "--";
			title = "Script execute param";
		}
		366
		{
			prefix = "--";
			title = "Script suspend param";
		}
		367
		{
			prefix = "--";
			title = "Script terminate param";
		}
	}
	extradata
	{
		title = "ExtraData";
		270
		{
			prefix = "--";
			title = "ExtraData linedef";
		}
		401
		{
			prefix = "--";
			title = "ExtraData sector control";
		}
	}
}

udmf
{
	polyobj
	{	
		title = "Polyobjects";
		
		87
		{
			title = "Polyobject Stop";
			id = "Polyobj_Stop";
			arg0
			{
				title = "Polyobject Number";
				type = 25;
			}
		}
	}

	door
	{
		105
		{
			title = "Door Raise after Delay";
			id = "Door_WaitRaise";
			arg0
			{
				title = "Sector Tag";
				type = 13;
			}
			arg1
			{
				title = "Movement Speed";
				type = 11;
				enum = "flat_speeds";
				default = 16;
			}
			arg2
			{
				title = "Open delay";
				type = 11;
				enum = "generic_door_delays";
				default = 35;
			}
			arg3
			{
				title = "Close delay";
				type = 11;
				enum = "generic_door_delays";
				default = 150;
			}
			arg4
			{
				title = "Light Tag";
				type = 13;
			}
		}
		106
		{
			title = "Door Close after Delay";
			id = "Door_WaitClose";
			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 = 150;
			}
			arg3
			{
				title = "Light Tag";
				type = 13;
			}
		}
		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 (octics)";
				type = 11;
				enum = "generic_door_delays";
				default = 240;
			}
			arg3
			{
				title = "Light Tag";
				type = 13;
			}
		}
	}

	floor
	{
		20
		{
//			id = "Floor_LowerByValue";
			arg1
			{
				default = 8;
			}
			arg3
			{
				title = "Change";
				type = 11;
				enum = "change";
			}
		}
		21
		{
//			id = "Floor_LowerToLowest";
			arg1	// speed
			{
				default = 8;
			}
			arg2
			{
				title = "Change";
				type = 11;
				enum = "change";
			}
			errorchecker
			{
				floorlowertolowest = true;
			}
		}
		22
		{
//			id = "Floor_LowerToNearest";
			arg1
			{
				default = 8;
			}
			arg2
			{
				title = "Change";
				type = 11;
				enum = "change";
			}
		}
		23
		{
//			id = "Floor_RaiseByValue";
			arg1
			{
				default = 8;
			}
			arg3
			{
				title = "Change";
				type = 11;
				enum = "change";
			}
			arg4
			{
				title = "Crushing damage";
			}
		}
		24
		{
//			id = "Floor_RaiseToHighest";
			arg1	// speed
			{
				default = 8;
			}
			arg2
			{
				title = "Change";
				type = 11;
				enum = "change";
			}
			arg3
			{
				title = "Crushing damage";
			}
		}
		25
		{
//			id = "Floor_RaiseToNearest";
			arg1
			{
				default = 32;
			}
			arg2
			{
				title = "Change";
				type = 11;
				enum = "change";
			}
			arg3
			{
				title = "Crushing damage";
			}
		}
		28
		{
			title = "Floor Raise and Crush";
//			id = "Floor_RaiseAndCrush";			
			arg1
			{
				default = 8;
			}
			arg2
			{
				default = 10;
			}
		}
		35
		{
//			id = "Floor_RaiseByValueTimes8";
			arg1
			{
				default = 32;
			}
			arg2
			{
				title = "Raise by (* 8)";
			}
			arg3
			{
				title = "Change";
				type = 11;
				enum = "change";
			}
			arg4
			{
				title = "Crushing damage";
			}
		}
		36
		{
//			id = "Floor_LowerByValueTimes8";
			arg1
			{
				default = 32;
			}
			arg2
			{
				title = "Lower by (* 8)";
			}
			arg3
			{
				title = "Change";
				type = 11;
				enum = "change";
			}
		}
		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 = 8;
			}
			arg2
			{
				title = "Target Height";
			}
			arg3
			{
				title = "Negate height";
				type = 11;
				enum = "noyes";
			}
			arg4
			{
				title = "Change";
				type = 11;
				enum = "change";
			}
		}
		66
		{
//			id = "Floor_LowerInstant";
			arg3
			{
				title = "Change";
				type = 11;
				enum = "change";
			}
		}
		67
		{
//			id = "Floor_RaiseInstant";
			arg3
			{
				title = "Change";
				type = 11;
				enum = "change";
			}
			arg4
			{
				title = "Crushing damage";
			}
		}
		68
		{
//			id = "Floor_MoveToValueTimes8";
			arg1
			{
				default = 32;
			}
			arg2
			{
				title = "Target Height * 8";
			}
			arg3
			{
				title = "Negate Height";
				type = 11;
				enum = "noyes";
			}
			arg4
			{
				title = "Change";
				type = 11;
				enum = "change";
			}
		}
		95 = NULL;	// FloorAndCeiling_*ByValue really are elevators
		96 = NULL;
		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 = "Generic Floor (Boom-style)";
			id = "Generic_Floor";
			arg0
			{
				title = "Sector Tag";
				type = 13;
			}
			arg1
			{
				title = "Movement Speed";
				type = 11;
				enum = "plat_speeds";
				default = 8;
			}
			arg2
			{
				title = "Movement Amount";
			}
			arg3
			{
				title = "Target";
				type = 11;
				enum
				{
					0 = "Move by Movement Amount";
					1 = "Highest neighboring floor";
					2 = "Lowest neighboring floor";
					3 = "Nearest neighboring floor";
					4 = "Lowest neighboring ceiling";
					5 = "Sector ceiling";
					6 = "Move by the height of sector's shortest lower texture";
				}
			}
			arg4
			{
				title = "Flags";
				type = 26;
				enum
				{
					0 = "Don't copy anything";
					1 = "Copy floor texture, remove sector special";
					2 = "Copy floor texture";
					3 = "Copy floor texture and special";
				}
				flags
				{
					4 = "Use numeric model if set, trigger model if not";
					8 = "Raise floor if set, lower it if not";
					16 = "Inflict crushing damage";
				}
			}
		}
		228
		{
			title = "Platform Raise Tx0";
			id = "Plat_RaiseAndStayTx0";
			
			arg0
			{
				title = "Sector Tag";
				type = 13;
			}
			arg1
			{
				title = "Movement Speed";
				type = 11;
				enum = "plat_speeds";
				default = 4;
			}
			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 = 4;
			}
			arg2
			{
				title = "Raise by (* 8)";
			}
		}
		231
		{
			title = "Platform Toggle Ceiling";
			id = "Plat_ToggleCeiling";
			arg0
			{
				title = "Sector Tag";
				type = 13;
			}
		}
		235
		{
			title = "Transfer Floor Texture and Special from 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 = 8;
			}
			arg2
			{
				title = "Change";
				type = 11;
				enum = "change";
			}
			arg3 
			{
				title = "Crushing damage";
			}
			arg4
			{
				title = "Gap to ceiling";
			}
		}
		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 = 8;
			}
			arg2
			{
				title = "Change";
				type = 11;
				enum = "change";
			}
			arg3
			{
				title = "Crushing damage";
			}
		}
		242
		{
			title = "Floor Lower to Highest Floor with Lip";
			id = "Floor_LowerToHighest";
			
			arg0
			{
				title = "Sector Tag";
				type = 13;
			}
			arg1
			{
				title = "Movement Speed";
				type = 11;
				enum = "plat_speeds";
				default = 32;
			}
			arg2
			{
				title = "Lip (subtract 128)";
			}
			arg3
			{
				title = "Always have lip";
				type = 11;
				enum = "noyes";
			}
		}
		250
		{
			title = "Floor Lower Pillar and Raise Donut";
			id = "Floor_Donut";
			
			arg0
			{
				title = "Pillar Sector Tag";
				type = 13;
			}
			arg1
			{
				title = "Pillar Lower Speed";
				type = 11;
				enum = "plat_speeds";
				default = 4;
			}
			arg2
			{
				title = "Donut Raise Speed";
				type = 11;
				enum = "stair_speeds";
				default = 4;
			}
		}
		256
		{
			title = "Floor Lower to Highest Floor";
			id = "Floor_LowerToHighestEE";
			arg0
			{
				title = "Sector Tag";
				type = 13;
			}
			arg1
			{
				title = "Movement Speed";
				type = 11;
				enum = "plat_speeds";
				default = 8;
			}
			arg2
			{
				title = "Change";
				type = 11;
				enum = "change";
			}

			errorchecker
			{
				floorraisetohighest = true;
			}
		}
		257
		{
			title = "Floor Instant to Lowest Floor";
			id = "Floor_RaiseToLowest";
			arg0
			{
				title = "Sector Tag";
				type = 13;
			}
			arg1
			{
				title = "Change";
				type = 11;
				enum = "change";
			}
			arg2
			{
				title = "Crushing damage";
			}
		}
		
		258
		{
			title = "Floor lower to lowest ceiling";
			id = "Floor_LowerToLowestCeiling";
			arg0
			{
				title = "Sector Tag";
				type = 13;
			}
			arg1
			{
				title = "Floor Lowering Speed";
				type = 11;
				enum = "plat_speeds";
				default = 8;
			}
			arg2
			{
				title = "Change";
				type = 11;
				enum = "change";
			}
		}
		259
		{
			title = "Floor raise to ceiling";
			id = "Floor_RaiseToCeiling";
			arg0
			{
				title = "Sector Tag";
				type = 13;
			}
			arg1
			{
				title = "Speed";
				type = 11;
				enum = "plat_speeds";
				default = 8;
			}
			arg2
			{
				title = "Change";
				type = 11;
				enum = "change";
			}
			arg3
			{
				title = "Crush damage";
			}
			arg4
			{
				title = "Gap to ceiling";
			}
		}
		260
		{
			title = "Floor to ceiling instant";
			id = "Floor_ToCeilingInstant";
			arg0
			{
				title = "Sector Tag";
				type = 13;
			}
			arg1
			{
				title = "Change";
				type = 11;
				enum = "change";
			}
			arg2
			{
				title = "Crush";
			}
			arg3
			{
				title = "Gap to ceiling";
			}
		}
		261
		{
			title = "Floor lower by texture";
			id = "Floor_LowerByTexture";
			arg0
			{
				title = "Sector Tag";
				type = 13;
			}
			arg1
			{
				title = "Speed";
				type = 11;
				enum = "plat_speeds";
				default = 8;
			}
			arg2
			{
				title = "Change";
				type = 11;
				enum = "change";
			}
		}
	}

	stairs
	{
		26 = NULL;
		27 = NULL;
		31 = NULL;
		32 = NULL;
		217
		{
			title = "Stairs Build up (Doom mode)";
			id = "Stairs_BuildUpDoom";
			arg0
			{
				title = "Start Sector Tag";
				type = 13;
			}
			arg1
			{
				title = "Movement Speed";
				type = 11;
				enum = "stair_speeds";
				default = 2;
			}
			arg2
			{
				title = "Step Height";
				default = 8;
			}
			arg3
			{
				title = "Build Step Delay";
				type = 11;
				enum = "delay_tics";
			}
			arg4
			{
				title = "Reset Delay";
				type = 11;
				enum = "reset_tics";
			}
		}
		270
		{
			title = "Stairs build down (Doom mode)";
			id = "Stairs_BuildDownDoom";
			arg0
			{
				title = "Start Sector Tag";
				type = 13;
			}
			arg1
			{
				title = "Movement Speed";
				type = 11;
				enum = "stair_speeds";
				default = 2;
			}
			arg2
			{
				title = "Step Height";
				default = 8;
			}
			arg3
			{
				title = "Build Step Delay";
				type = 11;
				enum = "delay_tics";
			}
			arg4
			{
				title = "Reset Delay";
				type = 11;
				enum = "reset_tics";
			}
		}
		271
		{
			title = "Stairs build up sync (Doom mode)";
			id = "Stairs_BuildUpDoomSync";
			arg0
			{
				title = "Start Sector Tag";
				type = 13;
			}
			arg1
			{
				title = "Movement Speed";
				type = 11;
				enum = "stair_speeds";
				default = 2;
			}
			arg2
			{
				title = "Step Height";
				default = 8;
			}
			arg3
			{
				title = "Reset Delay";
				type = 11;
				enum = "reset_tics";
			}
		}
		272
		{
			title = "Stairs build down sync (Doom mode)";
			id = "Stairs_BuildDownDoomSync";
			arg0
			{
				title = "Start Sector Tag";
				type = 13;
			}
			arg1
			{
				title = "Movement Speed";
				type = 11;
				enum = "stair_speeds";
				default = 2;
			}
			arg2
			{
				title = "Step Height";
				default = 8;
			}
			arg3
			{
				title = "Reset Delay";
				type = 11;
				enum = "reset_tics";
			}
		}
		273
		{
			title = "Stairs build up (Doom mode, crushing)";
			id = "Stairs_BuildUpDoomCrush";
			arg0
			{
				title = "Start Sector Tag";
				type = 13;
			}
			arg1
			{
				title = "Movement Speed";
				type = 11;
				enum = "stair_speeds";
				default = 2;
			}
			arg2
			{
				title = "Step Height";
				default = 8;
			}
			arg3
			{
				title = "Build Step Delay";
				type = 11;
				enum = "delay_tics";
			}
			arg4
			{
				title = "Reset Delay";
				type = 11;
				enum = "reset_tics";
			}
		}
	}


	pillar
	{
		94	// Pillar_BuildAndCrush
		{
			arg3
			{
				title = "Crush Damage";
				default = 10;
			}
		}
		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";
				}
			}
		}
	}

	ceiling
	{
		title = "Ceiling";
		40
		{
//			id = "Ceiling_LowerByValue";
			arg1
			{
				default = 8;
			}
			arg2
			{
				title = "Lower by";
				default = 128;
			}
			arg3
			{
				title = "Change";
				type = 11;
				enum = "change";
			}
			arg4
			{
				title = "Crushing damage";
			}
		}
		41
		{
//			id = "Ceiling_RaiseByValue";
			arg1
			{
				default = 8;
			}			
			arg2
			{
				title = "Raise by";
				default = 128;
			}
			arg3
			{
				title = "Change";
				type = 11;
				enum = "change";
			}
		}
		42	// Ceiling Crusher Start
		{
			title = "Ceiling Crusher Start (Hexen-style)";
			arg2
			{
				default = 10;
			}
			arg3
			{
				title = "Crush Mode";
				type = 11;
				enum = "crush_mode";
			}
		}
		43	// Ceiling Crush Once
		{
			arg2
			{
				default = 10;
			}
			arg3
			{
				title = "Crush Mode";
				type = 11;
				enum = "crush_mode";
			}
		}
		44
		{
//			id = "Ceiling_CrushStop";
			arg1
			{
				title = "Stopping mode";
				type = 11;
				enum
				{
					0 = "Depending on game";
					1 = "Pause crusher, keep ceiling busy";
					2 = "Remove crusher, free ceiling for other effects";
				}
			}
		}
		45
		{
//			id = "Ceiling_CrushRaiseAndStay";
			arg2
			{
				title = "Crush Damage";
				default = 10;
			}
			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 = 8;
			}
			arg2
			{
				title = "Target Height";
			}
			arg3
			{
				title = "Negate Height";
				type = 11;
				enum = "noyes";
			}
			arg4
			{
				title = "Change";
				type = 11;
				enum = "change";
			}
		}
		69
		{
//			id = "Ceiling_MoveToValueTimes8";
			arg1
			{
				default = 32;
			}			
			arg4
			{
				title = "Change";
				type = 11;
				enum = "change";
			}
		}
		97
		{
			title = "Ceiling Lower And Crush with Gap";
			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 = 10;
			}
		
			arg3
			{
				title = "Gap to floor";
				default = 8;
			}
			arg4
			{
				title = "Crush Mode";
				type = 11;
				enum = "crush_mode";
			}
		}
		104
		{
			title = "Ceiling Crush And Raise Silent with Gap";
			id = "Ceiling_CrushAndRaiseSilentDist";
			arg0
			{
				title = "Sector Tag";
				type = 13;
			}
			arg1
			{
				title = "Gap to floor";
				default = 8;
			}
			arg2
			{
				title = "Movement Speed";
				type = 11;
				enum = "plat_speeds";
				default = 16;
			}
			arg3
			{
				title = "Crush Damage";
				default = 10;
			}
			arg4
			{
				title = "Crush Mode";
				type = 11;
				enum = "crush_mode";
			}
		}
		168
		{
			title = "Ceiling Crush And Raise Dist";
			id = "Ceiling_CrushAndRaiseDist";
			arg0
			{
				title = "Sector Tag";
				type = 13;
			}
			arg1
			{
				title = "Gap to floor";
				default = 8;
			}
			arg2
			{
				title = "Movement Speed";
				type = 11;
				enum = "plat_speeds";
				default = 16;
			}
			arg3
			{
				title = "Crush Damage";
				default = 10;
			}
			arg4
			{
				title = "Crush Mode";
				type = 11;
				enum = "crush_mode";
			}
		}
		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 = 8;
			}
			arg2
			{
				title = "Change";
				type = 11;
				enum = "change";
			}
			arg3
			{
				title = "Crushing Damage";
			}
			arg4
			{
				title = "Gap to Floor";
			}
		}
		193
		{
			title = "Ceiling Lower Instantly by Value * 8";
			id = "Ceiling_LowerInstant";
			arg0
			{
				title = "Sector Tag";
				type = 13;
			}
			arg2
			{
				title = "Lower by (* 8)";
			}
			arg3
			{
				title = "Change";
				type = 11;
				enum = "change";
			}
			arg4
			{
				title = "Crushing Damage";
			}
		}
		194
		{
			title = "Ceiling Raise Instantly by Value * 8";
			id = "Ceiling_RaiseInstant";
			
			arg0
			{
				title = "Sector Tag";
				type = 13;
			}
			arg2
			{
				title = "Raise by (* 8)";
			}
			arg3
			{
				title = "Change";
				type = 11;
				enum = "change";
			}
		}
		195
		{
			title = "Ceiling Crush Once and Open (Settable Speeds)";
			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 = 10;
			}
			arg4
			{
				title = "Crush Mode";
				type = 11;
				enum = "crush_mode";
			}
		}
		196
		{
			title = "Ceiling Crush Start (Settable Speeds)";
			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 = 10;
			}
			arg4
			{
				title = "Crush Mode";
				type = 11;
				enum = "crush_mode";
			}
		}
		197
		{
			title = "Ceiling Crush Start (settable speeds, 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 = 10;
			}
			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 = 8;
			}
			arg2
			{
				title = "Raise by (* 8)";
			}
			arg3
			{
				title = "Change";
				type = 11;
				enum = "change";
			}
		}
		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 = 8;
			}
			arg2
			{
				title = "Lower by (* 8)";
			}
			arg3
			{
				title = "Change";
				type = 11;
				enum = "change";
			}
			arg4
			{
				title = "Crush";
			}
		}
		201
		{
			title = "Generic Ceiling (Boom style)";
			id = "Generic_Ceiling";
			arg0
			{
				title = "Sector Tag";
				type = 13;
			}
			arg1
			{
				title = "Movement Speed";
				type = 11;
				enum = "plat_speeds";
				default = 8;
			}
			arg2
			{
				title = "Movement Amount";
			}
			arg3
			{
				title = "Target";
				type = 11;
				enum
				{
					0 = "Move by Movement Amount";
					1 = "Highest neighboring ceiling";
					2 = "Lowest neighboring ceiling";
					3 = "Nearest neighboring ceiling";
					4 = "Highest neighboring floor";
					5 = "Sector floor";
					6 = "Move by the height of sector's shortest upper texture";
				}
			}
			arg4
			{
				title = "Flags";
				type = 26;
				enum
				{
					0 = "Don't copy anything";
					1 = "Copy ceiling texture, remove sector special";
					2 = "Copy ceiling texture";
					3 = "Copy ceiling texture and special";
				}
				flags
				{
					4 = "Use numeric model if set, trigger model if not";
					8 = "Raise ceiling if set, lower it if not";
					16 = "Inflict crushing damage";
				}
			}
		}
		205
		{
			title = "Generic crusher (Boom style)";
			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 = 10;
			}
		}
		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 = 8;
			}
			arg2
			{
				title = "Change";
				type = 11;
				enum = "change";
			}
		}
		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;
			}
			arg2
			{
				title = "Change";
				type = 11;
				enum = "change";
			}
			arg3
			{
				title = "Crushing damage";
			}
		}
		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 = 8;
			}
			arg2
			{
				title = "Change";
				type = 11;
				enum = "change";
			}
			arg3
			{
				title = "Crushing Damage";
			}
			arg4
			{
				title = "Gap to Floor";
			}
		}
		255
		{
			title = "Ceiling Crush Once and Open (settable speeds, 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 = 10;
			}
			arg4
			{
				title = "Crush Mode";
				type = 11;
				enum = "crush_mode";
			}
		}
		262
		{
			title = "Ceiling Raise to Highest";
			id = "Ceiling_RaiseToHighest";
			arg0
			{
				title = "Sector Tag";
				type = 13;
			}
			arg1
			{
				title = "Movement Speed";
				type = 11;
				enum = "plat_speeds";
				default = 8;
			}
			arg2
			{
				title = "Change";
				type = 11;
				enum = "change";
			}
		}
		263
		{
			title = "Ceiling instant to highest";
			id = "Ceiling_ToHighestInstant";
			arg0
			{
				title = "Sector Tag";
				type = 13;
			}
			arg1
			{
				title = "Change";
				type = 11;
				enum = "change";
			}
			arg2
			{
				title = "Crushing damage";
			}
		}
		264
		{
			title = "Ceiling lower to nearest";
			id = "Ceiling_LowerToNearest";
			arg0
			{
				title = "Sector Tag";
				type = 13;
			}
			arg1
			{
				title = "Movement Speed";
				type = 11;
				enum = "plat_speeds";
				default = 8;
			}
			arg2
			{
				title = "Change";
				type = 11;
				enum = "change";
			}
			arg3
			{
				title = "Crushing damage";
			}
		}
		265
		{
			title = "Ceiling raise to lowest";
			id = "Ceiling_RaiseToLowest";
			arg0
			{
				title = "Sector Tag";
				type = 13;
			}
			arg1
			{
				title = "Movement Speed";
				type = 11;
				enum = "plat_speeds";
				default = 8;
			}
			arg2
			{
				title = "Change";
				type = 11;
				enum = "change";
			}
		}
		266
		{
			title = "Ceiling raise to highest floor";
			id = "Ceiling_RaiseToHighestFloor";
			arg0
			{
				title = "Sector Tag";
				type = 13;
			}
			arg1
			{
				title = "Movement Speed";
				type = 11;
				enum = "plat_speeds";
				default = 8;
			}
			arg2
			{
				title = "Change";
				type = 11;
				enum = "change";
			}
		}
		267
		{
			title = "Ceiling to floor instant";
			id = "Ceiling_ToFloorInstant";
			arg0
			{
				title = "Sector Tag";
				type = 13;
			}
			arg1
			{
				title = "Change";
				type = 11;
				enum = "change";
			}
			arg2
			{
				title = "Crushing damage";
			}
			arg3
			{
				title = "Gap to floor";
			}
		}
		268
		{
			title = "Ceiling raise by upper texture";
			id = "Ceiling_RaiseByTexture";
			arg0
			{
				title = "Sector Tag";
				type = 13;
			}
			arg1
			{
				title = "Movement Speed";
				type = 11;
				enum = "plat_speeds";
				default = 8;
			}
			arg2
			{
				title = "Change";
				type = 11;
				enum = "change";
			}
		}
		269
		{
			title = "Ceiling lower by texture";
			id = "Ceiling_LowerByTexture";
			arg0
			{
				title = "Sector Tag";
				type = 13;
			}
			arg1
			{
				title = "Movement Speed";
				type = 11;
				enum = "plat_speeds";
				default = 8;
			}
			arg2
			{
				title = "Change";
				type = 11;
				enum = "change";
			}
			arg3
			{
				title = "Crushing damage";
			}
		}
	}

	transfer
	{
		title = "Transfer";
		
		190
		{
			title = "Transfer upper texture to tagged sectors' skies";
			id = "Static_Init";
			requiresactivation = false;
			
			arg0
			{
				title = "Sector Tag";
				type = 13;
			}
			arg1
			{
				title = "Must be 255";
				default = 255;
			}
			arg2
			{
				title = "Flip Sky";
				type = 11;
				enum = "noyes";
			}
		}
		209
		{
			title = "Transfer Heights";
			id = "Transfer_Heights";
			requiresactivation = false;
			
			arg0
			{
				title = "Sector Tag";
				type = 13;
			}
		}
		
		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;
			}
		}		
	}

	platform
	{
		60
		{
			title = "Platform Perpetual Move (Lip 8)";
//			id = "Plat_PerpetualRaise";
			arg1	// speed
			{
				default = 8;
			}
		}
		61
		{
//			id = "Plat_Stop";
			arg1
			{
				title = "Stopping mode";
				type = 11;
				enum
				{
					0 = "Depending on current game";
					1 = "Pause lift, keep floor busy (Doom)";
					2 = "Remove lift, free floor for other effects (Hexen)";
				}
			}
		}
		62
		{
			title = "Platform Lower Wait Raise (Lip 8)";
//			id = "Plat_DownWaitUpStay";
			arg1	// lift
			{
				default = 32;
			}
		}
		63
		{
			id = "Plat_DownByValue";
			arg1
			{
				default = 32;
			}
		}
		64
		{
//			id = "Plat_UpWaitDownStay";
			arg1
			{
				default = 32;
			}
		}
		65
		{
//			id = "Plat_UpByValue";
			arg1
			{
				default = 32;
			}
		}
		206
		{
			title = "Platform Lower Wait Raise";
			id = "Plat_DownWaitUpStayLip";
			arg0
			{
				title = "Sector Tag";
				type = 13;
			}
			arg1
			{
				title = "Movement Speed";
				type = 11;
				enum = "plat_speeds";
				default = 32;
			}
			arg2
			{
				title = "Reverse Delay (tics)";
				type = 11;
				enum = "delay_tics";
				default = 105;
			}
			arg3
			{
				title = "Lip Amount";
			}
		}
		207
		{
			title = "Platform Perpetual Move";
			id = "Plat_PerpetualRaiseLip";
			arg0
			{
				title = "Sector Tag";
				type = 13;
			}
			arg1
			{
				title = "Movement Speed";
				type = 11;
				enum = "plat_speeds";
				default = 8;
			}
			arg2
			{
				title = "Reverse Delay (tics)";
				type = 11;
				enum = "delay_tics";
				default = 105;
			}
			arg3
			{
				title = "Lip Amount";
			}
		}
	}

	teleport
	{
		title = "Teleport";
		
		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 = NULL;
		215
		{
			title = "Teleport to Line";
			id = "Teleport_Line";
			
			arg0
			{
				title = "Argument 1";
				type = 0;
			}
			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;
			}
		}
		19
		{
			title = "Thing Stop";
			id = "Thing_Stop";
			
			arg0
			{
				title = "Thing Tag";
				type = 14;
			}
		}
		72 // ThrustThing
		{
			arg3
			{
				title = "Target Thing Tag";
				type = 14;
			}
		}
		73 // DamageThing
		{
			arg1
			{
				title = "Death";
				type = 11;
				enum = "death_types";
			}
		}
		119
		{
			title = "Damage Thing by Tag";
			id = "Thing_Damage";
			
			arg0
			{
				title = "Thing Tag";
				type = 14;
			}
			arg1
			{
				title = "Damage";
				default = 100;
			}
			arg2
			{
				title = "Death";
				type = 11;
				enum = "death_types";
			}
		}
		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";
			}
		}
		133
		{
//			id = "Thing_Destroy";
			arg1
			{
				type = 0;
			}
		}
		135	// Thing_Spawn
		{
			arg3
			{
				title = "New Thing Tag";
				type = 14;
			}
		}
		137	// Thing_SpawnNoFog
		{
			arg3
			{
				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;
			}
		}
		248
		{
			title = "Heal Thing";
			id = "HealThing";
			
			arg0
			{
				title = "Heal Amount";
			}
			arg1
			{
				title = "Max health";
			}
		}
		
	}

	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";
				str = true;
				titlestr = "Script Name";
			}
			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";
				str = true;
				titlestr = "Script Name";
			}
			
			arg1
			{
				title = "Map Number";
			}
			
			arg2
			{
				title = "Script Argument 1";
			}
			
			arg3
			{
				title = "Script Argument 2";
			}
			
			arg4
			{
				title = "Key Number";
				type = 11;
				enum = "keys";
			}
		}
		226
		{
			title = "Script Execute Always";
			id = "ACS_ExecuteAlways";
			
			arg0
			{
				title = "Script Number";
				str = true;
				titlestr = "Script Name";
			}
			
			arg1
			{
				title = "Map Number";
			}
			
			arg2
			{
				title = "Script Argument 1";
			}
			
			arg3
			{
				title = "Script Argument 2";
			}
			
			arg4
			{
				title = "Script Argument 3";
			}
		}
	}

	end
	{
		74	// Teleport_NewMap
		{
			title = "Exit to Map";
			id = "Teleport_NewMap";
			arg0
			{
				title = "Map Number";
			}
		}
		243
		{
			title = "End Normal";
			id = "Exit_Normal";			
		}
		244
		{
			title = "End Secret";
			id = "Exit_Secret";
		}
	}

	scroll
	{
		title = "Scroll";
		
		222
		{
			title = "Scroll Texture Model";
			id = "Scroll_Texture_Model";
			requiresactivation = false;
			
			arg0
			{
				title = "Line id";
				type = 15;
			}
			
			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;
		}
	}


	light
	{
		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 Neighbour";
			id = "Light_MinNeighbor";
			
			arg0
			{
				title = "Sector Tag";
				type = 13;
			}
		}
		234
		{
			title = "Light Change to Brightest Neighbour";
			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";
			}
		}
		
		57
		{
			title = "Sector Set Portal (legacy encapsulation)";
			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 = "Linked 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";
			}
		}
		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";
			}
		}
// This is tentative		
//		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";
//			}
//		}		
		218
		{
			title = "Sector Wind";
			id = "Sector_SetWind";
			requiresactivation = false;
			
			arg0
			{
				title = "Sector Tag";
				type = 13;
			}
			arg1
			{
				title = "Wind Strength";
			}
			arg2
			{
				title = "Wind Angle";
				type = 22;
			}
			arg3
			{
				title = "Flags";
				type = 12;
				enum
				{
					1 = "Use line vector";
					2 = "Use Heretic model";
				}
			}
		}
		219
		{
			title = "Sector Friction";
			id = "Sector_SetFriction";
			requiresactivation = false;
			
			arg0
			{
				title = "Sector Tag";
				type = 13;
			}
		}
		
		220
		{
			title = "Sector Current";
			id = "Sector_SetCurrent";
			requiresactivation = false;
			
			arg0
			{
				title = "Sector Tag";
				type = 13;
			}
			arg1
			{
				title = "Current Strength";
			}
			arg2
			{
				title = "Current Angle";
				type = 22;
			}
			arg3
			{
				title = "Flags";
				type = 12;
				enum
				{
					1 = "Use line vector";
					2 = "Use Heretic model";
				}
			}
		}
		
		227
		{
			title = "Setup pusher or puller thing";
			id = "PointPush_SetForce";
			requiresactivation = false;
			arg0
			{
				title = "Sector Tag";
				type = 13;
			}
			arg1
			{
				title = "Thing Tag";
				type = 14;
			}
			arg2
			{
				title = "Strength";
				default = 64;
			}
			arg3
			{
				title = "Use line vector";
				type = 11;
				enum = "noyes";
			}
		}
	}

	change
	{
		title = "Change";
		
		179
		{
			title = "Change Skill";
			id = "ChangeSkill";
			
			arg0
			{
				title = "New Skill Level";
				type = 11;
				enum 
				{
					0 = "I'm too young to die!";
					1 = "Hey, not too rough!";
					2 = "Hurt me plenty!";
					3 = "Ultra-violence!";
					4 = "Nightmare!!";
				}
				default = 3;
			}
		}
	}

	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";
				}
			}
		}
		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";
				}
			}
		}
	}

	portal
	{
		title = "Portal";
		9
		{
			title = "Line Horizon";
			id = "Line_Horizon";
			requiresactivation = false;
		}
		300
		{
			title = "Portal Define";
			id = "Portal_Define";
			requiresactivation = false;
			arg0
			{
				title = "Portal id";
				type = 0;
			}
			arg1
			{
				title = "Type";
				type = 11;
				enum
				{
					0 = "Plane";
					1 = "Horizon";
					2 = "Skybox";
					3 = "Anchor";
					4 = "Two-way Anchor";
					5 = "Linked";
				}
			}
			arg2
			{
				title = "Anchor line id";
				type = 15;
				tooltip = "Only for anchored, two-way and linked portals, specifies the target line for the portal to point to. Non-linked portals can also rotate the view, based on the relative orientation of the linedefs.";
			}
			arg3
			{
				title = "Z parameter";
				type = 0;
				tooltip = "For anchored and two-way anchored portal: specifies the visual Z offset. For linked portal: specifies the Z position where the portal will appear, relative to its default position (front sector's floor or ceiling height).";
			}
			arg4
			{
				title = "Flipped anchor";
				type = 11;
				enum = "noyes";
				tooltip = "For anchored and two-way anchored portals: treat the anchored line as flipped, when calculating the rotation angle.";
			}
		}
		301
		{
			title = "Line Quick Portal";
			id = "Line_QuickPortal";
			requiresactivation = false;
			arg0
			{
				title = "Non-interactive";
				type = 3;
			}
			linetolinetag = true;
			linetolinesameaction = true;
		}
	}

	elevator
	{
		title = "Elevator";
		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 = 8;
			}
			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 = 8;
			}
			
			arg2
			{
				title = "Raise by";
			}
		}
		
		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 = 32;
			}

			errorchecker
			{
				floorraisetonexthigher = true;
			}
		}
		246
		{
			title = "Elevator Move to Current Floor";
			id = "Elevator_MoveToFloor";
			
			arg0
			{
				title = "Sector Tag";
				type = 13;
			}
			arg1
			{
				title = "Movement Speed";
				type = 11;
				enum = "plat_speeds";
				default = 32;
			}
		}
		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 = 32;
			}
		}
	}
	polyobj
	{
		2
		{
//			id = "Polyobj_RotateLeft";
			arg1
			{
				default = 8;
			}			
			arg2
			{
				default = 64;
			}
		}
		3
		{
//			id = "Polyobj_RotateRight";
			arg1
			{
				default = 8;
			}
			arg2
			{
				default = 64;
			}
		}
		4
		{
//			id = "Polyobj_Move";
			arg1
			{
				default = 8;
			}
			arg2
			{
				default = 64;
			}
			arg3
			{
				default = 128;
			}
		}
		7
		{
//			id = "Polyobj_DoorSwing";		
			arg2
			{
				default = 64;
			}
			arg3
			{
				default = 150;
			}
		}
		8
		{
//			id = "Polyobj_DoorSlide";
			arg4
			{
				default = 150;
			}
		}
		87
		{
			title = "Polyobject stop movement";
			id = "Polyobj_Stop";
			arg0
			{
				title = "Polyobject Number";
				type = 25;
			}
		}
		90
		{
//			id = "Polyobj_OR_RotateLeft";		
			arg1
			{
				default = 8;
			}
			arg2
			{
				default = 64;
			}
		}
		91
		{
//			id = "Polyobj_OR_RotateRight";
			arg1
			{
				default = 8;
			}
			arg2
			{
				default = 64;
			}
		}
		92
		{
//			id = "Polyobj_OR_Move";
			arg1
			{
				default = 8;
			}
		}
	}
	sector
	{
		48 //Sector_Attach3dMidtex
		{
			arg0
			{
				title = "Line ID";
				type = 0;
			}
		}
	}
	line
	{
		121 = NULL;
	}
	use
	{
		129 = NULL;	// not yet
	}
}