vendor/file: upgrade from 5.32 to 5.38
[dragonfly.git] / contrib / file / magic / Magdir / adventure
1
2 #------------------------------------------------------------------------------
3 # $File: adventure,v 1.18 2019/04/19 00:42:27 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.
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 # 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 #https://www.jczorkmid.net/~jpenney/ZSpec11-latest.txt
25 #https://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 #
35 0       ubyte                   >0
36 >0      ubyte                   <9
37 >>16    belong&0xfe00f0f0       0x3030
38 >>>0    ubyte                   < 10
39 >>>>2   ubeshort                x
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        x       \b, Release %d
43 >>>>>>>>18      string          >\0     \b, Serial %.6s
44 >>>>>>>>18      string          x       \b)
45 !:strength + 40
46 !:mime  application/x-zmachine
47
48 #------------------------------------------------------------------------------
49 # Glulx:  file(1) magic for Glulx binaries.
50 #
51 # David Griffith <dave@661.org>
52 # I haven't checked for false matches yet.
53 #
54 0       string                  Glul    Glulx game data
55 >4      beshort                 x       (Version %d
56 >>6     byte                    x       \b.%d
57 >>8     byte                    x       \b.%d)
58 >36     string                  Info    Compiled by Inform
59 !:mime  application/x-glulx
60
61
62 # For Quetzal and blorb magic see iff
63
64
65 # TADS (Text Adventure Development System) version 2
66 #  All files are machine-independent (games compile to byte-code) and are tagged
67 #  with a version string of the form "V2.<digit>.<digit>\0".
68 #  Game files start with "TADS2 bin\n\r\032\0" then the compiler version.
69 0       string  TADS2\ bin      TADS
70 >9      belong  !0x0A0D1A00     game data, CORRUPTED
71 >9      belong   0x0A0D1A00
72 >>13    string  >\0             %s game data
73 !:mime  application/x-tads
74 #  Resource files start with "TADS2 rsc\n\r\032\0" then the compiler version.
75 0       string  TADS2\ rsc      TADS
76 >9      belong  !0x0A0D1A00     resource data, CORRUPTED
77 >9      belong   0x0A0D1A00
78 >>13    string  >\0             %s resource data
79 !:mime  application/x-tads
80 #  Some saved game files start with "TADS2 save/g\n\r\032\0", a little-endian
81 #  2-byte length N, the N-char name of the game file *without* a NUL (darn!),
82 # "TADS2 save\n\r\032\0" and the interpreter version.
83 0       string  TADS2\ save/g   TADS
84 >12     belong  !0x0A0D1A00     saved game data, CORRUPTED
85 >12     belong   0x0A0D1A00
86 >>(16.s+32) string >\0          %s saved game data
87 !:mime  application/x-tads
88 #  Other saved game files start with "TADS2 save\n\r\032\0" and the interpreter
89 #  version.
90 0       string  TADS2\ save     TADS
91 >10     belong  !0x0A0D1A00     saved game data, CORRUPTED
92 >10     belong   0x0A0D1A00
93 >>14    string  >\0             %s saved game data
94 !:mime  application/x-tads
95
96 # TADS (Text Adventure Development System) version 3
97 #  Game files start with "T3-image\015\012\032"
98 0       string  T3-image\015\012\032
99 >11     leshort x               TADS 3 game data (format version %d)
100 #  Saved game files start with "T3-state-v####\015\012\032"
101 #  where #### is a format version number
102 0       string  T3-state-v
103 >14     string  \015\012\032    TADS 3 saved game data (format version
104 >>10    byte    x               %c
105 >>11    byte    x               \b%c
106 >>12    byte    x               \b%c
107 >>13    byte    x               \b%c)
108 !:mime  application/x-t3vm-image
109
110 # edited by David Griffith <dave@661.org>
111 # Danny Milosavljevic <danny.milo@gmx.net>
112 # These are ADRIFT (adventure game standard) game files, extension .taf
113 # Checked from source at (http://www.adrift.co/) and various taf files
114 # found at the Interactive Fiction Archive (https://ifarchive.org/)
115 0       belong  0x3C423FC9
116 >4      belong  0x6A87C2CF      Adrift game file version
117 >>8     belong  0x94453661      3.80
118 >>8     belong  0x94453761      3.90
119 >>8     belong  0x93453E61      4.0
120 >>8     belong  0x92453E61      5.0
121 >>8     default x               unknown
122 !:mime  application/x-adrift