The BK file format is similar in many ways to the AF file format, however, there are some signifigant differences.
Unknown |
1 DWORD |
0 for INTRO, 2 for ending cutscenes,4 for main menu/newsroom/VS/Mechlab/melee, 6 for credits,
8 for Arena0, 16 for Arena1, 32 for Arena2, 64 for Arena3 and 128 for Arena4
|
Unknown |
1 BYTE |
? 1, 2 or variable
|
Width |
1 WORD |
Background width (always 320?)
|
Height |
1 WORD |
Background height (always 200?)
|
Animations
Each animation is preceded by the offset of the next animation stored as a DWORD, along with an animation number. Reading the animation and advancing the file pointer should result in the file pointer being the same as the next animation offset. An animation number >= 50 marks the end of the animations section. When this occurs, the next animation offset is set to the offset of the current animation.
Next animation |
1 DWORD |
Position of next animation relative to start of file, in bytes
|
Animation number |
1 BYTE |
Unique identifier for animation
|
Unknown |
1 BYTE |
Nul padding?
|
Unknown |
1 BYTE |
|
Unknown |
1 BYTE |
|
Unknown |
1 BYTE |
|
Unknown |
1 WORD |
|
Unknown |
1 BYTE |
|
Something size |
1 WORD |
|
Something |
N BYTES |
Size is determined by the previous value
|
There then follows an animation structure (see .AF file format).
After the animations there is a footer structure:
Background image |
W*H BYTES |
W and H are the width and height in the file header
|
Num palettes |
1 BYTE |
Specifies the number of palettes which follow
|
Palettes
Palette data |
256 * 3 BYTES |
A palette
|
Palette remapping tables |
19 * 256 BYTES |
See below
|
The palette remapping tables are maps from image colour indices into palette indices, for various different colour effects. The tables are for:
Index |
Purpose
|
0-3 |
Fade to black, for shadows
|
4 |
Dark blue, for menu backgrounds
|
Most BK files
|
5-8 |
Saturating to white, then black-and-white (newsroom transition?)
|
9-13 |
Saturating light blue -> white (lightning flashes?)
|
14-18 |
Green (?)
|
Fire pit [3 palettes: normal, fire, ice]
|
?? |
TODO
|
Desert [4 palettes]
|
5-18 |
Slow fade to white
|
Sample Implementations
Sample python parser for .af and .bk files