Prince Of Persia: Warrior Within SB0
SB0
- Format Type : Archive
- Endian Order : Little Endian
Format Specifications
// ARCHIVE HEADER
- uint16 {2} - Unknown (9)
- uint16 {2} - Unknown (18)
- uint32 {4} - Number Of Files in Directory 1
- uint32 {4} - Number Of Files in Directory 2
- uint32 {4} - Unknown (1)
- uint32 {4} - Unknown
- byte {8} - Unknown (always 02 00 00 00 00 00 00 00 ?)
// DIRECTORY 1
- // for each file in Directory 1 (108-bytes for each entry)
- uint16 {2} - File ID
- uint16 {2} - Group ID?
- uint32 {4} - Unknown (1)
- uint32 {4} - File ID (incremental from 0)
- uint32 {4} - Unknown (usually null)
- uint16 {2} - null
- uint32 {4} - Unknown (1)
- byte {6} - null
- byte {16} - Unknown
- byte {8} - Some string (null terminated)
- uint32 {4} - Unknown Boolean (0/1)
- uint32 {4} - Unknown Boolean (0/1)
- uint32 {4} - Unknown Boolean (0/1)
- uint32 {4} - Unknown Boolean (0/1)
- uint32 {4} - Unknown Boolean (0/1)
- byte {8} - Some string (null terminated) (sometimes)
- uint32 {4} - Unknown value (usually 0?)
- uint32 {4} - Unknown value (usually 0?)
- uint32 {4} - Unknown value (usually 0?)
- uint32 {4} - Unknown value (usually 0?)
- uint32 {4} - Unknown value (usually 0?)
- uint32 {4} - Unknown value (usually 0?)
- uint32 {4} - Unknown value (usually 0?)
- uint16 {2} - File ID
// DIRECTORY 2
- // for each file in Directory 2 (132-bytes for each entry)
- uint16 {2} - Unknown (Possible file id)
- uint16 {2} - Unknown (Possible directory id)
- uint32 {4} - Unknown (1-15)
- uint32 {4} - File Size
- uint32 {4} - null
- uint32 {4} - File Offset (relative to the first file offset)
- uint32 {4} - Unknown
- uint32 {4} - Unknown
- uint32 {4} - Unknown
- uint32 {4} - Unknown
- uint32 {4} - Unknown
- uint32 {4} - Unknown
- uint32 {4} - Unknown
- uint32 {4} - File Size /2
- uint32 {4} - File Size
- uint64 {8} - null
- uint32 {4} - Bitrate
- uint32 {4} - Sampling rate
- uint16 {4} - Bits (always 16?)
- uint16 {4} - Channels
- uint32 {4} - Type identifier
- // for each file in Directory 2 (132-bytes for each entry)
// DEPENDING ON TYPE IDENTIFIER
- char {40} - Filename (null terminated, type identifier is 0)
- char {40} - External source filename (null terminated, type identifier is 3)
- char {40} - Filename (null terminated, type identifier is 0)
- uint32 {4} - Unknown (1)
- uint32 {4} - Terminator (all 255's)
// FILE DATA
- uint32 (4) - Unknown
// IF PREVIOUS VALUE IS NOT 0
- char (X) - Unknown
- char (X) - Unknown
- uint32 (4) - Remaining data block size
- // for each file in Directory 2
- char {X} - File Data
- char {X} - File Data
MultiEx BMS
Not written yet