1f72f8299SJan Lentfer 2327e51cbSPeter Avalos#------------------------------------------------------------------------------ 3*3b9cdfa3SAntonio Huete Jimenez# $File: games,v 1.25 2022/05/31 18:40:20 christos Exp $ 4327e51cbSPeter Avalos# games: file(1) for games 5327e51cbSPeter Avalos 6327e51cbSPeter Avalos# Fabio Bonelli <fabiobonelli@libero.it> 7327e51cbSPeter Avalos# Quake II - III data files 8327e51cbSPeter Avalos0 string IDP2 Quake II 3D Model file, 982c5fa3eSPeter Avalos>20 long x %u skin(s), 1082c5fa3eSPeter Avalos>8 long x (%u x 1182c5fa3eSPeter Avalos>12 long x %u), 1282c5fa3eSPeter Avalos>40 long x %u frame(s), 1382c5fa3eSPeter Avalos>16 long x Frame size %u bytes, 1482c5fa3eSPeter Avalos>24 long x %u vertices/frame, 1582c5fa3eSPeter Avalos>28 long x %u texture coordinates, 1682c5fa3eSPeter Avalos>32 long x %u triangles/frame 17327e51cbSPeter Avalos 18327e51cbSPeter Avalos0 string IBSP Quake 19327e51cbSPeter Avalos>4 long 0x26 II Map file (BSP) 20327e51cbSPeter Avalos>4 long 0x2E III Map file (BSP) 21327e51cbSPeter Avalos 22327e51cbSPeter Avalos0 string IDS2 Quake II SP2 sprite file 23327e51cbSPeter Avalos 24327e51cbSPeter Avalos#--------------------------------------------------------------------------- 25327e51cbSPeter Avalos# Doom and Quake 26327e51cbSPeter Avalos# submitted by Nicolas Patrois 27327e51cbSPeter Avalos 28327e51cbSPeter Avalos0 string \xcb\x1dBoom\xe6\xff\x03\x01 Boom or linuxdoom demo 29327e51cbSPeter Avalos# some doom lmp files don't match, I've got one beginning with \x6d\x02\x01\x01 30327e51cbSPeter Avalos 31327e51cbSPeter Avalos24 string LxD\ 203 Linuxdoom save 32327e51cbSPeter Avalos>0 string x , name=%s 33327e51cbSPeter Avalos>44 string x , world=%s 34327e51cbSPeter Avalos 35327e51cbSPeter Avalos# Quake 36327e51cbSPeter Avalos 376fca56fbSSascha Wildner# Update: Joerg Jenderek 386fca56fbSSascha Wildner# URL: http://fileformats.archiveteam.org/wiki/PAK 396fca56fbSSascha Wildner# reference: https://quakewiki.org/wiki/.pak 406fca56fbSSascha Wildner# GRR: line below is too general as it matches also Acorn PackDir compressed Archive 416fca56fbSSascha Wildner# and Git pack ./revision 426fca56fbSSascha Wildner0 string PACK 436fca56fbSSascha Wildner# real Quake examples like pak0.pak have only some hundreds like 150 files 446fca56fbSSascha Wildner# So test for few files 456fca56fbSSascha Wildner>8 ulelong <0x01000000 466fca56fbSSascha Wildner# in file version 5.32 test for null terminator is only true for 476fca56fbSSascha Wildner# offset ~< FILE_BYTES_MAX = 1 MB defined in ../../src/file.h 486fca56fbSSascha Wildner# look for null terminator of 1st entry name 496fca56fbSSascha Wildner>>(4.l+55) ubyte 0 Quake I or II world or extension 506fca56fbSSascha Wildner!:mime application/x-dzip 516fca56fbSSascha Wildner!:ext pak 526fca56fbSSascha Wildner#>>>8 ulelong x \b, table size %u 536fca56fbSSascha Wildner# dividing this by entry size (64) gives number of files 546fca56fbSSascha Wildner>>>8 ulelong/64 x \b, %u files 556fca56fbSSascha Wildner# offset to the beginning of the file table 56614728caSSascha Wildner>>>4 ulelong x \b, offset %#x 576fca56fbSSascha Wildner# 1st file entry 586fca56fbSSascha Wildner>>>(4.l) use pak-entry 596fca56fbSSascha Wildner# 2nd file entry 60614728caSSascha Wildner#>>>4 ulelong+64 x \b, offset %#x 616fca56fbSSascha Wildner#>>>(4.l+64) use pak-entry 626fca56fbSSascha Wildner# 636fca56fbSSascha Wildner# display file table entry of Quake PAK archive 646fca56fbSSascha Wildner0 name pak-entry 656fca56fbSSascha Wildner# normally entry start after header which implies offset 12 or higher 666fca56fbSSascha Wildner>56 ulelong >11 676fca56fbSSascha Wildner# the offset from the beginning of pak to beginning of this entry file contents 68614728caSSascha Wildner>>56 ulelong x at %#x 696fca56fbSSascha Wildner# the size of file for this entry 706fca56fbSSascha Wildner>>60 ulelong x %u bytes 716fca56fbSSascha Wildner# 56 byte null-terminated entry name string includes path like maps/e1m1.bsp 726fca56fbSSascha Wildner>>0 string x '%-.56s' 736fca56fbSSascha Wildner# inspect entry content by jumping to entry offset 746fca56fbSSascha Wildner>>(56) indirect x \b: 75327e51cbSPeter Avalos 76327e51cbSPeter Avalos#0 string -1\x0a Quake I demo 77327e51cbSPeter Avalos#>30 string x version %.4s 78327e51cbSPeter Avalos#>61 string x level %s 79327e51cbSPeter Avalos 80327e51cbSPeter Avalos#0 string 5\x0a Quake I save 81327e51cbSPeter Avalos 82327e51cbSPeter Avalos# The levels 83327e51cbSPeter Avalos 84327e51cbSPeter Avalos# Quake 1 85327e51cbSPeter Avalos 86327e51cbSPeter Avalos0 string 5\x0aIntroduction Quake I save: start Introduction 87327e51cbSPeter Avalos0 string 5\x0athe_Slipgate_Complex Quake I save: e1m1 The slipgate complex 88327e51cbSPeter Avalos0 string 5\x0aCastle_of_the_Damned Quake I save: e1m2 Castle of the damned 89327e51cbSPeter Avalos0 string 5\x0athe_Necropolis Quake I save: e1m3 The necropolis 90327e51cbSPeter Avalos0 string 5\x0athe_Grisly_Grotto Quake I save: e1m4 The grisly grotto 91327e51cbSPeter Avalos0 string 5\x0aZiggurat_Vertigo Quake I save: e1m8 Ziggurat vertigo (secret) 92327e51cbSPeter Avalos0 string 5\x0aGloom_Keep Quake I save: e1m5 Gloom keep 93327e51cbSPeter Avalos0 string 5\x0aThe_Door_To_Chthon Quake I save: e1m6 The door to Chthon 94327e51cbSPeter Avalos0 string 5\x0aThe_House_of_Chthon Quake I save: e1m7 The house of Chthon 95327e51cbSPeter Avalos0 string 5\x0athe_Installation Quake I save: e2m1 The installation 96327e51cbSPeter Avalos0 string 5\x0athe_Ogre_Citadel Quake I save: e2m2 The ogre citadel 97327e51cbSPeter Avalos0 string 5\x0athe_Crypt_of_Decay Quake I save: e2m3 The crypt of decay (dopefish lives!) 98327e51cbSPeter Avalos0 string 5\x0aUnderearth Quake I save: e2m7 Underearth (secret) 99327e51cbSPeter Avalos0 string 5\x0athe_Ebon_Fortress Quake I save: e2m4 The ebon fortress 100327e51cbSPeter Avalos0 string 5\x0athe_Wizard's_Manse Quake I save: e2m5 The wizard's manse 101327e51cbSPeter Avalos0 string 5\x0athe_Dismal_Oubliette Quake I save: e2m6 The dismal oubliette 102327e51cbSPeter Avalos0 string 5\x0aTermination_Central Quake I save: e3m1 Termination central 103327e51cbSPeter Avalos0 string 5\x0aVaults_of_Zin Quake I save: e3m2 Vaults of Zin 104327e51cbSPeter Avalos0 string 5\x0athe_Tomb_of_Terror Quake I save: e3m3 The tomb of terror 105327e51cbSPeter Avalos0 string 5\x0aSatan's_Dark_Delight Quake I save: e3m4 Satan's dark delight 106327e51cbSPeter Avalos0 string 5\x0athe_Haunted_Halls Quake I save: e3m7 The haunted halls (secret) 107327e51cbSPeter Avalos0 string 5\x0aWind_Tunnels Quake I save: e3m5 Wind tunnels 108327e51cbSPeter Avalos0 string 5\x0aChambers_of_Torment Quake I save: e3m6 Chambers of torment 109327e51cbSPeter Avalos0 string 5\x0athe_Sewage_System Quake I save: e4m1 The sewage system 110327e51cbSPeter Avalos0 string 5\x0aThe_Tower_of_Despair Quake I save: e4m2 The tower of despair 111327e51cbSPeter Avalos0 string 5\x0aThe_Elder_God_Shrine Quake I save: e4m3 The elder god shrine 112327e51cbSPeter Avalos0 string 5\x0athe_Palace_of_Hate Quake I save: e4m4 The palace of hate 113327e51cbSPeter Avalos0 string 5\x0aHell's_Atrium Quake I save: e4m5 Hell's atrium 114327e51cbSPeter Avalos0 string 5\x0athe_Nameless_City Quake I save: e4m8 The nameless city (secret) 115327e51cbSPeter Avalos0 string 5\x0aThe_Pain_Maze Quake I save: e4m6 The pain maze 116327e51cbSPeter Avalos0 string 5\x0aAzure_Agony Quake I save: e4m7 Azure agony 117327e51cbSPeter Avalos0 string 5\x0aShub-Niggurath's_Pit Quake I save: end Shub-Niggurath's pit 118327e51cbSPeter Avalos 119327e51cbSPeter Avalos# Quake DeathMatch levels 120327e51cbSPeter Avalos 121327e51cbSPeter Avalos0 string 5\x0aPlace_of_Two_Deaths Quake I save: dm1 Place of two deaths 122327e51cbSPeter Avalos0 string 5\x0aClaustrophobopolis Quake I save: dm2 Claustrophobopolis 123327e51cbSPeter Avalos0 string 5\x0aThe_Abandoned_Base Quake I save: dm3 The abandoned base 124327e51cbSPeter Avalos0 string 5\x0aThe_Bad_Place Quake I save: dm4 The bad place 125327e51cbSPeter Avalos0 string 5\x0aThe_Cistern Quake I save: dm5 The cistern 126327e51cbSPeter Avalos0 string 5\x0aThe_Dark_Zone Quake I save: dm6 The dark zone 127327e51cbSPeter Avalos 128327e51cbSPeter Avalos# Scourge of Armagon 129327e51cbSPeter Avalos 130327e51cbSPeter Avalos0 string 5\x0aCommand_HQ Quake I save: start Command HQ 131327e51cbSPeter Avalos0 string 5\x0aThe_Pumping_Station Quake I save: hip1m1 The pumping station 132327e51cbSPeter Avalos0 string 5\x0aStorage_Facility Quake I save: hip1m2 Storage facility 133327e51cbSPeter Avalos0 string 5\x0aMilitary_Complex Quake I save: hip1m5 Military complex (secret) 134327e51cbSPeter Avalos0 string 5\x0athe_Lost_Mine Quake I save: hip1m3 The lost mine 135327e51cbSPeter Avalos0 string 5\x0aResearch_Facility Quake I save: hip1m4 Research facility 136327e51cbSPeter Avalos0 string 5\x0aAncient_Realms Quake I save: hip2m1 Ancient realms 137327e51cbSPeter Avalos0 string 5\x0aThe_Gremlin's_Domain Quake I save: hip2m6 The gremlin's domain (secret) 138327e51cbSPeter Avalos0 string 5\x0aThe_Black_Cathedral Quake I save: hip2m2 The black cathedral 139327e51cbSPeter Avalos0 string 5\x0aThe_Catacombs Quake I save: hip2m3 The catacombs 140327e51cbSPeter Avalos0 string 5\x0athe_Crypt__ Quake I save: hip2m4 The crypt 141327e51cbSPeter Avalos0 string 5\x0aMortum's_Keep Quake I save: hip2m5 Mortum's keep 142327e51cbSPeter Avalos0 string 5\x0aTur_Torment Quake I save: hip3m1 Tur torment 143327e51cbSPeter Avalos0 string 5\x0aPandemonium Quake I save: hip3m2 Pandemonium 144327e51cbSPeter Avalos0 string 5\x0aLimbo Quake I save: hip3m3 Limbo 145327e51cbSPeter Avalos0 string 5\x0athe_Edge_of_Oblivion Quake I save: hipdm1 The edge of oblivion (secret) 146327e51cbSPeter Avalos0 string 5\x0aThe_Gauntlet Quake I save: hip3m4 The gauntlet 147327e51cbSPeter Avalos0 string 5\x0aArmagon's_Lair Quake I save: hipend Armagon's lair 148327e51cbSPeter Avalos 149327e51cbSPeter Avalos# Malice 150327e51cbSPeter Avalos 151327e51cbSPeter Avalos0 string 5\x0aThe_Academy Quake I save: start The academy 152327e51cbSPeter Avalos0 string 5\x0aThe_Lab Quake I save: d1 The lab 153327e51cbSPeter Avalos0 string 5\x0aArea_33 Quake I save: d1b Area 33 154327e51cbSPeter Avalos0 string 5\x0aSECRET_MISSIONS Quake I save: d3b Secret missions 155327e51cbSPeter Avalos0 string 5\x0aThe_Hospital Quake I save: d10 The hospital (secret) 156327e51cbSPeter Avalos0 string 5\x0aThe_Genetics_Lab Quake I save: d11 The genetics lab (secret) 157327e51cbSPeter Avalos0 string 5\x0aBACK_2_MALICE Quake I save: d4b Back to Malice 158327e51cbSPeter Avalos0 string 5\x0aArea44 Quake I save: d1c Area 44 159327e51cbSPeter Avalos0 string 5\x0aTakahiro_Towers Quake I save: d2 Takahiro towers 160327e51cbSPeter Avalos0 string 5\x0aA_Rat's_Life Quake I save: d3 A rat's life 161327e51cbSPeter Avalos0 string 5\x0aInto_The_Flood Quake I save: d4 Into the flood 162327e51cbSPeter Avalos0 string 5\x0aThe_Flood Quake I save: d5 The flood 163327e51cbSPeter Avalos0 string 5\x0aNuclear_Plant Quake I save: d6 Nuclear plant 164327e51cbSPeter Avalos0 string 5\x0aThe_Incinerator_Plant Quake I save: d7 The incinerator plant 165327e51cbSPeter Avalos0 string 5\x0aThe_Foundry Quake I save: d7b The foundry 166327e51cbSPeter Avalos0 string 5\x0aThe_Underwater_Base Quake I save: d8 The underwater base 167327e51cbSPeter Avalos0 string 5\x0aTakahiro_Base Quake I save: d9 Takahiro base 168327e51cbSPeter Avalos0 string 5\x0aTakahiro_Laboratories Quake I save: d12 Takahiro laboratories 169327e51cbSPeter Avalos0 string 5\x0aStayin'_Alive Quake I save: d13 Stayin' alive 170327e51cbSPeter Avalos0 string 5\x0aB.O.S.S._HQ Quake I save: d14 B.O.S.S. HQ 171327e51cbSPeter Avalos0 string 5\x0aSHOWDOWN! Quake I save: d15 Showdown! 172327e51cbSPeter Avalos 173327e51cbSPeter Avalos# Malice DeathMatch levels 174327e51cbSPeter Avalos 175327e51cbSPeter Avalos0 string 5\x0aThe_Seventh_Precinct Quake I save: ddm1 The seventh precinct 176327e51cbSPeter Avalos0 string 5\x0aSub_Station Quake I save: ddm2 Sub station 177327e51cbSPeter Avalos0 string 5\x0aCrazy_Eights! Quake I save: ddm3 Crazy eights! 178327e51cbSPeter Avalos0 string 5\x0aEast_Side_Invertationa Quake I save: ddm4 East side invertationa 179327e51cbSPeter Avalos0 string 5\x0aSlaughterhouse Quake I save: ddm5 Slaughterhouse 180327e51cbSPeter Avalos0 string 5\x0aDOMINO Quake I save: ddm6 Domino 181327e51cbSPeter Avalos0 string 5\x0aSANDRA'S_LADDER Quake I save: ddm7 Sandra's ladder 182327e51cbSPeter Avalos 183327e51cbSPeter Avalos 184327e51cbSPeter Avalos0 string MComprHD MAME CHD compressed hard disk image, 18582c5fa3eSPeter Avalos>12 belong x version %u 18679343712SPeter Avalos 18779343712SPeter Avalos# doom - submitted by Jon Dowland 18879343712SPeter Avalos 18979343712SPeter Avalos0 string =IWAD doom main IWAD data 19079343712SPeter Avalos>4 lelong x containing %d lumps 19179343712SPeter Avalos0 string =PWAD doom patch PWAD data 19279343712SPeter Avalos>4 lelong x containing %d lumps 19379343712SPeter Avalos 194e4d4ce0cSPeter Avalos# Build engine group files (Duke Nukem, Shadow Warrior, ...) 195e4d4ce0cSPeter Avalos# Extension: .grp 196e4d4ce0cSPeter Avalos# Created by: "Ganael Laplanche" <ganael.laplanche@martymac.org> 197e4d4ce0cSPeter Avalos0 string KenSilverman Build engine group file 198e4d4ce0cSPeter Avalos>12 lelong x containing %d files 19979343712SPeter Avalos 20079343712SPeter Avalos# Summary: Warcraft 3 save 20179343712SPeter Avalos# Extension: .w3g 20279343712SPeter Avalos# Created by: "Nelson A. de Oliveira" <naoliv@gmail.com> 20379343712SPeter Avalos0 string Warcraft\ III\ recorded\ game %s 20479343712SPeter Avalos 20579343712SPeter Avalos 20679343712SPeter Avalos# Summary: Warcraft 3 map 20779343712SPeter Avalos# Extension: .w3m 20879343712SPeter Avalos# Created by: "Nelson A. de Oliveira" <naoliv@gmail.com> 20979343712SPeter Avalos0 string HM3W Warcraft III map file 21079343712SPeter Avalos 21179343712SPeter Avalos 21279343712SPeter Avalos# Summary: SGF Smart Game Format 21379343712SPeter Avalos# Extension: .sgf 2146fca56fbSSascha Wildner# Reference: https://www.red-bean.com/sgf/ 21579343712SPeter Avalos# Created by: Eduardo Sabbatella <eduardo_sabbatella@yahoo.com.ar> 21679343712SPeter Avalos# Modified by (1): Abel Cheung (regex, more game format) 21779343712SPeter Avalos# FIXME: Some games don't have GM (game type) 21879343712SPeter Avalos0 regex \\(;.*GM\\[[0-9]{1,2}\\] Smart Game Format 219e4d4ce0cSPeter Avalos>2 search/0x200/b GM[ 22079343712SPeter Avalos>>&0 string 1] (Go) 22179343712SPeter Avalos>>&0 string 2] (Othello) 22279343712SPeter Avalos>>&0 string 3] (chess) 22379343712SPeter Avalos>>&0 string 4] (Gomoku+Renju) 22479343712SPeter Avalos>>&0 string 5] (Nine Men's Morris) 22579343712SPeter Avalos>>&0 string 6] (Backgammon) 22679343712SPeter Avalos>>&0 string 7] (Chinese chess) 22779343712SPeter Avalos>>&0 string 8] (Shogi) 22879343712SPeter Avalos>>&0 string 9] (Lines of Action) 22979343712SPeter Avalos>>&0 string 10] (Ataxx) 23079343712SPeter Avalos>>&0 string 11] (Hex) 23179343712SPeter Avalos>>&0 string 12] (Jungle) 23279343712SPeter Avalos>>&0 string 13] (Neutron) 23379343712SPeter Avalos>>&0 string 14] (Philosopher's Football) 23479343712SPeter Avalos>>&0 string 15] (Quadrature) 23579343712SPeter Avalos>>&0 string 16] (Trax) 23679343712SPeter Avalos>>&0 string 17] (Tantrix) 23779343712SPeter Avalos>>&0 string 18] (Amazons) 23879343712SPeter Avalos>>&0 string 19] (Octi) 23979343712SPeter Avalos>>&0 string 20] (Gess) 24079343712SPeter Avalos>>&0 string 21] (Twixt) 24179343712SPeter Avalos>>&0 string 22] (Zertz) 24279343712SPeter Avalos>>&0 string 23] (Plateau) 24379343712SPeter Avalos>>&0 string 24] (Yinsh) 24479343712SPeter Avalos>>&0 string 25] (Punct) 24579343712SPeter Avalos>>&0 string 26] (Gobblet) 24679343712SPeter Avalos>>&0 string 27] (hive) 24779343712SPeter Avalos>>&0 string 28] (Exxit) 24879343712SPeter Avalos>>&0 string 29] (Hnefatal) 24979343712SPeter Avalos>>&0 string 30] (Kuba) 25079343712SPeter Avalos>>&0 string 31] (Tripples) 25179343712SPeter Avalos>>&0 string 32] (Chase) 25279343712SPeter Avalos>>&0 string 33] (Tumbling Down) 25379343712SPeter Avalos>>&0 string 34] (Sahara) 25479343712SPeter Avalos>>&0 string 35] (Byte) 25579343712SPeter Avalos>>&0 string 36] (Focus) 25679343712SPeter Avalos>>&0 string 37] (Dvonn) 25779343712SPeter Avalos>>&0 string 38] (Tamsk) 25879343712SPeter Avalos>>&0 string 39] (Gipf) 25979343712SPeter Avalos>>&0 string 40] (Kropki) 26079343712SPeter Avalos 26179343712SPeter Avalos############################################## 26279343712SPeter Avalos# NetImmerse/Gamebryo game engine entries 26379343712SPeter Avalos 26479343712SPeter Avalos# Summary: Gamebryo game engine file 26579343712SPeter Avalos# Extension: .nif, .kf 26679343712SPeter Avalos# Created by: Abel Cheung <abelcheung@gmail.com> 26779343712SPeter Avalos0 string Gamebryo\ File\ Format,\ Version\ Gamebryo game engine file 26879343712SPeter Avalos>&0 regex [0-9a-z.]+ \b, version %s 26979343712SPeter Avalos 27079343712SPeter Avalos# Summary: Gamebryo game engine file 27179343712SPeter Avalos# Extension: .kfm 27279343712SPeter Avalos# Created by: Abel Cheung <abelcheung@gmail.com> 27379343712SPeter Avalos0 string ;Gamebryo\ KFM\ File\ Version\ Gamebryo game engine animation File 27479343712SPeter Avalos>&0 regex [0-9a-z.]+ \b, version %s 27579343712SPeter Avalos 27679343712SPeter Avalos# Summary: NetImmerse game engine file 27779343712SPeter Avalos# Extension .nif 27879343712SPeter Avalos# Created by: Abel Cheung <abelcheung@gmail.com> 279970935fdSSascha Wildner0 string NetImmerse\ File\ Format,\ Version 28079343712SPeter Avalos>&0 string n\ NetImmerse game engine file 28179343712SPeter Avalos>>&0 regex [0-9a-z.]+ \b, version %s 28279343712SPeter Avalos 283e4d4ce0cSPeter Avalos# Type: SGF Smart Game Format 2846fca56fbSSascha Wildner# URL: https://www.red-bean.com/sgf/ 285e4d4ce0cSPeter Avalos# From: Eduardo Sabbatella <eduardo_sabbatella@yahoo.com.ar> 286e4d4ce0cSPeter Avalos2 regex/c \\(;.*GM\\[[0-9]{1,2}\\] Smart Game Format 287e4d4ce0cSPeter Avalos>2 regex/c GM\\[1\\] - Go Game 288e4d4ce0cSPeter Avalos>2 regex/c GM\\[6\\] - BackGammon Game 289e4d4ce0cSPeter Avalos>2 regex/c GM\\[11\\] - Hex Game 290e4d4ce0cSPeter Avalos>2 regex/c GM\\[18\\] - Amazons Game 291e4d4ce0cSPeter Avalos>2 regex/c GM\\[19\\] - Octi Game 292e4d4ce0cSPeter Avalos>2 regex/c GM\\[20\\] - Gess Game 293e4d4ce0cSPeter Avalos>2 regex/c GM\\[21\\] - twix Game 29417b11469SPeter Avalos 29517b11469SPeter Avalos# Epic Games/Unreal Engine Package 29617b11469SPeter Avalos# 29717b11469SPeter Avalos0 lelong 0x9E2A83C1 Unreal Engine Package, 29817b11469SPeter Avalos>4 leshort x version: %i 29917b11469SPeter Avalos>12 lelong !0 \b, names: %i 30017b11469SPeter Avalos>28 lelong !0 \b, imports: %i 30117b11469SPeter Avalos>20 lelong !0 \b, exports: %i 3026fca56fbSSascha Wildner 3036fca56fbSSascha Wildner0 string ESVG 3046fca56fbSSascha Wildner>4 lelong 0x00160000 3056fca56fbSSascha Wildner>10 string TOC\020 Empire Deluxe for DOS saved game 306c990e5baSDaniel Fojt 307c990e5baSDaniel Fojt# Sid Meier's Civilization V/VI 308c990e5baSDaniel Fojt# From: Benjamin Lowry <ben@ben.gmbh> 309c990e5baSDaniel Fojt0 string CIV5 310c990e5baSDaniel Fojt>4 byte 0x08 Sid Meier's Civilization V saved game, 311c990e5baSDaniel Fojt>>12 regex [0-9a-z.]+ saved by game version %s 312c990e5baSDaniel Fojt>4 byte 0x01 Sid Meier's Civilization V replay data, 313c990e5baSDaniel Fojt>>12 regex [0-9a-z.]+ saved by game version %s 314c990e5baSDaniel Fojt 315c990e5baSDaniel Fojt0 string CIV6 Sid Meier's Civilization VI saved game 316970935fdSSascha Wildner 317970935fdSSascha Wildner# https://syzygy-tables.info/ 318970935fdSSascha Wildner# From Michel Van den Bergh 319970935fdSSascha Wildner0 string \327f\f\245 Syzygy DTZ tablebase 320970935fdSSascha Wildner!:mime application/syzygy 321970935fdSSascha Wildner0 string q\350#] Syzygy WDL tablebase 322970935fdSSascha Wildner!:mime application/syzygy 323614728caSSascha Wildner 324614728caSSascha Wildner############################################################################## 325614728caSSascha Wildner# Grand Theft Auto (GTA) file formats. 326614728caSSascha Wildner# 327614728caSSascha Wildner# Summary: 328614728caSSascha Wildner# Includes GTA-specific formats used in all games from 1997 to present. Games 329614728caSSascha Wildner# and formats were created by Rockstar North, formerly DMA Design. Magic tests 330614728caSSascha Wildner# were written based on a combination of official and community documentation. 331614728caSSascha Wildner# 332614728caSSascha Wildner# Created by: Oliver Galvin <odg@riseup.net> 333614728caSSascha Wildner# 334614728caSSascha Wildner# References: 335614728caSSascha Wildner# * Classic GTA documentation and research: 336614728caSSascha Wildner# <https://gitlab.com/classic-gta/gta-data> 337614728caSSascha Wildner# * Official RenderWare documentation available from EA: 338614728caSSascha Wildner# <https://github.com/electronicarts/RenderWare3Docs> 339614728caSSascha Wildner# * Lots of community research in the GTAMods wiki: 340614728caSSascha Wildner# <https://gtamods.com/wiki> 341614728caSSascha Wildner 342614728caSSascha Wildner# GTA 2D-Era data - 'Classic' top down games (1/L/2) 343614728caSSascha Wildner 344614728caSSascha Wildner## GTA text 345614728caSSascha Wildner 346614728caSSascha Wildner0 string \xbf\xf8\xbd\x49\x62\xbe GTA1 in-game text (FXT), 347614728caSSascha Wildner0 string GBL GTA2 in-game text (GXT), 348614728caSSascha Wildner>3 string E English, 349614728caSSascha Wildner>>4 uleshort x version %d 350614728caSSascha Wildner>3 string F French, 351614728caSSascha Wildner>>4 uleshort x version %d 352614728caSSascha Wildner>3 string G German, 353614728caSSascha Wildner>>4 uleshort x version %d 354614728caSSascha Wildner>3 string I Italian, 355614728caSSascha Wildner>>4 uleshort x version %d 356614728caSSascha Wildner>3 string S Spanish, 357614728caSSascha Wildner>>4 uleshort x version %d 358614728caSSascha Wildner>3 string J Japanese, 359614728caSSascha Wildner>>4 uleshort x version %d 360614728caSSascha Wildner 361614728caSSascha Wildner## GTA maps 362614728caSSascha Wildner 363614728caSSascha Wildner0 ulelong 331 GTA1 map layout (CMP), 364614728caSSascha Wildner>4 byte 1 Level 1 365614728caSSascha Wildner>4 byte 2 Level 2 366614728caSSascha Wildner>4 byte 3 Level 3 367614728caSSascha Wildner0 string GBMP GTA2/GBH map layout (GMP), 368614728caSSascha Wildner>4 uleshort x version %d 369614728caSSascha Wildner0 string/t [MapFiles] GTA2 multiplayer map metadata (MMP) 370614728caSSascha Wildner0 string/t MainOrBonus\ =\ MAIN GTA2 single player map listing (test1.seq) 371614728caSSascha Wildner 372614728caSSascha Wildner## GTA 2D sprites and textures 373614728caSSascha Wildner 374614728caSSascha Wildner0 ulelong 290 GTA1 style data (GRX), 8 bit editor graphics 375614728caSSascha Wildner0 ulelong 325 GTA1 style data (GRY), 8 bit in-game graphics 376614728caSSascha Wildner0 ulelong 336 GTA1 style data (G24), 24 bit in-game graphics 377614728caSSascha Wildner0 string GBST GTA2/GBH style data (STY), in-game graphics, 378614728caSSascha Wildner>4 uleshort x version %d 379614728caSSascha Wildner 380614728caSSascha Wildner## GTA audio index 381614728caSSascha Wildner 382614728caSSascha Wildner0 ulelong 0 383614728caSSascha Wildner>4 ulelong <0x40000 384614728caSSascha Wildner>>8 ulelong >4500 385614728caSSascha Wildner>>>8 ulelong <45000 GTA audio index data (SDT) 386614728caSSascha Wildner 387614728caSSascha Wildner## GTA scripts 388614728caSSascha Wildner 389614728caSSascha Wildner0 ulelong 0x00080000 390614728caSSascha Wildner>4 uleshort 0x0024 GTA2 binary main script (SCR) 391614728caSSascha Wildner 392614728caSSascha Wildner0 uleshort 0x063c GTA2 binary mission script (SCR), Residential area (ste) 393614728caSSascha Wildner0 uleshort 0x055b GTA2 binary mission script (SCR), Downtown area (wil) 394614728caSSascha Wildner0 uleshort 0x0469 GTA2 binary mission script (SCR), Industrial area (bil) 395614728caSSascha Wildner 396614728caSSascha Wildner0 string v9.6\0\0 GTA2 replay file (REP), 397614728caSSascha Wildner>8 regex/30c [a-z0-9:\ ]+\0\0 created on %s 398614728caSSascha Wildner 399614728caSSascha Wildner# GTA 3D-Era (III/VC/SA/LCS/VCS) - used by the RenderWare engine by Criterion Games 400614728caSSascha Wildner 401614728caSSascha Wildner## GTA 3D models and textures - RenderWare binary streams 402614728caSSascha Wildner 403614728caSSascha Wildner8 ulelong 0x00000310 RenderWare data, v3.1.0.0, used in GTA III on PS2, 404614728caSSascha Wildner>0 ulelong 0x00000016 texture archive (TXD) 405614728caSSascha Wildner>0 ulelong 0x00000010 3D models (DFF) 406614728caSSascha Wildner8 ulelong 0x0401ffff RenderWare data, v3.1.0.1, used in GTA III on PC/PS2, 407614728caSSascha Wildner>0 ulelong 0x00000016 texture archive (TXD) 408614728caSSascha Wildner>0 ulelong 0x00000010 3D models (DFF) 409614728caSSascha Wildner8 ulelong 0x0800ffff RenderWare data, v3.2.0.0, used in GTA III on PC, 410614728caSSascha Wildner>0 ulelong 0x00000016 texture archive (TXD) 411614728caSSascha Wildner>0 ulelong 0x00000010 3D models (DFF) 412614728caSSascha Wildner8 ulelong 0x0c00ffff RenderWare data, v3.3.0.0, 413614728caSSascha Wildner>0 ulelong 0x00000016 texture archive (TXD) 414614728caSSascha Wildner>0 ulelong 0x00000010 3D models (DFF) 415614728caSSascha Wildner8 ulelong 0x0c02ffff RenderWare data, v3.3.0.2, used in GTA III PC and GTA VC PS2, 416614728caSSascha Wildner>0 ulelong 0x00000016 texture archive (TXD) 417614728caSSascha Wildner>0 ulelong 0x00000010 3D models (DFF) 418614728caSSascha Wildner8 ulelong 0x1000ffff RenderWare data, v3.4.0.0, 419614728caSSascha Wildner>0 ulelong 0x00000016 texture archive (TXD) 420614728caSSascha Wildner>0 ulelong 0x00000010 3D models (DFF) 421614728caSSascha Wildner8 ulelong 0x1003ffff RenderWare data, v3.4.0.3, used in GTA VC PC, 422614728caSSascha Wildner>0 ulelong 0x00000016 texture archive (TXD) 423614728caSSascha Wildner>0 ulelong 0x00000010 3D models (DFF) 424614728caSSascha Wildner8 ulelong 0x1005ffff RenderWare data, v3.4.0.5, used in GTA III/VC on Android, 425614728caSSascha Wildner>0 ulelong 0x00000016 texture archive (TXD) 426614728caSSascha Wildner>0 ulelong 0x00000010 3D models (DFF) 427614728caSSascha Wildner8 ulelong 0x1400ffff RenderWare data, v3.5.0.0, used in GTA III/VC on Xbox, 428614728caSSascha Wildner>0 ulelong 0x00000016 texture archive (TXD) 429614728caSSascha Wildner>0 ulelong 0x00000010 3D models (DFF) 430614728caSSascha Wildner8 ulelong 0x1803ffff RenderWare data, v3.6.0.3, used in GTA SA, 431614728caSSascha Wildner>0 ulelong 0x00000016 texture archive (TXD) 432614728caSSascha Wildner>0 ulelong 0x00000010 3D models (DFF) 433614728caSSascha Wildner 434614728caSSascha Wildner0 string COL RenderWare collision data (COL), 435614728caSSascha Wildner>3 string L version 1, used in GTA III/VC/SA 436614728caSSascha Wildner>3 string 2 version 2, used in GTA SA 437614728caSSascha Wildner>3 string 3 version 3, used in GTA SA 438614728caSSascha Wildner>3 string 4 version 4, used in GTA SA 439614728caSSascha Wildner 440614728caSSascha Wildner## GTA items and animations 441614728caSSascha Wildner 442614728caSSascha Wildner0 string/c #\ ipl\ generated\ from\ max\ file GTA Item Placement data (IPL), used in GTA III/VC 443614728caSSascha Wildner0 string/b bnry GTA Item Placement data (IPL), used in GTA SA/IV, 444614728caSSascha Wildner>4 ulelong x %d items 445614728caSSascha Wildner 446614728caSSascha Wildner0 string ANP GTA animation data (IFP), 447614728caSSascha Wildner>3 string K version 1, used in GTA III/VC 448614728caSSascha Wildner>3 string 3 version 2, used in GTA SA 449614728caSSascha Wildner 450614728caSSascha Wildner0 string GtaSA29 GTA Replay data (REP), used in GTA SA 451614728caSSascha Wildner 452614728caSSascha Wildner## GTA text 453614728caSSascha Wildner 454614728caSSascha Wildner0 string TKEY GTA in-game text (GXT), version 2, used in GTA III 455614728caSSascha Wildner0 string TABL GTA in-game text (GXT), version 3, used in GTA VC/LS/VCS 456614728caSSascha Wildner 457614728caSSascha Wildner## GTA scripts 458614728caSSascha Wildner 459614728caSSascha Wildner0 string \x02\x00\x01 GTA script (SCM), used in GTA III/VC/SA 460614728caSSascha Wildner 461614728caSSascha Wildner## GTA archives 462614728caSSascha Wildner 463614728caSSascha Wildner0 string VER2 GTA archive (IMG), version 2, used in GTA SA, 464614728caSSascha Wildner>4 ulelong x %d items 465614728caSSascha Wildner 466614728caSSascha Wildner# GTA HD-Era (IV/V) - used by the Rockstar Advanced Game Engine (RAGE) 467614728caSSascha Wildner 468614728caSSascha Wildner## GTA models and textures - RAGE resources 469614728caSSascha Wildner# Note: GTA IV formats not yet documented - WAD, WBD, WBN, WHM, WPL 470614728caSSascha Wildner 471614728caSSascha Wildner0 ulelong 0x00695254 GTA Drawable data (WDR), model and weapon data, used in GTA IV 472614728caSSascha Wildner0 ulelong 0x00695238 GTA Windows Frag Type (WFT), vehicle models, used in GTA IV 473614728caSSascha Wildner0 ulelong 0x006953A4 GTA Ped and LOD models (WDD), used in GTA IV 474614728caSSascha Wildner0 ulelong 0x00695384 GTA Windows Texture Dictionary (WTD), used in GTA IV 475614728caSSascha Wildner 476614728caSSascha Wildner## GTA text 477614728caSSascha Wildner 478614728caSSascha Wildner4 string TABL GTA in-game text (GXT), 479614728caSSascha Wildner>0 uleshort x version %d, used in GTA SA/IV 480614728caSSascha Wildner0 string 2GXT GTA in-game text (GXT2), used in GTA V 481614728caSSascha Wildner 482614728caSSascha Wildner## GTA scripts 483614728caSSascha Wildner 484614728caSSascha Wildner0 ulelong 0x0d524353 GTA script (SCO), unencrypted, used in GTA IV, 485614728caSSascha Wildner>4 ulelong x %d code bytes, 486614728caSSascha Wildner>>8 ulelong x %d static variables, 487614728caSSascha Wildner>>>12 ulelong x %d global variables 488614728caSSascha Wildner0 ulelong 0x0e726373 GTA script (SCO), encrypted, used in GTA IV 489614728caSSascha Wildner>4 ulelong x %d code bytes, 490614728caSSascha Wildner>>8 ulelong x %d static variables, 491614728caSSascha Wildner>>>12 ulelong x %d global variables 492614728caSSascha Wildner 493614728caSSascha Wildner## GTA archives 494614728caSSascha Wildner 495614728caSSascha Wildner0 ulelong 0xa94e2a52 GTA archive (IMG), 496614728caSSascha Wildner>4 ulelong x version %d, used in GTA IV, 497614728caSSascha Wildner>>8 ulelong x %d items 498614728caSSascha Wildner 499*3b9cdfa3SAntonio Huete Jimenez# RPF[0-8] 500*3b9cdfa3SAntonio Huete Jimenez0 ulelong&0xfffffff0 =0x52504630 501*3b9cdfa3SAntonio Huete Jimenez>0 ulelong&0xf <9 RAGE Package Format (RPF), version %d, used in 502*3b9cdfa3SAntonio Huete Jimenez>>0 ulelong&0xf =0 Rockstar Table Tennis, 503*3b9cdfa3SAntonio Huete Jimenez>>0 ulelong&0xf =1 *unknown* 504*3b9cdfa3SAntonio Huete Jimenez>>0 ulelong&0xf =2 GTA IV, 505*3b9cdfa3SAntonio Huete Jimenez>>0 ulelong&0xf =3 GTA IV Audio & Midnight Club: LA, 506*3b9cdfa3SAntonio Huete Jimenez>>0 ulelong&0xf =4 Max Payne 3, 507*3b9cdfa3SAntonio Huete Jimenez>>0 ulelong&0xf =5 *unknown* 508*3b9cdfa3SAntonio Huete Jimenez>>0 ulelong&0xf =6 RDR, 509*3b9cdfa3SAntonio Huete Jimenez>>0 ulelong&0xf =7 GTA V, 510*3b9cdfa3SAntonio Huete Jimenez>>0 ulelong&0xf =8 RDR 2, 511614728caSSascha Wildner>>4 ulelong x %d bytes, 512614728caSSascha Wildner>>>8 ulelong x %d entries 513