From Burnout Wiki
Revision as of 05:54, 30 July 2022 by Burninrubber0 (talk | contribs) (Split Bundle 2 information into a separate page.)

The Bundle container is the core file format used in development builds of Burnout 5/Paradise, Black (Xbox 360), and Black 2 (Xbox 360). It is not used in any retail titles. Each Bundle holds one or more resources (assets) and contains information about each resource, such as its size, type, compression, alignment, and so on.

The Bundle format underwent at least five iterations during its use from early 2006 to early-mid 2007. At present, only files using Bundle version 3, 4, and 5 have been discovered. It was succeeded by the Bundle 2 container.


Bundles are used for nearly every asset in Burnout Paradise. This makes it one of the most important formats to understand when attempting to parse assets.

While the header contains some valuable data, such as the flags and chunk offsets, the majority of relevant information is in resource entries, which store the size, alignment, offset, and type of each resource in each chunk. These also store the import offsets, which enable importing specific data from other resources.

Bundle debug data is also important to understand. Sometimes called Bundle imports, it consists of XML data headed by the ResourceStringTable element and contains the ID, name, and type name of every resource in a respective bundle. This means that where debug data is present, every resource name is known. Despite this, the resource names given by the debug data sometimes do not match the hash when encoded. In some cases, such as with Registry resources, this means the name is hardcoded.

Memory types

Across all Bundle versions, a common theme is the use of separate data chunks to define what memory type resources are loaded into. These chunks are as follows:

  1. Main Memory
  2. Disposable
  3. Physical
  4. Uninitialized
  5. Disposable uninitialized

Keep these in mind when viewing the structures.


The original Bundle format's versions were treated more like additions to the previous version. Thus, rather than a full structure for each, only their additions are described here.



Offset Size Type Name Description Comments
0x0 0x4 char[4] macMagicNumber Bundle magic bndl
0x4 0x4 uint32_t muVersion Bundle version 3
0x8 0x4 uint32_t muResourceEntriesCount Number of resources in the bundle
0xC 0x28 Unknown0[5] Size and alignment of each chunk
0x34 0x14 uint32_t[5] Memory address of each chunk
0x48 0x4 uint32_t Resource IDs offset
0x4C 0x4 uint32_t muResourceEntriesOffset Resource entries offset
0x50 0x4 uint32_t Imports offset
0x54 0x4 uint32_t muResourceDataOffset Resource data offset
0x58 0x4 uint32_t muPlatform Platform the bundle was built for See Platform


Offset Size Type Name Description Comments
0x0 0x4 uint32_t Resource data memory address
0x4 0x4 uint32_t muImportOffset Bundle imports offset
0x8 0x4 uint32_t muResourceTypeId Resource type See ResourceType
0xC 0x28 Unknown0[5] mauSizeAndAlignmentOnDisk
0x34 0x28 Unknown0[5] mauDiskOffset Offsets in bundle Alignment is unused (always 1)
0x5C 0x14 uint32_t[5] Memory addresses Swapped endian


Offset Size Type Name Description Comments
0x0 0x4 uint32_t muImportCount Number of imports
0x8 Import entries Aligned 8. See ImportEntry


Offset Size Type Name Description Comments
0x0 0x8 ID mResourceId Resource name CRC32
0x8 0x4 uint32_t muOffset
0xC 0x4 padding


This structure contains fields for size and alignment, though alignment sometimes goes unused.

Offset Size Type Name Description Comments
0x0 0x4 uint32_t Size or offset
0x4 0x4 uint32_t Alignment


Bundle (Additions)

Offset Size Type Name Description Comments
0x5C 0x4 uint32_t muFlags Bundle flags See Flags
0x60 0x4 uint32_t Number of compressed resources
0x64 0x4 uint32_t Compression information offset

Compression Information

Offset Size Type Name Description Comments
0x0 0x28 Unknown0[5] mauUncompressedSizeAndAlignment


Bundle (Additions)

Offset Size Type Name Description Comments
0x68 0x4 uint32_t No idea what this does
0x6C 0x4 uint32_t Also no idea what this does



Name Value Comments
? 1 PC
? 2 Xbox 360
? 3 PlayStation 3


Name Value Comments
IsCompressed 0x1 Resources are zlib compressed


See Resource Types.