Rising Kingdoms

From XentaxWiki
Jump to: navigation, search

Choose archive extension:

PAK


Format Specifications

char {16}    - Header ("HMMSYS PackFile" + (byte)10)
uint32 {4}   - Unknown (26)
byte {12}    - null
uint32 {4}   - Number Of Files?
uint32 {4}   - Directory Length [+40 archive header]

// for each file

byte {1}     - Filename Length
byte {1}     - Previous Filename Reuse Length
char {X}     - Filename Part (length = filenameLength - previousFilenameReuseLength)
uint32 {4}   - File Offset
uint32 {4}   - File Length


byte {X}     - Padding (repeating 153,121,150,50) until first file offset
byte {X}     - File Data

MultiEx BMS

Not written yet

Notes and Comments

  • The filenames are stored so that directory names etc are reused, thus minimising repeats. To determine the filename, take the first "Previous Filename Reuse Length" chars of the filename of the previous file, and append the "Filename Part" to it. In other words, if a directory repeats, you would keep the first X bytes of the previous file and just append the actual name of the file.

Supported Programs