Midnight Club 2 DAT

From XentaxWiki
Jump to: navigation, search

Choose archive extension:

DAT


Format Specifications

// ARCHIVE HEADER

char {4}     - Header ("Dave" or "DAVE")
uint32 {4}   - Number Of Files?
uint32 {4}   - Filename Directory Offset [+2048] (ie relative to the start of the Directory)
uint32 {4}   - First File Data Offset [+2048+FilenameDirOffset] (ie relative to the start of the FilenameDir)
byte {2032}  - null Padding to offset 2048


// DIRECTORY

// for each file
uint32 {4}   - Filename Offset (relative to the start of the filename directory)
uint32 {4}   - File Offset
uint32 {4}   - Decompressed File Length
uint32 {4}   - Compressed File Length


byte {0-2047}      - null Padding to a multiple of 2048 bytes


// FILENAME DIRECTORY

// for each file
char {X}     - Filename
byte {1}     - null Filename Terminator


// FILE DATA

// for each file
byte {X}     - File Data
byte {0-2047}      - null Padding to a multiple of 2048 bytes

MultiEx BMS

Not written yet

Notes and Comments

  • If the header is DAVE, files can be compressed
  • If the header is Dave, the filenames use 6 bit encoding, and the files can be compressed
  • 6 bit encoded strings use this array: "+ #$()-./?0123456789_abcdefghijklmnopqrstuvwxyz~" ('+' == NULL)


Other Games

  • Midnight Club 1 *.dat
  • Midnight Club 2 *.dat
  • Midtown Madness 2 *.ar
  • Smugglers Run *.???

Supported Programs