adventure 4.0 KB

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