	; :ts=4
    ; Includes from this directory...
	include	'deficons.i'


	; Now system include files...
    ; incdir	"Include:"
	include	'dos/dosextens.i'

	SECTION	TEXT,DATA

	dc.b	'project',0
	dc.b		ACT_END
	dc.b	TYPE_DOWN_LEVEL


	dc.b		'ascii',0
	dc.b			ACT_ISASCII
	dc.b			ACT_END
	dc.b		TYPE_DOWN_LEVEL

	dc.b            'MuFS_KeyFile',0
	dc.b				ACT_NAMEPATTERN,'.MultiUser.Keyfile',0
	dc.b				ACT_END

	dc.b			'html',0
	dc.b				ACT_NAMEPATTERN,'#?.htm(|l)',0
	dc.b				ACT_OR
	dc.b				ACT_SEARCHSKIPSPACES,-5,'<HTML'
	dc.b				ACT_OR
	dc.b				ACT_SEARCHSKIPSPACES,-5,'<BODY'
	dc.b				ACT_OR
	dc.b				ACT_SEARCHSKIPSPACES,-5,'<HEAD'
	dc.b				ACT_END


	dc.b			'amigaguide',0
	dc.b				ACT_NAMEPATTERN,'#?.guide',0
	dc.b				ACT_OR
	dc.b				ACT_SEARCHSKIPSPACES,-9,'@database'
	dc.b				ACT_END

	dc.b			'doc',0						* Idea from DefIconsUpd
	dc.b				ACT_NAMEPATTERN,'#?(.doc|.text|readme#?)',0
    dc.b				ACT_END

	dc.b			'postscript',0
	dc.b				ACT_NAMEPATTERN,'#?.ps',0
	dc.b				ACT_OR
	dc.b				ACT_MATCH,0,0,-4,'%!PS'
	dc.b				ACT_END
	
	dc.b			'pdf',0
	dc.b				ACT_NAMEPATTERN,'#?.pdf',0
	dc.b				ACT_END

	dc.b			'fd',0
	dc.b				ACT_NAMEPATTERN,'#?.fd',0
	dc.b				ACT_OR
	dc.b				ACT_SEARCH,-6,'##bias'
	dc.b				ACT_END

	dc.b			'mountlist',0
	dc.b				ACT_SEARCH,-6,'device'
	dc.b				ACT_SEARCH,1,'='
	dc.b				ACT_SEARCH,-8,'.device',$0A
	dc.b				ACT_OR
	dc.b				ACT_SEARCH,-10,'filesystem'
	dc.b				ACT_SEARCH,1,'='
	dc.b				ACT_SEARCH,-11,'filesystem',$0A
	dc.b				ACT_OR
	dc.b				ACT_SEARCH,-7,'handler'
	dc.b				ACT_SEARCH,1,'='
	dc.b				ACT_SEARCH,-9,'-handler',$0A
	dc.b				ACT_END




	dc.b			'filearchive',0
	dc.b				ACT_MACROCLASS
	dc.b				ACT_END
	dc.b			TYPE_DOWN_LEVEL
	dc.b				'uuencode',0
	dc.b					ACT_SEARCH,-6,'begin '
	dc.b					ACT_SEARCH,2,$0A,'M'
	dc.b					ACT_MATCH,0,62,2,$0A,'M'
	dc.b					ACT_OR
	dc.b					ACT_SEARCH,-6,'begin '
	dc.b					ACT_SEARCH,2,$0A,'M'
	dc.b					ACT_MATCH,0,63,2,$0A,'M'
	dc.b					ACT_END
	dc.b				TYPE_UP_LEVEL

	dc.b			'install',0
	dc.b				ACT_SEARCH,-5,'(if ('
	dc.b				ACT_OR
	dc.b				ACT_SEARCH,-10,'(complete '
	dc.b				ACT_OR
	dc.b				ACT_SEARCH,-5,'(set '
	dc.b				ACT_END




	dc.b			'src',0
	dc.b				ACT_MACROCLASS
	dc.b				ACT_END
	dc.b			TYPE_DOWN_LEVEL
	dc.b				'p',0
	dc.b					ACT_NAMEPATTERN,'#?.p(as|)(.bak|)',0
	dc.b					ACT_END

	dc.b				'c',0
	dc.b					ACT_NAMEPATTERN,'#?.c(.bak|)',0
	dc.b					ACT_END

	dc.b				'cpp',0
	dc.b					ACT_NAMEPATTERN,'#?.c(pp|xx|c)(.bak|)',0
	dc.b					ACT_END

	dc.b				'h',0
	dc.b					ACT_NAMEPATTERN,'#?.h(pp|)(.bak|)',0
	dc.b					ACT_END
	
	dc.b				'i',0
	dc.b					ACT_NAMEPATTERN,'#?.i(.bak|)',0
	dc.b					ACT_END

	dc.b				'asm',0
	dc.b					ACT_NAMEPATTERN,'#?.(a|asm|a68|s)(.bak|)',0
	dc.b					ACT_END
	
	dc.b				'java',0
	dc.b					ACT_NAMEPATTERN,'#?.(jav|java)',0
	dc.b					ACT_END

	dc.b				'basic',0
	dc.b					ACT_MACROCLASS
	dc.b                    ACT_END
    dc.b                TYPE_DOWN_LEVEL
	dc.b					'bbasic',0
	dc.b						ACT_NAMEPATTERN,'#?.(bas|gfa)(.bak|)',0
	dc.b						ACT_END
	dc.b                    TYPE_UP_LEVEL

	dc.b				'e',0		; E source
	dc.b					ACT_NAMEPATTERN,'#?.e(.bak|)',0
	dc.b					ACT_END

	dc.b				'm',0		; E module
	dc.b					ACT_NAMEPATTERN,'#?.m(.bak|)',0
	dc.b					ACT_END
	dc.b				TYPE_UP_LEVEL

	dc.b			'tex',0
	dc.b				ACT_NAMEPATTERN,'#?.(tex|sty)(.bak|)',0
	dc.b				ACT_END

	dc.b			'make',0
	dc.b				ACT_NAMEPATTERN,'#?makefile#?',0
	dc.b				ACT_END

	dc.b			'script',0
	dc.b				ACT_PROTECTION,0,0,0,FIBF_SCRIPT,0,0,0,FIBF_SCRIPT
	dc.b				ACT_END

	dc.b			'email',0				* Idea from DefIconsUpd
	dc.b				ACT_SEARCH,-5,'From:'
	dc.b				ACT_SEARCH,-3,'To:'
	dc.b				ACT_OR
	dc.b                ACT_SEARCH,-9,'Received:'
	dc.b				ACT_OR
	dc.b				ACT_SEARCH,-12,'Return-Path:'
	dc.b				ACT_SEARCH,-13,'Delivered-To:'
	dc.b				ACT_END

	dc.b			'prolog',0
	dc.b				ACT_NAMEPATTERN,'#?.pl(.bak|)',0
	dc.b				ACT_END

