-
-
Notifications
You must be signed in to change notification settings - Fork 12
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.
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.
- File format
- BPA files
- PAL files
- HAF files
- BPK files
- CMF files
- S3M files
- Track files
- TRX-BLO.TAB
- TRX-DRV.DAT
- TRX-FLIP.PAL
- TRX-IMA.BPK
- TRX-LIT.TAB
- TRX-LR1.BPK
- TRX-MAS.BPK
- TRX-OHI.DAT
- TRX-SCE.BPK
- TRX-SHA.BPK
- TRX-SKI.TAB
- TRX-VAI.BPK
- TRX-INF.BIN
- Savegame files
- Config file