Formats (Takedown-Dominator)

From Burnout Wiki
Revision as of 03:09, 2 January 2021 by AcuteSyntax (talk | contribs) (Created page with "Documentation for the various filetypes used by the Burnout games for 3D mesh data, textures, sounds, and other assets. = Model Data = == PS2 and PSP == The 3D mesh format us...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Documentation for the various filetypes used by the Burnout games for 3D mesh data, textures, sounds, and other assets.

Model Data

PS2 and PSP

The 3D mesh format used by Burnout's PlayStation 2 and PlayStation Portable versions stores both the actual mesh data as well as the GPU commands required to render the model; these commands use arguments related to the specific vertices being drawn, so they have to be grouped in as data with the rest of the file. PS2 models from the Takedown Era-games seem to store their vertex data as rows of 4-byte floating-point numbers, with 3 floats in each row - it's possible each of the floats represent the X, Y and Z coordinates of the vertex.

Each "block" of mesh data on the PS2 version begins with the hex sequence 00 00 00 05 03 01 00 01 00 80.

Texture Data

Burnout's PS2 and PSP versions use textures stored as uncompressed bitmaps. These bitmaps contain CLUT4 (16-color) and CLUT8 (256-color) color palettes, with the palette itself being a little ways underneath the texture data.

Xbox versions use DirectDraw Surface-formatted textures. These seem to use some form of compression (likely DXT).

Note that the .tif extension files seen in the frontend archives of Burnout Revenge are not actually TIFF-formatted images; this just happens to be a leftover from prior to the images' conversion to CLUT/DDS textures.

PSP

Although not too far off from the PS2 format, the texture format used on Burnout PSP has a smaller header and uses a different swizzling method.

Header Layout

Header size: 0x110 bytes

Offset Name Type Length
0x08 CLUT palette pointer Unsigned integer (32) 0x04
0x0C Bitmap width Unsigned integer (32) 0x04
0x10 Bitmap height Unsigned integer (32) 0x04
0x14 Unused pixel mode Unsigned integer (32) 0x04
0x84 Pixel mode Unsigned integer (32) 0x04
0x8C Texture name String up to 0x20
0xAC Floating-point number Unsigned integer (32) 0x04
0xB0 CLUT palette count Unsigned integer (8) 0x01
0xB1 CLUT palette index Unsigned char 0x01
0xB2 Texture level count Unsigned integer (8) 0x01
0x104 Swizzling indicator Boolean value (true/false) 0x01

Sound Data

PS2 and PSP

Sound data on Burnout's PS2 and PSP versions is encoded in Sony's proprietary PS-ADPCM format. Songs and FMV audio tracks are stored as separate files on the PSP versions and are encoded in ATRAC3+ format, another Sony codec.

Xbox/Xbox 360

Both the Original Xbox versions and Burnout Revenge's Xbox 360 remaster use Microsoft's Windows Media Audio codec for sound data. Revenge 360's WMA files are stored as-is, while the OG Xbox versions use WMA stored in the XWB container format.