123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- #------------------------------------------------------------------------------
- # $File: adventure,v 1.17 2017/07/03 16:03:40 christos Exp $
- # adventure: file(1) magic for Adventure game files
- #
- # from Allen Garvin <earendil@faeryland.tamu-commerce.edu>
- # Edited by Dave Chapeskie <dchapes@ddm.on.ca> Jun 28, 1998
- # Edited by Chris Chittleborough <cchittleborough@yahoo.com.au>, March 2002
- #
- # ALAN
- # I assume there are other, lower versions, but these are the only ones I
- # saw in the archive.
- 0 beshort 0x0206 ALAN game data
- >2 byte <10 version 2.6%d
- # Infocom (see z-machine)
- #------------------------------------------------------------------------------
- # Z-machine: file(1) magic for Z-machine binaries.
- # Sanity checks by David Griffith <dave@661.org>
- # Updated by Adam Buchbinder <adam.buchbinder@gmail.com>
- #
- #http://www.gnelson.demon.co.uk/zspec/sect11.html
- #http://www.jczorkmid.net/~jpenney/ZSpec11-latest.txt
- #http://en.wikipedia.org/wiki/Z-machine
- # The first byte is the Z-machine revision; it is always between 1 and 8. We
- # had false matches (for instance, inbig5.ocp from the Omega TeX extension as
- # well as an occasional MP3 file), so we sanity-check the version number.
- #
- # It might be possible to sanity-check the release number as well, as it seems
- # (at least in classic Infocom games) to always be a relatively small number,
- # always under 150 or so, but as this isn't rigorous, we'll wait on that until
- # it becomes clear that it's needed.
- #
- 0 ubyte >0
- >0 ubyte <9
- >>16 belong&0xfe00f0f0 0x3030
- >>>0 ubyte < 10
- >>>>2 ubeshort x
- >>>>>18 regex [0-9][0-9][0-9][0-9][0-9][0-9]
- >>>>>>0 ubyte < 10 Infocom (Z-machine %d
- >>>>>>>2 ubeshort x \b, Release %d
- >>>>>>>>18 string >\0 \b, Serial %.6s
- >>>>>>>>18 string x \b)
- !:strength + 40
- !:mime application/x-zmachine
- #------------------------------------------------------------------------------
- # Glulx: file(1) magic for Glulx binaries.
- #
- # David Griffith <dave@661.org>
- # I haven't checked for false matches yet.
- #
- 0 string Glul Glulx game data
- >4 beshort x (Version %d
- >>6 byte x \b.%d
- >>8 byte x \b.%d)
- >36 string Info Compiled by Inform
- !:mime application/x-glulx
- # For Quetzal and blorb magic see iff
- # TADS (Text Adventure Development System) version 2
- # All files are machine-independent (games compile to byte-code) and are tagged
- # with a version string of the form "V2.<digit>.<digit>\0".
- # Game files start with "TADS2 bin\n\r\032\0" then the compiler version.
- 0 string TADS2\ bin TADS
- >9 belong !0x0A0D1A00 game data, CORRUPTED
- >9 belong 0x0A0D1A00
- >>13 string >\0 %s game data
- !:mime application/x-tads
- # Resource files start with "TADS2 rsc\n\r\032\0" then the compiler version.
- 0 string TADS2\ rsc TADS
- >9 belong !0x0A0D1A00 resource data, CORRUPTED
- >9 belong 0x0A0D1A00
- >>13 string >\0 %s resource data
- !:mime application/x-tads
- # Some saved game files start with "TADS2 save/g\n\r\032\0", a little-endian
- # 2-byte length N, the N-char name of the game file *without* a NUL (darn!),
- # "TADS2 save\n\r\032\0" and the interpreter version.
- 0 string TADS2\ save/g TADS
- >12 belong !0x0A0D1A00 saved game data, CORRUPTED
- >12 belong 0x0A0D1A00
- >>(16.s+32) string >\0 %s saved game data
- !:mime application/x-tads
- # Other saved game files start with "TADS2 save\n\r\032\0" and the interpreter
- # version.
- 0 string TADS2\ save TADS
- >10 belong !0x0A0D1A00 saved game data, CORRUPTED
- >10 belong 0x0A0D1A00
- >>14 string >\0 %s saved game data
- !:mime application/x-tads
- # TADS (Text Adventure Development System) version 3
- # Game files start with "T3-image\015\012\032"
- 0 string T3-image\015\012\032
- >11 leshort x TADS 3 game data (format version %d)
- # Saved game files start with "T3-state-v####\015\012\032"
- # where #### is a format version number
- 0 string T3-state-v
- >14 string \015\012\032 TADS 3 saved game data (format version
- >>10 byte x %c
- >>11 byte x \b%c
- >>12 byte x \b%c
- >>13 byte x \b%c)
- !:mime application/x-t3vm-image
- # edited by David Griffith <dave@661.org>
- # Danny Milosavljevic <danny.milo@gmx.net>
- # These are ADRIFT (adventure game standard) game files, extension .taf
- # Checked from source at (http://www.adrift.co/) and various taf files
- # found at the Interactive Fiction Archive (http://ifarchive.org/)
- 0 belong 0x3C423FC9
- >4 belong 0x6A87C2CF Adrift game file version
- >>8 belong 0x94453661 3.80
- >>8 belong 0x94453761 3.90
- >>8 belong 0x93453E61 4.0
- >>8 belong 0x92453E61 5.0
- >>8 default x unknown
- !:mime application/x-adrift
|