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