Home | History | Annotate | Line # | Download | only in magdir
adventure revision 1.1.1.3
      1 
      2 #------------------------------------------------------------------------------
      3 # $File: adventure,v 1.14 2012/06/21 01:32:26 christos Exp $
      4 # adventure: file(1) magic for Adventure game files
      5 #
      6 # from Allen Garvin <earendil (a] faeryland.tamu-commerce.edu>
      7 # Edited by Dave Chapeskie <dchapes (a] ddm.on.ca> Jun 28, 1998
      8 # Edited by Chris Chittleborough <cchittleborough (a] yahoo.com.au>, March 2002
      9 #
     10 # ALAN
     11 # I assume there are other, lower versions, but these are the only ones I
     12 # saw in the archive.
     13 0	beshort	0x0206	ALAN game data
     14 >2	byte	<10	version 2.6%d
     15 
     16 
     17 # Infocom (see z-machine)
     18 #------------------------------------------------------------------------------
     19 # Z-machine:  file(1) magic for Z-machine binaries.
     20 # Updated by Adam Buchbinder <adam.buchbinder (a] gmail.com>
     21 #
     22 #http://www.gnelson.demon.co.uk/zspec/sect11.html
     23 #http://www.jczorkmid.net/~jpenney/ZSpec11-latest.txt
     24 #http://en.wikipedia.org/wiki/Z-machine
     25 # The first byte is the Z-machine revision; it is always between 1 and 8. We
     26 # had false matches (for instance, inbig5.ocp from the Omega TeX extension as
     27 # well as an occasional MP3 file), so we sanity-check the version number.
     28 #
     29 # It might be possible to sanity-check the release number as well, as it seems
     30 # (at least in classic Infocom games) to always be a relatively small number,
     31 # always under 150 or so, but as this isn't rigorous, we'll wait on that until
     32 # it becomes clear that it's needed.
     33 #
     34 0	ubyte			>0
     35 >0	ubyte			<9
     36 >>16	belong&0xfe00f0f0	0x3030
     37 >>>0	ubyte			< 10
     38 >>>>2	ubeshort		< 10
     39 >>>>>18	regex			[0-9][0-9][0-9][0-9][0-9][0-9]
     40 >>>>>>0	ubyte			< 10	Infocom (Z-machine %d,
     41 >>>>>>>2	ubeshort	< 10 	Release %d /
     42 >>>>>>>>18	string		>\0	Serial %.6s)
     43 !:strength + 40
     44 
     45 #------------------------------------------------------------------------------
     46 # Glulx:  file(1) magic for Glulx binaries.
     47 #
     48 # I haven't checked for false matches yet.
     49 #
     50 0	string			Glul	Glulx game data
     51 >4	beshort			x	(Version %d
     52 >>6	byte			x	\b.%d
     53 >>8	byte			x	\b.%d)
     54 >36	string			Info	Compiled by Inform
     55 
     56 
     57 
     58 # For Quetzal and blorb magic see iff
     59 
     60 
     61 # TADS (Text Adventure Development System) version 2
     62 #  All files are machine-independent (games compile to byte-code) and are tagged
     63 #  with a version string of the form "V2.<digit>.<digit>\0".
     64 #  Game files start with "TADS2 bin\n\r\032\0" then the compiler version.
     65 0	string	TADS2\ bin	TADS
     66 >9	belong  !0x0A0D1A00	game data, CORRUPTED
     67 >9	belong	 0x0A0D1A00
     68 >>13	string	>\0		%s game data
     69 #  Resource files start with "TADS2 rsc\n\r\032\0" then the compiler version.
     70 0	string	TADS2\ rsc	TADS
     71 >9	belong  !0x0A0D1A00	resource data, CORRUPTED
     72 >9	belong	 0x0A0D1A00
     73 >>13	string	>\0		%s resource data
     74 #  Some saved game files start with "TADS2 save/g\n\r\032\0", a little-endian
     75 #  2-byte length N, the N-char name of the game file *without* a NUL (darn!),
     76 # "TADS2 save\n\r\032\0" and the interpreter version. 
     77 0	string	TADS2\ save/g	TADS
     78 >12	belong	!0x0A0D1A00	saved game data, CORRUPTED
     79 >12	belong	 0x0A0D1A00
     80 >>(16.s+32) string >\0		%s saved game data
     81 #  Other saved game files start with "TADS2 save\n\r\032\0" and the interpreter
     82 #  version.
     83 0	string	TADS2\ save	TADS
     84 >10	belong	!0x0A0D1A00	saved game data, CORRUPTED
     85 >10	belong	 0x0A0D1A00
     86 >>14	string	>\0		%s saved game data
     87 
     88 # TADS (Text Adventure Development System) version 3
     89 #  Game files start with "T3-image\015\012\032"
     90 0	string	T3-image\015\012\032
     91 >11	leshort	x		TADS 3 game data (format version %d)
     92 #  Saved game files start with "T3-state-v####\015\012\032"
     93 #  where #### is a format version number
     94 0	string	T3-state-v
     95 >14	string	\015\012\032	TADS 3 saved game data (format version
     96 >>10	byte	x		%c
     97 >>11	byte	x		\b%c
     98 >>12	byte	x		\b%c
     99 >>13	byte	x		\b%c)
    100 
    101 # Danny Milosavljevic <danny.milo (a] gmx.net>
    102 # this are adrift (adventure game standard) game files, extension .taf
    103 # depending on version magic continues with 0x93453E6139FA (V 4.0)
    104 # 0x9445376139FA (V 3.90)
    105 # 0x9445366139FA (V 3.80)
    106 # this is from source (http://www.adrift.org.uk/) and I have some taf
    107 # files, and checked them.
    108 #0	belong	0x3C423FC9
    109 #>4	belong	0x6A87C2CF	Adrift game file
    110 #!:mime	application/x-adrift
    111