1 2#------------------------------------------------------------------------------ 3# $File: adventure,v 1.14 2012/06/21 01:32:26 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# Updated by Adam Buchbinder <adam.buchbinder@gmail.com> 21# 22#http://www.gnelson.demon.co.uk/zspec/sect11.html 23#http://www.jczorkmid.net/~jpenney/ZSpec11-latest.txt 24#http://en.wikipedia.org/wiki/Z-machine 25# The first byte is the Z-machine revision; it is always between 1 and 8. We 26# had false matches (for instance, inbig5.ocp from the Omega TeX extension as 27# well as an occasional MP3 file), so we sanity-check the version number. 28# 29# It might be possible to sanity-check the release number as well, as it seems 30# (at least in classic Infocom games) to always be a relatively small number, 31# always under 150 or so, but as this isn't rigorous, we'll wait on that until 32# it becomes clear that it's needed. 33# 340 ubyte >0 35>0 ubyte <9 36>>16 belong&0xfe00f0f0 0x3030 37>>>0 ubyte < 10 38>>>>2 ubeshort < 10 39>>>>>18 regex [0-9][0-9][0-9][0-9][0-9][0-9] 40>>>>>>0 ubyte < 10 Infocom (Z-machine %d, 41>>>>>>>2 ubeshort < 10 Release %d / 42>>>>>>>>18 string >\0 Serial %.6s) 43!:strength + 40 44 45#------------------------------------------------------------------------------ 46# Glulx: file(1) magic for Glulx binaries. 47# 48# I haven't checked for false matches yet. 49# 500 string Glul Glulx game data 51>4 beshort x (Version %d 52>>6 byte x \b.%d 53>>8 byte x \b.%d) 54>36 string Info Compiled by Inform 55 56 57 58# For Quetzal and blorb magic see iff 59 60 61# TADS (Text Adventure Development System) version 2 62# All files are machine-independent (games compile to byte-code) and are tagged 63# with a version string of the form "V2.<digit>.<digit>\0". 64# Game files start with "TADS2 bin\n\r\032\0" then the compiler version. 650 string TADS2\ bin TADS 66>9 belong !0x0A0D1A00 game data, CORRUPTED 67>9 belong 0x0A0D1A00 68>>13 string >\0 %s game data 69# Resource files start with "TADS2 rsc\n\r\032\0" then the compiler version. 700 string TADS2\ rsc TADS 71>9 belong !0x0A0D1A00 resource data, CORRUPTED 72>9 belong 0x0A0D1A00 73>>13 string >\0 %s resource data 74# Some saved game files start with "TADS2 save/g\n\r\032\0", a little-endian 75# 2-byte length N, the N-char name of the game file *without* a NUL (darn!), 76# "TADS2 save\n\r\032\0" and the interpreter version. 770 string TADS2\ save/g TADS 78>12 belong !0x0A0D1A00 saved game data, CORRUPTED 79>12 belong 0x0A0D1A00 80>>(16.s+32) string >\0 %s saved game data 81# Other saved game files start with "TADS2 save\n\r\032\0" and the interpreter 82# version. 830 string TADS2\ save TADS 84>10 belong !0x0A0D1A00 saved game data, CORRUPTED 85>10 belong 0x0A0D1A00 86>>14 string >\0 %s saved game data 87 88# TADS (Text Adventure Development System) version 3 89# Game files start with "T3-image\015\012\032" 900 string T3-image\015\012\032 91>11 leshort x TADS 3 game data (format version %d) 92# Saved game files start with "T3-state-v####\015\012\032" 93# where #### is a format version number 940 string T3-state-v 95>14 string \015\012\032 TADS 3 saved game data (format version 96>>10 byte x %c 97>>11 byte x \b%c 98>>12 byte x \b%c 99>>13 byte x \b%c) 100 101# Danny Milosavljevic <danny.milo@gmx.net> 102# this are adrift (adventure game standard) game files, extension .taf 103# depending on version magic continues with 0x93453E6139FA (V 4.0) 104# 0x9445376139FA (V 3.90) 105# 0x9445366139FA (V 3.80) 106# this is from source (http://www.adrift.org.uk/) and I have some taf 107# files, and checked them. 108#0 belong 0x3C423FC9 109#>4 belong 0x6A87C2CF Adrift game file 110#!:mime application/x-adrift 111