* leave this as last, there are MANY files which look like REXX but aren't
	dc.b			'rexx',0
	dc.b				ACT_NAMEPATTERN,'#?.rexx',0
	dc.b				ACT_OR
	dc.b				ACT_SEARCHSKIPSPACES,2,'/*'
	dc.b				ACT_END

	dc.b			TYPE_UP_LEVEL






	dc.b		'tool',0
	dc.b			ACT_MATCH,0,0,4,$00,$00,$03,$F3
	dc.b			ACT_END
	dc.b		TYPE_DOWN_LEVEL
	dc.b			'device',0
	dc.b				ACT_SEARCH,2,$03,$E9
	dc.b				ACT_SEARCH,2,$4A,$FC
	dc.b				ACT_MATCH,0,12,1,$03
	dc.b				ACT_OR
	dc.b				ACT_NAMEPATTERN,'#?.device',0
	dc.b				ACT_END

	dc.b			'library',0
	dc.b				ACT_SEARCH,2,$03,$E9
	dc.b				ACT_SEARCH,2,$4A,$FC
	dc.b				ACT_MATCH,0,12,1,$09
	dc.b				ACT_OR
	dc.b				ACT_NAMEPATTERN,'#?.(library|datatype|gadget|class|image)',0
	dc.b				ACT_END

	dc.b			'keymap',0
	dc.b				ACT_SEARCH,2,$03,$E9
	dc.b				ACT_MATCH,0,6,10,0,0,0,0,0,0,0,0,0,0
	dc.b				ACT_END

	dc.b			'font',0
	dc.b				ACT_SEARCH,2,$03,$E9
	dc.b				ACT_MATCH,0,6,1,$70
	dc.b				ACT_MATCH,0,8,12,$4E,$75,0,0,0,0,0,0,0,0,$0C,0
	dc.b				ACT_MATCH,0,24,2,$0F,$80
	dc.b				ACT_END

	dc.b			'printer',0
	dc.b				ACT_SEARCH,2,$03,$E9
	dc.b				ACT_MATCH,0,6,5,$70,$00,$4E,$75,$00
	dc.b				ACT_MATCH,0,14,2,0,0
	dc.b				ACT_MATCH,0,18,2,0,0
	dc.b				ACT_MATCH,0,22,2,0,0
	dc.b				ACT_MATCH,0,26,2,0,0
	dc.b				ACT_MATCH,0,30,2,0,0
	dc.b				ACT_END

	dc.b			'sfx',0			* LHA self-extracting
	dc.b				ACT_MATCH,0,44,4,'SFX!'
	dc.b				ACT_END

	dc.b			'filesystem',0
	dc.b				ACT_NAMEPATTERN,'#?filesystem',0
	dc.b				ACT_END

	dc.b			'handler',0
	dc.b				ACT_NAMEPATTERN,'#?handler',0
	dc.b				ACT_END

