Bpa files

All this information is extractd from http://www.shikadi.net/moddingwiki/Death_Rally_BPA_Format thanks to  Ceidwad.


| Data type                                  | Description|
| UINT32LE numFiles                | Number of files in the archive|
| FILEREC[255] fileRecords      |  Encrypted FAT   |

Each FILEREC is of the form

| Data type           |Name                     | Description|
| char[13]               | encryptedName    | Encrypted filename, padded with non-encrypted 0x00 bytes|
|  UINT32LE         | size                          | Size of the file data   |

The FILEREC table has a fixed size of 255 * 17 bytes, padded with null bytes, and cannot contain more than 255 FILERECs. Compressed file data begins immediately after the table, at offset 0x10F3. Because the header does not store offsets, these must be calculated by accumulating through the table.

The file content is not compressed or encrypted by the archive itself, however many of the files typically found in this archive are already encrypted as part of their respective file formats.

Filename encryption
To restore a filename, subtract 117 – 3 * index from each byte, where index is the 0-based index of the byte in the filename. This will yield a non-null-terminated string in uppercase. The encrypted filename is null-terminated (the terminating/padding null bytes are not encrypted).

To extract Bpa files you can use the tool called bpaextractor.py in the project.

6 comentarios para “Bpa files”

Development status
Sorry, there are no polls available at the moment.

Help us to mantain this web and develop DreeRally