Unreal Championship 2 XBOX XSB

From XentaxWiki
Jump to: navigation, search

XWB + XSB


Format Specifications

// XSB FILE

char {4}     - Header (SDBK)
uint16 {2}   - Number Of Files
uint16 {2}   - Unknown
uint32 {4}   - Offset To Filename Directory
uint32 {4}   - Offset To Directory 4
uint32 {4}   - Offset To Directory 3
uint32 {4}   - Archive Length
uint16 {2}   - null
uint16 {2}   - Unknown (16)
uint16 {2}   - Number Of Files In Directory 1
uint16 {2}   - Number Of Files In Directory 2
uint16 {2}   - null
uint32 {4}   - Unknown (1)
uint16 {2}   - null
byte {16}    - Archive Filename (null) (without extension)


// DIRECTORY 1

// for each file in Directory 1
uint16 {2}   - null
uint16 {2}   - File ID (incremental from 0)
uint32 {4}   - Offset to Filename in the Filename Directory (relative from the start of the archive)
uint32 {4}   - Padding (all 255's)
uint16 {2}   - null
uint16 {2}   - File Type ID?
uint32 {4}   - Padding (all 255's)


// DIRECTORY 2

// for each file in Directory 2
uint32 {4}   - Offset to File Entry in Directory 4 (relative from the start of the archive)
uint32 {4}   - Unknown
uint32 {4}   - Padding (all 255's)
uint16 {2}   - Unknown
uint16 {2}   - Unknown (255/511)
uint32 {4}   - null


// FILENAME DIRECTORY

// for each file
char {X}     - Filename (the first filename is the archive filename without the extension)
byte {1}     - null Filename Terminator
byte {0-3}   - null Padding to a multiple of 4 bytes


// DIRECTORY 3

byte {X}     - Unknown


// DIRECTORY 4

// for each file
uint32 {4}   - File Offset?


byte {X}     - Unknown



// XWB FILE

uint32 {4}   - Header (WBND)
uint32 {4}   - Version (3)
uint32 {4}   - Size Of Header 1 (40)
uint32 {4}   - Size Of Header 2 (40)
uint32 {4}   - Offset To Details Directory (80)
uint32 {4}   - Length Of Details Directory
uint64 {8}   - null
uint32 {4}   - First File Offset (512)
uint32 {4}   - Unknown
uint16 {2}   - Unknown (1)
uint16 {2}   - Unknown (1)
uint32 {4}   - Number Of Files
byte {16}    - Archive Filename (null) (without extension)
uint32 {4}   - Length Of Each Details Entry (24)
uint32 {4}   - Length Of Each Filename Entry (64)
uint32 {4}   - Max padding size between each file (512)
uint32 {4}   - null
byte {X}     - Unknown Data
byte {X}     - null Padding to the first file offset

// for each file

byte {X}     - File Data
byte {0-512} - null Padding so the file length is a multiple of 512 bytes

MultiEx BMS

Not written yet

Supported Programs

  • None - Incomplete/Weird specifications