adventure revision 290152
1
2#------------------------------------------------------------------------------
3# $File: adventure,v 1.15 2015/09/07 10:03:21 christos Exp $
4# adventure: file(1) magic for Adventure game files
5#
6# from Allen Garvin <earendil@faeryland.tamu-commerce.edu>
7# Edited by Dave Chapeskie <dchapes@ddm.on.ca> Jun 28, 1998
8# Edited by Chris Chittleborough <cchittleborough@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.
130	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# Sanity checks by David Griffith <dave@661.org>
21# Updated by Adam Buchbinder <adam.buchbinder@gmail.com>
22#
23#http://www.gnelson.demon.co.uk/zspec/sect11.html
24#http://www.jczorkmid.net/~jpenney/ZSpec11-latest.txt
25#http://en.wikipedia.org/wiki/Z-machine
26# The first byte is the Z-machine revision; it is always between 1 and 8. We
27# had false matches (for instance, inbig5.ocp from the Omega TeX extension as
28# well as an occasional MP3 file), so we sanity-check the version number.
29#
30# It might be possible to sanity-check the release number as well, as it seems
31# (at least in classic Infocom games) to always be a relatively small number,
32# always under 150 or so, but as this isn't rigorous, we'll wait on that until
33# it becomes clear that it's needed.
34#
350	ubyte			>0
36>0	ubyte			<9
37>>16	belong&0xfe00f0f0	0x3030
38>>>0	ubyte			< 10
39>>>>2	ubeshort		< 10
40>>>>>18	regex			[0-9][0-9][0-9][0-9][0-9][0-9]
41>>>>>>0	ubyte			< 10	Infocom (Z-machine %d,
42>>>>>>>2	ubeshort	< 10 	Release %d /
43>>>>>>>>18	string		>\0	Serial %.6s)
44!:strength + 40
45!:mime	application/x-zmachine
46
47#------------------------------------------------------------------------------
48# Glulx:  file(1) magic for Glulx binaries.
49#
50# David Griffith <dave@661.org>
51# I haven't checked for false matches yet.
52#
530	string			Glul	Glulx game data
54>4	beshort			x	(Version %d
55>>6	byte			x	\b.%d
56>>8	byte			x	\b.%d)
57>36	string			Info	Compiled by Inform
58!:mime	application/x-glulx
59
60
61# For Quetzal and blorb magic see iff
62
63
64# TADS (Text Adventure Development System) version 2
65#  All files are machine-independent (games compile to byte-code) and are tagged
66#  with a version string of the form "V2.<digit>.<digit>\0".
67#  Game files start with "TADS2 bin\n\r\032\0" then the compiler version.
680	string	TADS2\ bin	TADS
69>9	belong  !0x0A0D1A00	game data, CORRUPTED
70>9	belong	 0x0A0D1A00
71>>13	string	>\0		%s game data
72!:mime	application/x-tads
73#  Resource files start with "TADS2 rsc\n\r\032\0" then the compiler version.
740	string	TADS2\ rsc	TADS
75>9	belong  !0x0A0D1A00	resource data, CORRUPTED
76>9	belong	 0x0A0D1A00
77>>13	string	>\0		%s resource data
78!:mime	application/x-tads
79#  Some saved game files start with "TADS2 save/g\n\r\032\0", a little-endian
80#  2-byte length N, the N-char name of the game file *without* a NUL (darn!),
81# "TADS2 save\n\r\032\0" and the interpreter version. 
820	string	TADS2\ save/g	TADS
83>12	belong	!0x0A0D1A00	saved game data, CORRUPTED
84>12	belong	 0x0A0D1A00
85>>(16.s+32) string >\0		%s saved game data
86!:mime	application/x-tads
87#  Other saved game files start with "TADS2 save\n\r\032\0" and the interpreter
88#  version.
890	string	TADS2\ save	TADS
90>10	belong	!0x0A0D1A00	saved game data, CORRUPTED
91>10	belong	 0x0A0D1A00
92>>14	string	>\0		%s saved game data
93!:mime	application/x-tads
94
95# TADS (Text Adventure Development System) version 3
96#  Game files start with "T3-image\015\012\032"
970	string	T3-image\015\012\032
98>11	leshort	x		TADS 3 game data (format version %d)
99#  Saved game files start with "T3-state-v####\015\012\032"
100#  where #### is a format version number
1010	string	T3-state-v
102>14	string	\015\012\032	TADS 3 saved game data (format version
103>>10	byte	x		%c
104>>11	byte	x		\b%c
105>>12	byte	x		\b%c
106>>13	byte	x		\b%c)
107!:mime	application/x-t3vm-image
108
109# edited by David Griffith <dave@661.org>
110# Danny Milosavljevic <danny.milo@gmx.net>
111# These are ADRIFT (adventure game standard) game files, extension .taf
112# Checked from source at (http://www.adrift.co/) and various taf files 
113# found at the Interactive Fiction Archive (http://ifarchive.org/)
1140	belong  0x3C423FC9
115>4	belong  0x6A87C2CF	Adrift game file version
116>>8	belong  0x94453661	3.80
117>>8	belong  0x94453761	3.90
118>>8	belong  0x93453E61	4.0
119>>8	belong  0x92453E61	5.0
120>>8	default x		unknown
121!:mime	application/x-adrift
122