1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
|
#------------------------------------------------------------------------------
# $File: games,v 1.31 2023/03/29 22:57:27 christos Exp $
# games: file(1) for games
# Fabio Bonelli <fabiobonelli@libero.it>
# Quake II - III data files
0 string IDP2 Quake II 3D Model file,
>20 long x %u skin(s),
>8 long x (%u x
>12 long x %u),
>40 long x %u frame(s),
>16 long x Frame size %u bytes,
>24 long x %u vertices/frame,
>28 long x %u texture coordinates,
>32 long x %u triangles/frame
0 string IBSP Quake
>4 long 0x26 II Map file (BSP)
>4 long 0x2E III Map file (BSP)
0 string IDS2 Quake II SP2 sprite file
#---------------------------------------------------------------------------
# Doom and Quake
# submitted by Nicolas Patrois
0 string \xcb\x1dBoom\xe6\xff\x03\x01 Boom or linuxdoom demo
# some doom lmp files don't match, I've got one beginning with \x6d\x02\x01\x01
24 string LxD\ 203 Linuxdoom save
>0 string x , name=%s
>44 string x , world=%s
# Quake
# Update: Joerg Jenderek
# URL: http://fileformats.archiveteam.org/wiki/PAK
# reference: https://quakewiki.org/wiki/.pak
# GRR: line below is too general as it matches also Acorn PackDir compressed Archive
# and Git pack ./revision
0 string PACK
# real Quake examples like pak0.pak have only some hundreds like 150 files
# So test for few files
>8 ulelong <0x01000000
# in file version 5.32 test for null terminator is only true for
# offset ~< FILE_BYTES_MAX = 1 MB defined in ../../src/file.h
# look for null terminator of 1st entry name
>>(4.l+55) ubyte 0 Quake I or II world or extension
!:mime application/x-dzip
!:ext pak
#>>>8 ulelong x \b, table size %u
# dividing this by entry size (64) gives number of files
>>>8 ulelong/64 x \b, %u files
# offset to the beginning of the file table
>>>4 ulelong x \b, offset %#x
# 1st file entry
>>>(4.l) use pak-entry
# 2nd file entry
#>>>4 ulelong+64 x \b, offset %#x
#>>>(4.l+64) use pak-entry
#
# display file table entry of Quake PAK archive
0 name pak-entry
# normally entry start after header which implies offset 12 or higher
>56 ulelong >11
# the offset from the beginning of pak to beginning of this entry file contents
>>56 ulelong x at %#x
# the size of file for this entry
>>60 ulelong x %u bytes
# 56 byte null-terminated entry name string includes path like maps/e1m1.bsp
>>0 string x '%-.56s'
# inspect entry content by jumping to entry offset
>>(56) indirect x \b:
#0 string -1\x0a Quake I demo
#>30 string x version %.4s
#>61 string x level %s
#0 string 5\x0a Quake I save
# The levels
# Quake 1
0 string 5\x0aIntroduction Quake I save: start Introduction
0 string 5\x0athe_Slipgate_Complex Quake I save: e1m1 The slipgate complex
0 string 5\x0aCastle_of_the_Damned Quake I save: e1m2 Castle of the damned
0 string 5\x0athe_Necropolis Quake I save: e1m3 The necropolis
0 string 5\x0athe_Grisly_Grotto Quake I save: e1m4 The grisly grotto
0 string 5\x0aZiggurat_Vertigo Quake I save: e1m8 Ziggurat vertigo (secret)
0 string 5\x0aGloom_Keep Quake I save: e1m5 Gloom keep
0 string 5\x0aThe_Door_To_Chthon Quake I save: e1m6 The door to Chthon
0 string 5\x0aThe_House_of_Chthon Quake I save: e1m7 The house of Chthon
0 string 5\x0athe_Installation Quake I save: e2m1 The installation
0 string 5\x0athe_Ogre_Citadel Quake I save: e2m2 The ogre citadel
0 string 5\x0athe_Crypt_of_Decay Quake I save: e2m3 The crypt of decay (dopefish lives!)
0 string 5\x0aUnderearth Quake I save: e2m7 Underearth (secret)
0 string 5\x0athe_Ebon_Fortress Quake I save: e2m4 The ebon fortress
0 string 5\x0athe_Wizard's_Manse Quake I save: e2m5 The wizard's manse
0 string 5\x0athe_Dismal_Oubliette Quake I save: e2m6 The dismal oubliette
0 string 5\x0aTermination_Central Quake I save: e3m1 Termination central
0 string 5\x0aVaults_of_Zin Quake I save: e3m2 Vaults of Zin
0 string 5\x0athe_Tomb_of_Terror Quake I save: e3m3 The tomb of terror
0 string 5\x0aSatan's_Dark_Delight Quake I save: e3m4 Satan's dark delight
0 string 5\x0athe_Haunted_Halls Quake I save: e3m7 The haunted halls (secret)
0 string 5\x0aWind_Tunnels Quake I save: e3m5 Wind tunnels
0 string 5\x0aChambers_of_Torment Quake I save: e3m6 Chambers of torment
0 string 5\x0athe_Sewage_System Quake I save: e4m1 The sewage system
0 string 5\x0aThe_Tower_of_Despair Quake I save: e4m2 The tower of despair
0 string 5\x0aThe_Elder_God_Shrine Quake I save: e4m3 The elder god shrine
0 string 5\x0athe_Palace_of_Hate Quake I save: e4m4 The palace of hate
0 string 5\x0aHell's_Atrium Quake I save: e4m5 Hell's atrium
0 string 5\x0athe_Nameless_City Quake I save: e4m8 The nameless city (secret)
0 string 5\x0aThe_Pain_Maze Quake I save: e4m6 The pain maze
0 string 5\x0aAzure_Agony Quake I save: e4m7 Azure agony
0 string 5\x0aShub-Niggurath's_Pit Quake I save: end Shub-Niggurath's pit
# Quake DeathMatch levels
0 string 5\x0aPlace_of_Two_Deaths Quake I save: dm1 Place of two deaths
0 string 5\x0aClaustrophobopolis Quake I save: dm2 Claustrophobopolis
0 string 5\x0aThe_Abandoned_Base Quake I save: dm3 The abandoned base
0 string 5\x0aThe_Bad_Place Quake I save: dm4 The bad place
0 string 5\x0aThe_Cistern Quake I save: dm5 The cistern
0 string 5\x0aThe_Dark_Zone Quake I save: dm6 The dark zone
# Scourge of Armagon
0 string 5\x0aCommand_HQ Quake I save: start Command HQ
0 string 5\x0aThe_Pumping_Station Quake I save: hip1m1 The pumping station
0 string 5\x0aStorage_Facility Quake I save: hip1m2 Storage facility
0 string 5\x0aMilitary_Complex Quake I save: hip1m5 Military complex (secret)
0 string 5\x0athe_Lost_Mine Quake I save: hip1m3 The lost mine
0 string 5\x0aResearch_Facility Quake I save: hip1m4 Research facility
0 string 5\x0aAncient_Realms Quake I save: hip2m1 Ancient realms
0 string 5\x0aThe_Gremlin's_Domain Quake I save: hip2m6 The gremlin's domain (secret)
0 string 5\x0aThe_Black_Cathedral Quake I save: hip2m2 The black cathedral
0 string 5\x0aThe_Catacombs Quake I save: hip2m3 The catacombs
0 string 5\x0athe_Crypt__ Quake I save: hip2m4 The crypt
0 string 5\x0aMortum's_Keep Quake I save: hip2m5 Mortum's keep
0 string 5\x0aTur_Torment Quake I save: hip3m1 Tur torment
0 string 5\x0aPandemonium Quake I save: hip3m2 Pandemonium
0 string 5\x0aLimbo Quake I save: hip3m3 Limbo
0 string 5\x0athe_Edge_of_Oblivion Quake I save: hipdm1 The edge of oblivion (secret)
0 string 5\x0aThe_Gauntlet Quake I save: hip3m4 The gauntlet
0 string 5\x0aArmagon's_Lair Quake I save: hipend Armagon's lair
# Malice
0 string 5\x0aThe_Academy Quake I save: start The academy
0 string 5\x0aThe_Lab Quake I save: d1 The lab
0 string 5\x0aArea_33 Quake I save: d1b Area 33
0 string 5\x0aSECRET_MISSIONS Quake I save: d3b Secret missions
0 string 5\x0aThe_Hospital Quake I save: d10 The hospital (secret)
0 string 5\x0aThe_Genetics_Lab Quake I save: d11 The genetics lab (secret)
0 string 5\x0aBACK_2_MALICE Quake I save: d4b Back to Malice
0 string 5\x0aArea44 Quake I save: d1c Area 44
0 string 5\x0aTakahiro_Towers Quake I save: d2 Takahiro towers
0 string 5\x0aA_Rat's_Life Quake I save: d3 A rat's life
0 string 5\x0aInto_The_Flood Quake I save: d4 Into the flood
0 string 5\x0aThe_Flood Quake I save: d5 The flood
0 string 5\x0aNuclear_Plant Quake I save: d6 Nuclear plant
0 string 5\x0aThe_Incinerator_Plant Quake I save: d7 The incinerator plant
0 string 5\x0aThe_Foundry Quake I save: d7b The foundry
0 string 5\x0aThe_Underwater_Base Quake I save: d8 The underwater base
0 string 5\x0aTakahiro_Base Quake I save: d9 Takahiro base
0 string 5\x0aTakahiro_Laboratories Quake I save: d12 Takahiro laboratories
0 string 5\x0aStayin'_Alive Quake I save: d13 Stayin' alive
0 string 5\x0aB.O.S.S._HQ Quake I save: d14 B.O.S.S. HQ
0 string 5\x0aSHOWDOWN! Quake I save: d15 Showdown!
# Malice DeathMatch levels
0 string 5\x0aThe_Seventh_Precinct Quake I save: ddm1 The seventh precinct
0 string 5\x0aSub_Station Quake I save: ddm2 Sub station
0 string 5\x0aCrazy_Eights! Quake I save: ddm3 Crazy eights!
0 string 5\x0aEast_Side_Invertationa Quake I save: ddm4 East side invertationa
0 string 5\x0aSlaughterhouse Quake I save: ddm5 Slaughterhouse
0 string 5\x0aDOMINO Quake I save: ddm6 Domino
0 string 5\x0aSANDRA'S_LADDER Quake I save: ddm7 Sandra's ladder
0 string MComprHD MAME CHD compressed hard disk image,
>12 belong x version %u
# MAME input recordings
0 string MAMEINP\0 MAME input recording
>8 leqdate x at %s,
>16 leshort x format version %d.
>18 leshort x \b%d,
>20 string x %s driver,
>32 string x %s
# doom - submitted by Jon Dowland
0 string =IWAD doom main IWAD data
>4 lelong x containing %d lumps
0 string =PWAD doom patch PWAD data
>4 lelong x containing %d lumps
# Build engine group files (Duke Nukem, Shadow Warrior, ...)
# Extension: .grp
# Created by: "Ganael Laplanche" <ganael.laplanche@martymac.org>
0 string KenSilverman Build engine group file
>12 lelong x containing %d files
# Summary: Warcraft 3 save
# Extension: .w3g
# Created by: "Nelson A. de Oliveira" <naoliv@gmail.com>
0 string Warcraft\ III\ recorded\ game %s
# Summary: Warcraft 3 map
# Extension: .w3m
# Created by: "Nelson A. de Oliveira" <naoliv@gmail.com>
0 string HM3W Warcraft III map file
# Summary: SGF Smart Game Format
# Extension: .sgf
# Reference: https://www.red-bean.com/sgf/
# Created by: Eduardo Sabbatella <eduardo_sabbatella@yahoo.com.ar>
# Modified by (1): Abel Cheung (regex, more game format)
# FIXME: Some games don't have GM (game type)
0 regex \\(;.*GM\\[[0-9]{1,2}\\] Smart Game Format
>2 search/0x200/b GM[
>>&0 string 1] (Go)
>>&0 string 2] (Othello)
>>&0 string 3] (chess)
>>&0 string 4] (Gomoku+Renju)
>>&0 string 5] (Nine Men's Morris)
>>&0 string 6] (Backgammon)
>>&0 string 7] (Chinese chess)
>>&0 string 8] (Shogi)
>>&0 string 9] (Lines of Action)
>>&0 string 10] (Ataxx)
>>&0 string 11] (Hex)
>>&0 string 12] (Jungle)
>>&0 string 13] (Neutron)
>>&0 string 14] (Philosopher's Football)
>>&0 string 15] (Quadrature)
>>&0 string 16] (Trax)
>>&0 string 17] (Tantrix)
>>&0 string 18] (Amazons)
>>&0 string 19] (Octi)
>>&0 string 20] (Gess)
>>&0 string 21] (Twixt)
>>&0 string 22] (Zertz)
>>&0 string 23] (Plateau)
>>&0 string 24] (Yinsh)
>>&0 string 25] (Punct)
>>&0 string 26] (Gobblet)
>>&0 string 27] (hive)
>>&0 string 28] (Exxit)
>>&0 string 29] (Hnefatal)
>>&0 string 30] (Kuba)
>>&0 string 31] (Tripples)
>>&0 string 32] (Chase)
>>&0 string 33] (Tumbling Down)
>>&0 string 34] (Sahara)
>>&0 string 35] (Byte)
>>&0 string 36] (Focus)
>>&0 string 37] (Dvonn)
>>&0 string 38] (Tamsk)
>>&0 string 39] (Gipf)
>>&0 string 40] (Kropki)
##############################################
# NetImmerse/Gamebryo game engine entries
# Summary: Gamebryo game engine file
# Extension: .nif, .kf
# Created by: Abel Cheung <abelcheung@gmail.com>
0 string Gamebryo\ File\ Format,\ Version\ Gamebryo game engine file
>&0 regex [0-9a-z.]+ \b, version %s
# Summary: Gamebryo game engine file
# Extension: .kfm
# Created by: Abel Cheung <abelcheung@gmail.com>
0 string ;Gamebryo\ KFM\ File\ Version\ Gamebryo game engine animation File
>&0 regex [0-9a-z.]+ \b, version %s
# Summary: NetImmerse game engine file
# Extension .nif
# Created by: Abel Cheung <abelcheung@gmail.com>
0 string NetImmerse\ File\ Format,\ Version
>&0 string n\ NetImmerse game engine file
>>&0 regex [0-9a-z.]+ \b, version %s
# Type: SGF Smart Game Format
# URL: https://www.red-bean.com/sgf/
# From: Eduardo Sabbatella <eduardo_sabbatella@yahoo.com.ar>
2 regex/c \\(;.*GM\\[[0-9]{1,2}\\] Smart Game Format
>2 regex/c GM\\[1\\] - Go Game
>2 regex/c GM\\[6\\] - BackGammon Game
>2 regex/c GM\\[11\\] - Hex Game
>2 regex/c GM\\[18\\] - Amazons Game
>2 regex/c GM\\[19\\] - Octi Game
>2 regex/c GM\\[20\\] - Gess Game
>2 regex/c GM\\[21\\] - twix Game
# Epic Games/Unreal Engine Package
# URL: https://docs.unrealengine.com/udk/Three/ContentCooking.html
# https://eliotvu.com/page/unreal-package-file-format
# Little-endian version (such as x86 PC)
0 lelong 0x9E2A83C1 Unreal Engine package (little-endian)
!:ext xxx/tfc/upk/me1/u
>4 uleshort !0 \b, version %u
>>6 uleshort !0 \b/%03u
>>0 use upk_header
# Big-endian version (such as PS3)
0 belong 0x9E2A83C1 Unreal Engine package (big-endian)
!:ext xxx/tfc
>6 ubeshort !0 \b, version %u
>>4 ubeshort !0 \b/%03u
>>0 use \^upk_header
0 name upk_header
# Identify game from version and licensee
>4 ulelong 0x000002b2 (Alice Madness Returns)
>4 ulelong 0x002f0313 (Aliens: Colonial Marines)
>4 ulelong 0x005b021b (Alpha Protocol)
>4 ulelong 0x0000032c (AntiChamber)
>4 ulelong 0x00200223 (APB: All Points Bulletin)
>4 ulelong 0x004b02d7 (Bioshock Infinite)
>4 ulelong 0x00380340 (Borderlands 2)
>4 ulelong 0x001d02e6 (Bulletstorm)
>4 ulelong 0x00050240 (CrimeCraft)
>4 ulelong 0x00000356 (Deadlight)
>4 ulelong 0x001e0321 (Dishonored)
>4 ulelong 0x000202a6 (Dungeon Defenders)
>4 ulelong 0x000901ea (Gears of War)
>4 ulelong 0x0000023f (Gears of War 2)
>4 ulelong 0x0000033c (Gears of War 3)
>4 ulelong 0x0000034e (Gears of War: Judgement)
>4 ulelong 0x0004035c (Hawken)
>4 ulelong 0x0001034a (Infinity Blade 2)
>4 ulelong 0x00000350 (InMomentum)
>4 ulelong 0x0015037D (Life Is Strange)
>4 ulelong 0x000b01a5 (Medal of Honor: Airborne)
>4 ulelong 0x002b0218 (Mirrors Edge)
>4 ulelong 0x0000027e (Monday Night Combat)
>4 ulelong 0x0000024b (MoonBase Alpha)
>4 ulelong 0x002e01d8 (Mortal Kombat Komplete Edition 2605)
>4 ulelong 0x0000035c (Painkiller HD)
>4 ulelong 0x0000034d (Q.U.B.E)
>4 ulelong 0x80660340 (Quantum Conundrum)
>4 ulelong 0x0000035b (Ravaged)
>4 ulelong 0x00150340 (Remember Me)
>4 ulelong 0x00060171 (Roboblitz)
>4 ulelong 0x00000325 (Rock of Ages)
>4 ulelong 0x0000032a (Sanctum)
>4 ulelong 0x00030248 (Saw)
>4 ulelong 0x007e0248 (Singularity)
>4 ulelong 0x00090388 (Soldier Front 2)
>4 ulelong 0x000701e6 (Stargate Worlds)
>4 ulelong 0x00000334 (Super Monday Night Combat)
>4 ulelong 0x000002c2 (The Ball)
>4 ulelong 0x000e0262 (The Exiled Realm of Arborea or TERA)
>4 ulelong 0x0000035b (The Five Cores)
>4 ulelong 0x00000349 (The Haunted: Hells Reach)
>4 ulelong 0x00000354 (Unmechanical)
>4 ulelong 0x035c0298 (Unreal Development Kit)
>4 ulelong 0x00000200 (Unreal Tournament 3)
>4 ulelong 0x0000032d (Waves)
>4 ulelong 0x003b034d (XCOM: Enemy Unknown)
# Newer versions insert more headers
>4 ulelong&0xFFFF <249
>>12 lelong !0 \b, names: %d
>>28 lelong !0 \b, imports: %d
>>20 lelong !0 \b, exports: %d
>4 ulelong&0xFFFF >248
>>12 belong&0xFF !0
>>>12 string x \b, folder "%s"
>>>>&5 lelong !0 \b, names: %d
>>>>&21 lelong !0 \b, imports: %d
>>>>&13 lelong !0 \b, exports: %d
>>12 belong&0xFF 0
>>>16 belong&0xFF !0
>>>>16 string x \b, folder "%s"
>>>>>&5 lelong !0 \b, names: %d
>>>>>&21 lelong !0 \b, imports: %d
>>>>>&13 lelong !0 \b, exports: %d
>>>16 belong&0xFF 0
>>>>20 string x \b, folder "%s"
>>>>>&5 lelong !0 \b, names: %d
>>>>>&21 lelong !0 \b, imports: %d
>>>>>&13 lelong !0 \b, exports: %d
0 string ESVG
>4 lelong 0x00160000
>10 string TOC\020 Empire Deluxe for DOS saved game
# Sid Meier's Civilization V/VI
# From: Benjamin Lowry <ben@ben.gmbh>
0 string CIV5
>4 byte 0x08 Sid Meier's Civilization V saved game,
>>12 regex [0-9a-z.]+ saved by game version %s
>4 byte 0x01 Sid Meier's Civilization V replay data,
>>12 regex [0-9a-z.]+ saved by game version %s
0 string CIV6 Sid Meier's Civilization VI saved game
# https://syzygy-tables.info/
# From Michel Van den Bergh
0 string \327f\f\245 Syzygy DTZ tablebase
!:mime application/syzygy
0 string q\350#] Syzygy WDL tablebase
!:mime application/syzygy
##############################################################################
# Grand Theft Auto (GTA) file formats.
#
# Summary:
# Includes GTA-specific formats used in all games from 1997 to present. Games
# and formats were created by Rockstar North, formerly DMA Design. Magic tests
# were written based on a combination of official and community documentation.
#
# Created by: Oliver Galvin <odg@riseup.net>
#
# References:
# * Classic GTA documentation and research:
# <https://gitlab.com/classic-gta/gta-data>
# * Official RenderWare documentation available from EA:
# <https://github.com/electronicarts/RenderWare3Docs>
# * Lots of community research in the GTAMods wiki:
# <https://gtamods.com/wiki>
# GTA 2D-Era data - 'Classic' top down games (1/L/2)
## GTA text
0 string \xbf\xf8\xbd\x49\x62\xbe GTA1 in-game text (FXT),
0 string GBL GTA2 in-game text (GXT),
>3 string E English,
>>4 uleshort x version %d
>3 string F French,
>>4 uleshort x version %d
>3 string G German,
>>4 uleshort x version %d
>3 string I Italian,
>>4 uleshort x version %d
>3 string S Spanish,
>>4 uleshort x version %d
>3 string J Japanese,
>>4 uleshort x version %d
## GTA maps
0 ulelong 331 GTA1 map layout (CMP),
>4 byte 1 Level 1
>4 byte 2 Level 2
>4 byte 3 Level 3
0 string GBMP GTA2/GBH map layout (GMP),
>4 uleshort x version %d
0 string/t [MapFiles] GTA2 multiplayer map metadata (MMP)
0 string/t MainOrBonus\ =\ MAIN GTA2 single player map listing (test1.seq)
## GTA 2D sprites and textures
0 ulelong 290 GTA1 style data (GRX), 8 bit editor graphics
0 ulelong 325 GTA1 style data (GRY), 8 bit in-game graphics
0 ulelong 336 GTA1 style data (G24), 24 bit in-game graphics
0 string GBST GTA2/GBH style data (STY), in-game graphics,
>4 uleshort x version %d
## GTA audio index
0 ulelong 0
>4 ulelong <0x40000
>>8 ulelong >4500
>>>8 ulelong <45000 GTA audio index data (SDT)
## GTA scripts
0 ulelong 0x00080000
>4 uleshort 0x0024 GTA2 binary main script (SCR)
0 uleshort 0x063c GTA2 binary mission script (SCR), Residential area (ste)
0 uleshort 0x055b GTA2 binary mission script (SCR), Downtown area (wil)
0 uleshort 0x0469 GTA2 binary mission script (SCR), Industrial area (bil)
0 string v9.6\0\0 GTA2 replay file (REP),
>8 regex/30c [a-z0-9:\ ]+\0\0 created on %s
# GTA 3D-Era (III/VC/SA/LCS/VCS) - used by the RenderWare engine by Criterion Games
## GTA 3D models and textures - RenderWare binary streams
8 ulelong 0x00000310 RenderWare data, v3.1.0.0, used in GTA III on PS2,
>0 ulelong 0x00000016 texture archive (TXD)
>0 ulelong 0x00000010 3D models (DFF)
8 ulelong 0x0401ffff RenderWare data, v3.1.0.1, used in GTA III on PC/PS2,
>0 ulelong 0x00000016 texture archive (TXD)
>0 ulelong 0x00000010 3D models (DFF)
8 ulelong 0x0800ffff RenderWare data, v3.2.0.0, used in GTA III on PC,
>0 ulelong 0x00000016 texture archive (TXD)
>0 ulelong 0x00000010 3D models (DFF)
8 ulelong 0x0c00ffff RenderWare data, v3.3.0.0,
>0 ulelong 0x00000016 texture archive (TXD)
>0 ulelong 0x00000010 3D models (DFF)
8 ulelong 0x0c02ffff RenderWare data, v3.3.0.2, used in GTA III PC and GTA VC PS2,
>0 ulelong 0x00000016 texture archive (TXD)
>0 ulelong 0x00000010 3D models (DFF)
8 ulelong 0x1000ffff RenderWare data, v3.4.0.0,
>0 ulelong 0x00000016 texture archive (TXD)
>0 ulelong 0x00000010 3D models (DFF)
8 ulelong 0x1003ffff RenderWare data, v3.4.0.3, used in GTA VC PC,
>0 ulelong 0x00000016 texture archive (TXD)
>0 ulelong 0x00000010 3D models (DFF)
8 ulelong 0x1005ffff RenderWare data, v3.4.0.5, used in GTA III/VC on Android,
>0 ulelong 0x00000016 texture archive (TXD)
>0 ulelong 0x00000010 3D models (DFF)
8 ulelong 0x1400ffff RenderWare data, v3.5.0.0, used in GTA III/VC on Xbox,
>0 ulelong 0x00000016 texture archive (TXD)
>0 ulelong 0x00000010 3D models (DFF)
8 ulelong 0x1803ffff RenderWare data, v3.6.0.3, used in GTA SA,
>0 ulelong 0x00000016 texture archive (TXD)
>0 ulelong 0x00000010 3D models (DFF)
0 string COL RenderWare collision data (COL),
>3 string L version 1, used in GTA III/VC/SA
>3 string 2 version 2, used in GTA SA
>3 string 3 version 3, used in GTA SA
>3 string 4 version 4, used in GTA SA
## GTA items and animations
0 string/c #\ ipl\ generated\ from\ max\ file GTA Item Placement data (IPL), used in GTA III/VC
0 string/b bnry GTA Item Placement data (IPL), used in GTA SA/IV,
>4 ulelong x %d items
0 string ANP GTA animation data (IFP),
>3 string K version 1, used in GTA III/VC
>3 string 3 version 2, used in GTA SA
0 string GtaSA29 GTA Replay data (REP), used in GTA SA
## GTA text
0 string TKEY GTA in-game text (GXT), version 2, used in GTA III
0 string TABL GTA in-game text (GXT), version 3, used in GTA VC/LS/VCS
## GTA scripts
0 string \x02\x00\x01 GTA script (SCM), used in GTA III/VC/SA
## GTA archives
0 string VER2 GTA archive (IMG), version 2, used in GTA SA,
>4 ulelong x %d items
# GTA HD-Era (IV/V) - used by the Rockstar Advanced Game Engine (RAGE)
## GTA models and textures - RAGE resources
# Note: GTA IV formats not yet documented - WAD, WBD, WBN, WHM, WPL
0 ulelong 0x00695254 GTA Drawable data (WDR), model and weapon data, used in GTA IV
0 ulelong 0x00695238 GTA Windows Frag Type (WFT), vehicle models, used in GTA IV
0 ulelong 0x006953A4 GTA Ped and LOD models (WDD), used in GTA IV
0 ulelong 0x00695384 GTA Windows Texture Dictionary (WTD), used in GTA IV
## GTA text
4 string TABL GTA in-game text (GXT),
>0 uleshort x version %d, used in GTA SA/IV
0 string 2GXT GTA in-game text (GXT2), used in GTA V
## GTA scripts
0 ulelong 0x0d524353 GTA script (SCO), unencrypted, used in GTA IV,
>4 ulelong x %d code bytes,
>>8 ulelong x %d static variables,
>>>12 ulelong x %d global variables
0 ulelong 0x0e726373 GTA script (SCO), encrypted, used in GTA IV
>4 ulelong x %d code bytes,
>>8 ulelong x %d static variables,
>>>12 ulelong x %d global variables
## GTA archives
0 ulelong 0xa94e2a52 GTA archive (IMG),
>4 ulelong x version %d, used in GTA IV,
>>8 ulelong x %d items
# RPF[0-8]
0 ulelong&0xfffffff0 =0x52504630
>0 ulelong&0xf <9 RAGE Package Format (RPF), version %d, used in
>>0 ulelong&0xf =0 Rockstar Table Tennis,
>>0 ulelong&0xf =1 *unknown*
>>0 ulelong&0xf =2 GTA IV,
>>0 ulelong&0xf =3 GTA IV Audio & Midnight Club: LA,
>>0 ulelong&0xf =4 Max Payne 3,
>>0 ulelong&0xf =5 *unknown*
>>0 ulelong&0xf =6 RDR,
>>0 ulelong&0xf =7 GTA V,
>>0 ulelong&0xf =8 RDR 2,
>>4 ulelong x %d bytes,
>>>8 ulelong x %d entries
# Blitz3D Model File Format
# From: Alexandre Iooss <erdnaxe@crans.org>
# URL: https://github.com/minetest/B3DExport/blob/master/B3DExport.py
0 string BB3D
>4 lelong >0
>>8 lelong >0 Blitz3D Model
!:ext b3d
>>>8 lelong x \b, version %d
# Minetest Schematic File Format
# From: Alexandre Iooss <erdnaxe@crans.org>
# URL: https://github.com/minetest/minetest/blob/5.6.1/src/mapgen/mg_schematic.h
0 string MTSM Minetest Schematic
!:ext mts
>4 ubeshort x \b, version %d
>6 ubeshort x \b, size [%d
>8 ubeshort x \b, %d
>10 ubeshort x \b, %d]
# MagicaVoxel File Format
# From: Alexandre Iooss <erdnaxe@crans.org>
# URL: https://github.com/ephtracy/voxel-model/blob/ee2216c28a78ebb68691dc6cfa9c4ba429117ea2/MagicaVoxel-file-format-vox.txt
# Note: This format is used in Veloren voxel RPG.
0 string VOX\x20
>4 lelong >0 MagicaVoxel model
!:ext vox
>>4 lelong x \b, version %d
# Wwise SoundBank
# From: Alexandre Iooss <erdnaxe@crans.org>
# URL: https://wiki.xentax.com/index.php/Wwise_SoundBank_(*.bnk)
0 string BKHD
# Little-endian version (such as x86 PC)
>4 ulelong <0x100 Wwise SoundBank (little-endian)
!:ext bnk
>>0 use wwise_bkhd
# Big-endian version (such as PS3)
>4 ubelong <0x100 Wwise SoundBank (big-endian)
!:ext bnk
>>0 use \^wwise_bkhd
0 name wwise_bkhd
>8 ulelong x \b, version %d
>12 ulelong x \b, id %08X
>16 ulelong =0x00 \b, SFX
>16 ulelong =0x01 \b, arabic
>16 ulelong =0x02 \b, bulgarian
>16 ulelong =0x03 \b, chinese (HK)
>16 ulelong =0x04 \b, chinese (PRC)
>16 ulelong =0x05 \b, chinese (Taiwan)
>16 ulelong =0x06 \b, czech
>16 ulelong =0x07 \b, danish
>16 ulelong =0x08 \b, dutch
>16 ulelong =0x09 \b, english (Australia)
>16 ulelong =0x0A \b, english (India)
>16 ulelong =0x0B \b, english (UK)
>16 ulelong =0x0C \b, english (US)
>16 ulelong =0x0D \b, finnish
>16 ulelong =0x0E \b, french (Canada)
>16 ulelong =0x0F \b, french (France)
>16 ulelong =0x10 \b, german
>16 ulelong =0x11 \b, greek
>16 ulelong =0x12 \b, hebrew
>16 ulelong =0x13 \b, hungarian
>16 ulelong =0x14 \b, indonesian
>16 ulelong =0x15 \b, italian
>16 ulelong =0x16 \b, japanese
>16 ulelong =0x17 \b, korean
>16 ulelong =0x18 \b, latin
>16 ulelong =0x19 \b, norwegian
>16 ulelong =0x1A \b, polish
>16 ulelong =0x1B \b, portuguese (Brazil)
>16 ulelong =0x1C \b, portuguese (Portugal)
>16 ulelong =0x1D \b, romanian
>16 ulelong =0x1E \b, russian
>16 ulelong =0x1F \b, slovenian
>16 ulelong =0x20 \b, spanish (Mexico)
>16 ulelong =0x21 \b, spanish (Spain)
>16 ulelong =0x22 \b, spanish (US)
>16 ulelong =0x23 \b, swedish
>16 ulelong =0x24 \b, turkish
>16 ulelong =0x25 \b, ukrainian
>16 ulelong =0x26 \b, vietnamese
# Wwise Audio Package
# From: Alexandre Iooss <erdnaxe@crans.org>
# URL: https://wiki.xentax.com/index.php/Wwise_Audio_PCK
0 string AKPK
# Little-endian version (such as x86 PC)
>8 ulelong <0x100 Wwise Audio Package (little-endian)
!:ext pck
# Big-endian version (such as PS3)
>8 ubelong <0x100 Wwise Audio Package (big-endian)
!:ext pck
|