2012-03-31 20:24:03 +02:00
|
|
|
|
|
|
|
#------------------------------------------------------------------------------
|
2013-12-06 12:04:52 +01:00
|
|
|
# $File: adventure,v 1.14 2012/06/21 01:32:26 christos Exp $
|
2012-03-31 20:24:03 +02:00
|
|
|
# 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.
|
2012-05-02 13:23:57 +02:00
|
|
|
# Updated by Adam Buchbinder <adam.buchbinder@gmail.com>
|
2012-03-31 20:24:03 +02:00
|
|
|
#
|
2012-05-02 13:23:57 +02:00
|
|
|
#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.
|
2012-03-31 20:24:03 +02:00
|
|
|
#
|
2012-05-02 13:23:57 +02:00
|
|
|
# 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.
|
2012-03-31 20:24:03 +02:00
|
|
|
#
|
2012-05-02 13:23:57 +02:00
|
|
|
0 ubyte >0
|
|
|
|
>0 ubyte <9
|
2013-12-06 12:04:52 +01:00
|
|
|
>>16 belong&0xfe00f0f0 0x3030
|
|
|
|
>>>0 ubyte < 10
|
|
|
|
>>>>2 ubeshort < 10
|
|
|
|
>>>>>18 regex [0-9][0-9][0-9][0-9][0-9][0-9]
|
|
|
|
>>>>>>0 ubyte < 10 Infocom (Z-machine %d,
|
|
|
|
>>>>>>>2 ubeshort < 10 Release %d /
|
|
|
|
>>>>>>>>18 string >\0 Serial %.6s)
|
|
|
|
!:strength + 40
|
2012-03-31 20:24:03 +02:00
|
|
|
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
# Glulx: file(1) magic for Glulx binaries.
|
|
|
|
#
|
|
|
|
# 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# For Quetzal and blorb magic see iff
|
|
|
|
|
|
|
|
|
2012-05-02 13:23:57 +02:00
|
|
|
# TADS (Text Adventure Development System) version 2
|
2012-03-31 20:24:03 +02:00
|
|
|
# All files are machine-independent (games compile to byte-code) and are tagged
|
2012-05-02 13:23:57 +02:00
|
|
|
# with a version string of the form "V2.<digit>.<digit>\0".
|
2012-03-31 20:24:03 +02:00
|
|
|
# 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
|
|
|
|
# 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
|
|
|
|
# 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
|
|
|
|
# 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
|
|
|
|
|
2012-05-02 13:23:57 +02:00
|
|
|
# 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)
|
|
|
|
|
2012-03-31 20:24:03 +02:00
|
|
|
# Danny Milosavljevic <danny.milo@gmx.net>
|
|
|
|
# this are adrift (adventure game standard) game files, extension .taf
|
|
|
|
# depending on version magic continues with 0x93453E6139FA (V 4.0)
|
|
|
|
# 0x9445376139FA (V 3.90)
|
|
|
|
# 0x9445366139FA (V 3.80)
|
|
|
|
# this is from source (http://www.adrift.org.uk/) and I have some taf
|
|
|
|
# files, and checked them.
|
|
|
|
#0 belong 0x3C423FC9
|
|
|
|
#>4 belong 0x6A87C2CF Adrift game file
|
|
|
|
#!:mime application/x-adrift
|