2 #------------------------------------------------------------------------------
3 # adventure: file(1) magic for Adventure game files
5 # from Allen Garvin <earendil@faeryland.tamu-commerce.edu>
6 # Edited by Dave Chapeskie <dchapes@ddm.on.ca> Jun 28, 1998
7 # Edited by Chris Chittleborough <cchittleborough@yahoo.com.au>, March 2002
10 # I assume there are other, lower versions, but these are the only ones I
12 0 beshort 0x0206 ALAN game data
13 >2 byte <10 version 2.6%d
15 # Conflicts with too much other stuff!
17 # (Note: to avoid false matches Z-machine version 1 and 2 are not
18 # recognized since only the oldest Zork I and II used them. Similarly
19 # there are 4 Infocom games that use version 4 that are not recognized.)
20 #0 byte 3 Infocom game data (Z-machine 3,
21 #>2 beshort <0x7fff Release %3d,
22 #>26 beshort >0 Size %d*2
23 #>18 string >\0 Serial %.6s)
24 #0 byte 5 Infocom game data (Z-machine 5,
25 #>2 beshort <0x7fff Release %3d,
26 #>26 beshort >0 Size %d*4
27 #>18 string >\0 Serial %.6s)
28 #0 byte 6 Infocom game data (Z-machine 6,
29 #>2 beshort <0x7fff Release %3d,
30 #>26 beshort >0 Size %d*8
31 #>18 string >\0 Serial %.6s)
32 #0 byte 8 Infocom game data (Z-machine 8,
33 #>2 beshort <0x7fff Release %3d,
34 #>26 beshort >0 Size %d*8
35 #>18 string >\0 Serial %.6s)
37 # TADS (Text Adventure Development System)
38 # All files are machine-independent (games compile to byte-code) and are tagged
39 # with a version string of the form "V2.<digit>.<digit>\0" (but TADS 3 is
41 # Game files start with "TADS2 bin\n\r\032\0" then the compiler version.
42 0 string TADS2\ bin TADS
43 >9 belong !0x0A0D1A00 game data, CORRUPTED
45 >>13 string >\0 %s game data
46 # Resource files start with "TADS2 rsc\n\r\032\0" then the compiler version.
47 0 string TADS2\ rsc TADS
48 >9 belong !0x0A0D1A00 resource data, CORRUPTED
50 >>13 string >\0 %s resource data
51 # Some saved game files start with "TADS2 save/g\n\r\032\0", a little-endian
52 # 2-byte length N, the N-char name of the game file *without* a NUL (darn!),
53 # "TADS2 save\n\r\032\0" and the interpreter version.
54 0 string TADS2\ save/g TADS
55 >12 belong !0x0A0D1A00 saved game data, CORRUPTED
57 >>(16.s+32) string >\0 %s saved game data
58 # Other saved game files start with "TADS2 save\n\r\032\0" and the interpreter
60 0 string TADS2\ save TADS
61 >10 belong !0x0A0D1A00 saved game data, CORRUPTED
63 >>14 string >\0 %s saved game data