* leave this as the last WBTool son
	dc.b			'loadmodule',0
	dc.b				ACT_SEARCH,2,$03,$E9
	dc.b				ACT_MATCH,0,6,1,$70
	dc.b				ACT_MATCH,0,8,2,$4E,$75
	dc.b				ACT_OR
	dc.b				ACT_PROTECTION,0,0,0,FIBF_EXECUTE,0,0,0,FIBF_EXECUTE
	dc.b				ACT_END
	dc.b			TYPE_UP_LEVEL






	dc.b		'iff',0			* special IFF files
	dc.b			ACT_MATCH,0,0,4,'CAT '
	dc.b			ACT_OR
	dc.b			ACT_MATCH,0,0,4,'LIST'
	dc.b			ACT_END

	dc.b		'iff',0
	dc.b			ACT_MATCH,0,0,4,'FORM'
	dc.b			ACT_MATCH,0,16,1,0	* this is a strange way to ensure that
										* the file is at least 17 bytes long
	dc.b			ACT_END



	dc.b		TYPE_DOWN_LEVEL			* Name was changed to be identical to the one from from DefIconsUpd
	dc.b			'CTLG',0
	dc.b				ACT_MATCH,0,8,4,'CTLG'
	dc.b				ACT_END
	
	dc.b			'FTXT',0
	dc.b				ACT_MATCH,0,8,4,'FTXT'
	dc.b				ACT_END
	
	dc.b			'DTYP',0
	dc.b				ACT_MATCH,0,8,4,'DTYP'
	dc.b				ACT_END
	
	dc.b			'fax',0 * MultiFax
	dc.b				ACT_MATCH,0,8,4,'FAXX'
	dc.b				ACT_END
	
	dc.b			'wwd',0 * WordWorth
	dc.b				ACT_MATCH,0,8,4,'WOWO'
	dc.b				ACT_END
	
	dc.b			'fwd',0 * FinalWriter
	dc.b				ACT_MATCH,0,8,4,'SWRT'
	dc.b				ACT_END
	
	dc.b			'PTCH',0 * SASC, spatch
	dc.b				ACT_MATCH,0,8,4,'PTCH'
	dc.b				ACT_END
	
	dc.b			'sound',0
	dc.b				ACT_MACROCLASS
	dc.b				ACT_END
	dc.b			TYPE_DOWN_LEVEL
	dc.b				'8svx',0        * how many ways are there to match an 8SVX, for example Mr. Magnum?
	dc.b					ACT_MATCH,0,8,4,'8SVX'
	dc.b					ACT_END

	dc.b                'AIFF',0
	dc.b					ACT_MATCH,0,8,3,'AIF'
	dc.b					ACT_END
	dc.b				TYPE_UP_LEVEL

	dc.b            'video',0
	dc.b				ACT_MACROCLASS
	dc.b				ACT_END
	dc.b			TYPE_DOWN_LEVEL
	dc.b				'anim',0
	dc.b					ACT_MATCH,0,8,4,'ANIM'
	dc.b					ACT_END
	dc.b                TYPE_UP_LEVEL


	dc.b            'music',0           * name changed when I got DefIconsUpd
	dc.b				ACT_MACROCLASS
	dc.b				ACT_END
	dc.b            TYPE_DOWN_LEVEL
	dc.b				'smus',0		* Idea from DefIconsUpd is there another way to recognise this Mr. Magnum?
	dc.b					ACT_MATCH,0,8,4,'SMUS'
	dc.b					ACT_END

	dc.b				'cmus',0		* Oh, look! How many ways are there to recognise one of these?
	dc.b					ACT_MATCH,0,8,4,'CMUS'
	dc.b					ACT_END

	dc.b				'dmcs',0
	dc.b					ACT_MATCH,0,8,4,'DMCS'
	dc.b					ACT_END
	dc.b                TYPE_UP_LEVEL


	dc.b			'ILBM',0
	dc.b				ACT_MATCH,0,8,4,'ILBM'
	dc.b				ACT_END
	dc.b			TYPE_DOWN_LEVEL
	dc.b				'brush',0
	dc.b					ACT_SEARCH,4,'GRAB'
	dc.b					ACT_END

	dc.b                'game',0
	dc.b					ACT_MACROCLASS
	dc.b					ACT_END
	dc.b                TYPE_DOWN_LEVEL
	dc.b					'worms',0				* Worms levels are ilbms...
	dc.b						ACT_MATCH,0,20,4,$03,$c0,$01,$5e   * check size of ilbm
	dc.b						ACT_MATCH,0,28,1,$03               * 3 bitplanes deep
    dc.b						ACT_NAMEPATTERN,'#?.wrm',0
	dc.b						ACT_END
	dc.b					TYPE_UP_LEVEL

	dc.b				TYPE_UP_LEVEL
	dc.b			TYPE_UP_LEVEL

	dc.b			'kickstart',0			* Idea came from from DefIconsUpd.
	dc.b				ACT_MATCH,0,8,4,'KICK'
	dc.b				ACT_END

	dc.b            'game',0				* if the 'game' icon is around then this
	dc.b				ACT_MACROCLASS		* gets preference
    dc.b				ACT_END
	dc.b        	TYPE_DOWN_LEVEL			* save games from Dune II
	dc.b				'dune2',0
    dc.b                ACT_NAMEPATTERN,'_SAVE???.DAT',0
	dc.b				ACT_MATCH,0,0,4,'FORM'
	dc.b				ACT_MATCH,0,8,8,'SCENNAME'
	dc.b				ACT_END
	dc.b				TYPE_UP_LEVEL





	dc.b		'empty',0
	dc.b			ACT_FILESIZE,0,0,0,0
	dc.b			ACT_END

	dc.b		'object',0
	dc.b			ACT_NAMEPATTERN,'#?.(o|obj)',0
	dc.b			ACT_END

	dc.b		'lib',0
	dc.b			ACT_NAMEPATTERN,'#?.lib',0
	dc.b			ACT_END






	dc.b		'archive',0
	dc.b			ACT_MACROCLASS
	dc.b			ACT_END
	dc.b		TYPE_DOWN_LEVEL
	dc.b			'lharc',0
	dc.b				ACT_MATCH,0,2,3,'-lh'
	dc.b				ACT_MATCH,0,6,1,'-'
	dc.b				ACT_END

	dc.b			'lzx',0
	dc.b				ACT_MATCH,0,0,3,'LZX'
	dc.b				ACT_END

	dc.b			'arc',0
	dc.b				ACT_MATCH,0,0,2,$1A,$08
	dc.b				ACT_END

	dc.b			'arj',0
	dc.b				ACT_MATCH,0,0,2,$60,$EA
	dc.b				ACT_END

	dc.b			'zip',0
	dc.b				ACT_MATCH,0,0,4,'PK',$03,$04
	dc.b				ACT_END

	dc.b			'zoo',0
	dc.b				ACT_MATCH,0,0,4,'ZOO '
	dc.b				ACT_END

	dc.b			'tar',0
	dc.b				ACT_NAMEPATTERN,'#?.tar',0
	dc.b				ACT_OR
	dc.b				ACT_MATCH,$01,$59,8,'AmigaTar'
	dc.b				ACT_END
	dc.b			TYPE_UP_LEVEL





	dc.b		'diskarchive',0
	dc.b			ACT_MACROCLASS
	dc.b			ACT_END
	dc.b		TYPE_DOWN_LEVEL
	dc.b			'dms',0
	dc.b				ACT_MATCH,0,0,4,'DMS!'
	dc.b				ACT_END

	dc.b			'warp',0
	dc.b				ACT_MATCH,0,0,4,'Warp'
	dc.b				ACT_END

	dc.b			'zoom',0
	dc.b				ACT_MATCH,0,0,4,'ZOOM'
	dc.b				ACT_OR
	dc.b				ACT_MATCH,0,0,4,'ZOM5'
	dc.b				ACT_END

	dc.b			'lhwarp',0
	dc.b				ACT_MATCH,0,0,4,$01,$03,$09,$00
	dc.b				ACT_END
	dc.b			TYPE_UP_LEVEL






	dc.b		'picture',0
	dc.b			ACT_MACROCLASS
	dc.b			ACT_END
	dc.b		TYPE_DOWN_LEVEL
	dc.b			'gif',0
	dc.b				ACT_MATCH,0,0,6,'GIF87a'
	dc.b				ACT_OR
	dc.b				ACT_MATCH,0,0,6,'GIF89a'
	dc.b				ACT_END

	dc.b			'jpeg',0
	dc.b				ACT_MATCH,0,0,2,$FF,$D8
    dc.b				ACT_OR
	dc.b				ACT_MATCH,0,6,4,'JFIF'
	dc.b				ACT_END

	dc.b			'png',0
	dc.b				ACT_MATCH,0,0,8,$89,'PNG',$0D,$0A,$1A,$0A
	dc.b				ACT_END

	dc.b			'reko',0					* klondike card sets!
	dc.b				ACT_MATCH,0,0,4,'REKO'
    dc.b				ACT_END

	dc.b			'bmp',0
	dc.b                ACT_MATCH,0,0,2,'BM'
	dc.b				ACT_MATCH,0,6,4,$00,$00,$00,$00
	dc.b				ACT_END

	dc.b			'tiff',0								* colour
	dc.b				ACT_MATCH,0,0,4,$4D,$4D,$00,$2A
	dc.b				ACT_OR								* gray
	dc.b				ACT_MATCH,0,0,4,$4D,$4D,$2A,$00
	dc.b				ACT_END		   * ^^  ^^ Rumour has it that some tiffs have II not MM here

	dc.b			'sunraster',0
	dc.b				ACT_MATCH,0,0,4,$59,$A6,$6A,$95
	dc.b				ACT_END

	dc.b			'pcx',0
	dc.b				ACT_MATCH,0,0,3,$0A,$05,$01
	dc.b				ACT_END

	dc.b			'targa',0			* Idea from DefIconsUpd
										* this doesn't always seem to work
	dc.b				ACT_MATCH,0,12,4,$50,$00,$40,$00
	dc.b				ACT_END
	dc.b			TYPE_UP_LEVEL



	dc.b		'video',0						* idea for class came from DefIconsUpd
	dc.b			ACT_MACROCLASS
	dc.b			ACT_END
	dc.b        TYPE_DOWN_LEVEL
	dc.b			'quicktime',0
	dc.b				ACT_NAMEPATTERN,'#?.mov',0
	dc.b				ACT_END

	dc.b			'fli',0
	dc.b				ACT_MATCH,0,3,3,$00,$11,$AF
	dc.b				ACT_END

	dc.b			'mpeg',0
	dc.b                ACT_MATCH,0,0,4,$00,$00,$01,$B3
	dc.b				ACT_END
	dc.b			'riff',0
	dc.b				ACT_MACROCLASS * don't try this at home, kids ;)
	dc.b				ACT_MATCH,0,0,4,'RIFF' * ACT_MACROCLASS must be the only node ...
	dc.b				ACT_END
	dc.b            TYPE_DOWN_LEVEL
	dc.b				'avi',0
	dc.b					ACT_MATCH,0,8,4,'AVI '
	dc.b					ACT_END
	dc.b            TYPE_UP_LEVEL
	dc.b		TYPE_UP_LEVEL


    dc.b		'sound',0				* Name changed to be the same as in DefIconsUpd
	dc.b			ACT_MACROCLASS
	dc.b			ACT_END
	dc.b        TYPE_DOWN_LEVEL
	dc.b			'riff',0
	dc.b           		ACT_MATCH,0,0,4,'RIFF'
	dc.b				ACT_END
	dc.b			TYPE_DOWN_LEVEL
	dc.b				'wav',0
	dc.b					ACT_MATCH,0,8,4,'WAVE'
	dc.b					ACT_END
	dc.b			TYPE_UP_LEVEL


	dc.b			'sunau',0                   * Idea from DefIconsUpd
	dc.b				ACT_NAMEPATTERN,'#?.au',0
	dc.b                ACT_OR
	dc.b				ACT_MATCH,0,0,4,$2E,'snd'
	dc.b				ACT_END
	
	dc.b			'hsnd',0
	dc.b				ACT_NAMEPATTERN,'#?.hsn',0
	dc.b				ACT_OR
	dc.b				ACT_MATCH,0,0,4,'HSND'
	dc.b				ACT_END	
	
	dc.b			'voc',0
    dc.b                ACT_MATCH,0,0,19,'Creative Voice File'
    dc.b                ACT_END
	
	dc.b			TYPE_UP_LEVEL


	dc.b		'music',0      			* mine was changed 'cos DefIconsUpd had it's called this....
	dc.b			ACT_MACROCLASS
	dc.b			ACT_END
	dc.b        TYPE_DOWN_LEVEL
	dc.b			'med',0
	dc.b				ACT_MATCH,0,0,3,'MED'
	dc.b				ACT_OR
	dc.b				ACT_MATCH,0,0,3,'MMD'
    dc.b				ACT_OR
	dc.b				ACT_NAMEPATTERN,'#?.med',0
	dc.b				ACT_END

	dc.b			'mod',0
	dc.b				ACT_NAMEPATTERN,'(mod.#?|#?.mod|#?.mod.#?)',0
	dc.b				ACT_END

	dc.b			'cakewalk',0
	dc.b				ACT_MATCH,0,0,8,'CAKEWALK'
	dc.b				ACT_END

	dc.b			'midi',0
	dc.b				ACT_MATCH,0,0,8,'MThd',$00,$00,$00,$06
	dc.b				ACT_END

	dc.b			's3m',0
	dc.b				ACT_NAMEPATTERN,'#?.s3m',0
	dc.b				ACT_OR
	dc.b				ACT_SEARCH,4,'SCRM'
	dc.b				ACT_END
	
	dc.b			'mp3',0
	dc.b				ACT_NAMEPATTERN, '#?.mp3',0
	dc.b				ACT_OR
	dc.b				ACT_MATCH,0,0,2,$ff,$fb
	dc.b				ACT_END

	dc.b            'mp2',0
    dc.b                ACT_MATCH,0,0,2,$FF,$FD
    dc.b                ACT_END
    
    dc.b            'realaudio',0
    dc.b                ACT_NAMEPATTERN,'#?.ra',0
    dc.b                ACT_END
    
    dc.b			'xm',0
    dc.b				ACT_NAMEPATTERN,'#?.xm',0
    dc.b				ACT_OR
	dc.b				ACT_MATCH,0,0,15,'Extended Module'
    dc.b				ACT_END
    
    dc.b			'cmod',0
    dc.b				ACT_MATCH,0,0,8,'OKTASONG'
    dc.b				ACT_END
	
	dc.b			TYPE_UP_LEVEL



	dc.b		'kickstart',0
	dc.b			ACT_MATCH,0,0,4,$11,$11,$4E,$F9
	dc.b			ACT_MATCH,0,8,4,$00,$00,$FF,$FF
	dc.b			ACT_OR
	dc.b			ACT_MATCH,0,0,4,$11,$14,$4E,$F9
	dc.b			ACT_MATCH,0,8,4,$00,$00,$FF,$FF
	dc.b			ACT_OR
	dc.b			ACT_MATCH,0,0,4,$00,$00,$00,$00
	dc.b			ACT_MATCH,0,8,4,$11,$14,$4E,$F9
	dc.b			ACT_MATCH,0,16,4,$00,$00,$FF,$FF
	dc.b			ACT_END





	dc.b		'src',0
	dc.b			ACT_MACROCLASS
	dc.b			ACT_END
	dc.b		TYPE_DOWN_LEVEL
	dc.b			'basic',0
	dc.b				ACT_MACROCLASS
	dc.b				ACT_END
	dc.b            TYPE_DOWN_LEVEL
	dc.b				'amos',0
	dc.b					ACT_NAMEPATTERN,'#?.AMOS',0
	dc.b					ACT_SEARCH,4,'AMOS'
	dc.b					ACT_OR
	dc.b					ACT_MATCH,0,0,4,'AMOS'
	dc.b					ACT_END

	dc.b				'amigabasic',0
	dc.b					ACT_MATCH,0,0,2,$F5,$00			* AmigaBasic
	dc.b                    ACT_END

	dc.b				'gfa-basic',0
	dc.b					ACT_MATCH,0,2,10,'GFA-AMIGAB'		* GFA Basic
	dc.b					ACT_END
	dc.b				TYPE_UP_LEVEL
	dc.b			TYPE_UP_LEVEL

	dc.b		'font',0
	dc.b			ACT_MATCH,0,0,2,$0F,$00
	dc.b			ACT_OR
	dc.b			ACT_MATCH,0,0,2,$0F,$02
	dc.b			ACT_END

	dc.b		'outlinefont',0
	dc.b			ACT_MATCH,0,0,2,$0F,$03			* Amiga .font file
	dc.b			ACT_OR
	dc.b			ACT_MATCH,0,0,4,$80,$00,$10,$01	* Amiga .otag file
	dc.b			ACT_OR
	dc.b			ACT_MATCH,0,0,4,$00,$44,$00,$01	* IntelliFont/CGFont
	dc.b			ACT_MATCH,0,18,2,$FF,$FF
	dc.b			ACT_END






	dc.b        'game',0
	dc.b			ACT_MACROCLASS
	dc.b			ACT_END
	dc.b        TYPE_DOWN_LEVEL
	dc.b        	'civilization',0
	dc.b				ACT_NAMEPATTERN,'CIVIL?.(SVE|MAP)',0
	dc.b				ACT_END

	dc.b			'CannonFodder',0
	dc.b				ACT_NAMEPATTERN,'#?.CannonSave - Amiga#?',0			* If names were too long then the extension
	dc.b				ACT_OR												* would be lost
	dc.b				ACT_FILESIZE,0,0,$7,$28									* Always same filesize and
	dc.b				ACT_NAMEPATTERN,'????????????????????????????#?',0		* at least 28 chars long...
	dc.b				ACT_END

	dc.b			'AlienBreed',0				* this is actually the 'signature' of a certain packer
	dc.b				ACT_MATCH,0,0,4,'=SB='	* but nothing ever seems to use it
    dc.b				ACT_END

	dc.b			TYPE_UP_LEVEL









	dc.b		'LWOB',0					* Yes, LWOB is also an IFF type, but this is a lightwave
	dc.b			ACT_MATCH,0,0,4,'LWSC'	* scene and it makes sense to have the same icon...
	dc.b			ACT_END


	dc.b		'WordPerfect',0
	dc.b			ACT_MATCH,0,0,4,$FF,$57,$50,$43
	dc.b			ACT_END


	dc.b		'Word6',0					* this is a *very* strange thing to have!
	dc.b			ACT_MATCH,0,0,8,$D0,$CF,$11,$E0,$A1,$B1,$1A,$E1
	dc.b            ACT_END


	dc.b		'SpeccyGame',0
	dc.b			ACT_NAMEPATTERN,'#?.(mirage|z80|sna|snapshot)',0
	dc.b			ACT_OR
	dc.b			ACT_FILESIZE,0,0,49,179
	dc.b			ACT_END

	dc.b		'picture',0
	dc.b			ACT_MACROCLASS
	dc.b			ACT_END
    dc.b		TYPE_DOWN_LEVEL
	dc.b			'SpeccyScreen',0    			* stuff that zx datatype can read
	dc.b				ACT_NAMEPATTERN,'#?.zx',0
	dc.b				ACT_FILESIZE,0,0,69,12
	dc.b				ACT_OR
	dc.b				ACT_NAMEPATTERN,'#?.zx',0
	dc.b				ACT_FILESIZE,0,0,69,21
	dc.b				ACT_END
	dc.b			TYPE_UP_LEVEL


	dc.b        'PicView',0
	dc.b			ACT_MATCH,0,0,4,'PVD',$03		* Picview 2+
	dc.b			ACT_OR
	dc.b			ACT_MATCH,0,0,4,$50,$56,$44,$01	* Earlier versions
	dc.b			ACT_END


	dc.b		'PREF',0					* DEVS:system-configuration
	dc.b			ACT_FILESIZE,0,0,0,232
	dc.b			ACT_MATCH,0,0,1,8
	dc.b			ACT_OR
	dc.b			ACT_FILESIZE,0,0,0,232
	dc.b			ACT_MATCH,0,0,1,9
	dc.b			ACT_OR                  * Some other kind of prefs...
	dc.b			ACT_NAMEPATTERN,'#?(.|)pref(s|)',0
	dc.b			ACT_OR
	dc.b			ACT_NAMEPATTERN,'#?(.|)(config|cfg)',0
	dc.b			ACT_END


	dc.b		'key',0
	dc.b            ACT_NAMEPATTERN,'#?.key(|file)',0
	dc.b            ACT_END



	dc.b		'filearchive',0
	dc.b			ACT_MACROCLASS
	dc.b			ACT_END
	dc.b		TYPE_DOWN_LEVEL
	dc.b			'powerpacker',0
	dc.b				ACT_MATCH,0,0,4,'PP20'
	dc.b				ACT_OR
	dc.b				ACT_MATCH,0,0,4,'PP30'
	dc.b				ACT_OR
	dc.b				ACT_MATCH,0,0,4,'PP40'
	dc.b				ACT_OR
	dc.b				ACT_MATCH,0,0,4,'PX20'
	dc.b				ACT_OR
	dc.b				ACT_MATCH,0,0,4,'PX30'
	dc.b				ACT_OR
	dc.b				ACT_MATCH,0,0,4,'PX40'
	dc.b				ACT_END

	dc.b			'imploder',0
	dc.b				ACT_MATCH,0,0,4,'IMP!'
	dc.b				ACT_END

	dc.b			'xpacker',0
	dc.b				ACT_MATCH,0,0,4,'XPKF'	* what follows are identical to
												* the corresponding edits from above,
												* just with the offset changed.
	dc.b				ACT_END
	dc.b			TYPE_DOWN_LEVEL
	dc.b				'tool',0
	dc.b					ACT_MATCH,0,$10,4,$0,$0,$03,$F3
	dc.b					ACT_END

	dc.b				'amigaguide',0
	dc.b					ACT_MATCH,0,$10,-9,'@database'
	dc.b					ACT_OR
	dc.b					ACT_MATCH,0,$10,-9,'@DATABASE'
	dc.b					ACT_END

	dc.b				'iff',0						* Now this is a class, (similar to that in DefIconsUpd)
	dc.b					ACT_MATCH,0,$10,4,'FORM'
	dc.b					ACT_END
	dc.b				TYPE_DOWN_LEVEL
	dc.b					'sound',0				* Class, similar to DefIconsUpd
	dc.b						ACT_MACROCLASS
	dc.b						ACT_END
	dc.b					TYPE_DOWN_LEVEL
	dc.b						'8svx',0			* ummmm.
	dc.b							ACT_MATCH,0,$18,4,'8SVX'
	dc.b							ACT_END

	dc.b						'AIFF',0
	dc.b							ACT_MATCH,0,$18,3,'AIF'
	dc.b							ACT_END
	dc.b						TYPE_UP_LEVEL

	dc.b					'video',0				* Idea for class from DefIconsUpd
	dc.b						ACT_MACROCLASS
	dc.b						ACT_END
	dc.b					TYPE_DOWN_LEVEL
	dc.b						'anim',0
	dc.b							ACT_MATCH,0,$18,4,'ANIM'
	dc.b							ACT_END
	dc.b						TYPE_UP_LEVEL
	dc.b					'music',0
	dc.b						ACT_MACROCLASS
	dc.b						ACT_END
	dc.b					TYPE_DOWN_LEVEL
	dc.b					'smus',0
	dc.b							ACT_MATCH,0,$18,4,'SMUS'
	dc.b							ACT_END

	dc.b					'cmus',0
	dc.b							ACT_MATCH,0,$18,4,'CMUS'
	dc.b							ACT_END

	dc.b					'dmcs',0
	dc.b							ACT_MATCH,0,$18,4,'DMCS'
	dc.b							ACT_END
	dc.b						TYPE_UP_LEVEL

	dc.b					'ILBM',0
	dc.b						ACT_MATCH,0,$18,4,'ILBM'
	dc.b						ACT_END
	dc.b					TYPE_DOWN_LEVEL
	dc.b						'brush',0
	dc.b							ACT_SEARCH,4,'GRAB'
	dc.b							ACT_END
	dc.b						TYPE_UP_LEVEL
	dc.b					TYPE_UP_LEVEL

	dc.b				'sound',0
	dc.b					ACT_MACROCLASS
	dc.b					ACT_END
	dc.b				TYPE_DOWN_LEVEL
	dc.b					'riff',0
	dc.b                        ACT_MACROCLASS
	dc.b						ACT_END
	dc.b                    TYPE_DOWN_LEVEL
	dc.b						'wav',0
	dc.b							ACT_MATCH,0,$10,4,'RIFF'
	dc.b							ACT_MATCH,0,$18,4,'WAVE'
	dc.b							ACT_END
	dc.b						TYPE_UP_LEVEL

	dc.b					'sunau',0
	dc.b						ACT_MATCH,0,$10,4,$2E,'snd'
	dc.b						ACT_END
	dc.b					TYPE_UP_LEVEL


	dc.b        		'PicView',0
	dc.b					ACT_MATCH,0,$10,4,'PVD',$03		* Picview 2+
	dc.b					ACT_END
	dc.b				TYPE_UP_LEVEL

	dc.b			'rnc',0								* Idea from DefIconsUpd
	dc.b				ACT_MATCH,0,0,3,'RNC'
	dc.b				ACT_END

	dc.b			'compress',0
	dc.b				ACT_MATCH,0,0,2,$1F,$9D
	dc.b				ACT_END

	dc.b			'gzip',0
	dc.b				ACT_MATCH,0,0,2,$1F,$8B
	dc.b				ACT_END
	dc.b			TYPE_UP_LEVEL


	dc.b		'library',0
	dc.b			ACT_NAMEPATTERN,'#?.bmap',0		* AmigaBasic library bitmap
	dc.b			ACT_END
	
	dc.b		'ptch',0
	dc.b			ACT_MATCH,0,0,4,'PTG2' * gpatch
	dc.b			ACT_END
	
	dc.b		'tcd',0
	dc.b			ACT_NAMEPATTERN,'#?.tcd',0
	dc.b			ACT_OR
	dc.b			ACT_MATCH,0,3,9,'TURBOCALC'
	dc.b			ACT_END

	dc.b	TYPE_END


*///	'metafont'
*///	'gf'
*///	'pk'
*///	'dvi'
*///	'flib',*/

*///	0,4,'\xF7\x59\x36\x47',						TYPE_TEXFONT
*///	0,27,'\xF7\x02\x01\x83\x92\xC0\x1C\x3B\x00\x00\x00\x00'
*///		 '\x03\xE8\x1B\x20\x54\x65\x58\x20\x6F\x75\x74\x70'
*///		 '\x75\x74\x20',						TYPE_TEXDVI
*///	0,4,'\xF7\x83\x20\x20',						TYPE_GF
*///	0,4,'FLIB',									TYPE_FLIB,*/

*///	'.MF',		TYPE_METAFONT,*/

	END
