BNK Wildfire: Difference between revisions

From XentaxWiki
Jump to navigation Jump to search
imported>Ikskoks
imported>Ikskoks
Line 16: Line 16:
:: char {32}&nbsp;&nbsp;&nbsp; - Filename <font color="purple">(null terminated, filled with junk)</font> <br>  
:: char {32}&nbsp;&nbsp;&nbsp; - Filename <font color="purple">(null terminated, filled with junk)</font> <br>  
:: uint32 {4}&nbsp;&nbsp; - File Offset relative to the end of the archive. (ie FileOffset = ArchiveSize - ThisField) <br>  
:: uint32 {4}&nbsp;&nbsp; - File Offset relative to the end of the archive. (ie FileOffset = ArchiveSize - ThisField) <br>  
:: uint32 {4}&nbsp;&nbsp; - File Length <br>  
:: uint32 {4}&nbsp;&nbsp; - Compressed File Size <br>  
:: uint32 {4}&nbsp;&nbsp; - <font color="red"> '' Unknown '' </font> <br>  
:: uint32 {4}&nbsp;&nbsp; - Uncompressed File Size <br>  
:: uint32 {4}&nbsp;&nbsp; - <font color="red"> '' Unknown '' </font> <br>  
:: uint32 {4}&nbsp;&nbsp; - Compression Flag <br>  
<br>
<br>
<font color="blue"> ''' // ARCHIVE FOOTER ''' </font> <br>  
<font color="blue"> ''' // ARCHIVE FOOTER ''' </font> <br>  

Revision as of 23:05, 2 July 2022

BNK

  • Format Type : Archive
  • Endian Order : Little Endian
  • Signature : Wildfire

Format Specifications

// FILE DATA

// for each file
byte {X}     - File Data


// DIRECTORY

// for each file
char {32}    - Filename (null terminated, filled with junk)
uint32 {4}   - File Offset relative to the end of the archive. (ie FileOffset = ArchiveSize - ThisField)
uint32 {4}   - Compressed File Size
uint32 {4}   - Uncompressed File Size
uint32 {4}   - Compression Flag


// ARCHIVE FOOTER

char {8}     - Signature (Wildfire)
uint32 {4}   - null
uint16 {2}   - Version (1)
uint32 {4}   - Number Of Files

MultiEx BMS Script

GoTo EOF 0 ;
SavePos TOFF 0 ;
Set TEMP Long TOFF ;
Math TEMP -= 3 ;
GoTo TEMP 0 ;
Get FILENUM Long 0 ;
Set FILENUMX Long FILENUM ;
Math FILENUMX *= 48 ;
Math FILENUMX += 17 ;
Set TEMP Long TOFF ;
Math TEMP -= FILENUMX ;
GoTo TEMP 0 ;
For X = 1 To FILENUM ;
GetDString FNAME 32 0 ;
Get TEMP Long 0 ;
Set FOFFSET Long TOFF ;
Math FOFFSET -= TEMP ;
Math FOFFSET += 1 ;
Get FSIZE Long 0 ;
Get FOOBAR Long 0 ;
Get FOOBAR Long 0 ;
Log FNAME FOFFSET FSIZE 0 0 ;
Next X ;

Notes and Comments

  • This file format use LZSS0 compression method.
  • This format occurs in games made by Wildfire Studios.

quickBMS script

Other Games

These games use this format:

  • Austin Powers Pinball (PC) (*.BNK)
  • Balls of Steel (*.BNK)

Supported by Programs