Starsky And Hutch

From XentaxWiki
Jump to: navigation, search

Choose archive extension:

WAD


Format Specifications

char {4}     - Header (AFHI)
uint32 {4}   - Number Of Files
uint32 {4}   - Number Of Files
uint32 {4}   - null
uint32 {4}   - Version (1)
uint32 {4}   - Version (1)
uint32 {4}   - null
uint32 {4}   - File Data Length? [+1140]
uint32 {4}   - File Data Length? [+1140]
uint32 {4}   - null
uint32 {4}   - Directory Offset (112)
uint32 {4}   - Directory Length (numFiles*48)
uint32 {4}   - Length of the Directory Entries (48)
uint32 {4}   - Filename Directory Offset
uint32 {4}   - Length Of Filename Directory
uint32 {4}   - First File Offset
uint32 {4}   - Length Of File Data
uint32 {4}   - Sound Quality Directory Offset
uint32 {4}   - Length Of Sound Quality Directory
uint32 {4}   - ID Directory Offset
uint32 {4}   - Length Of ID Directory
uint32 {4}   - Unknown (65536)
uint32 {4}   - Unknown (32768)
uint32 {4}   - Unknown (14)
uint32 {4}   - Unknown
byte {12}    - null

// DIRECTORY

// For each file
uint32 {4}   - File ID?
uint32 {4}   - Unknown
uint32 {4}   - Unknown
uint32 {4}   - Unknown
uint32 {4}   - File ID?
uint32 {4}   - File Offset [+FirstFileOffset]
uint32 {4}   - File Length
uint32 {4}   - File ID?
uint32 {4}   - Unknown (18)
uint16 {2}   - File Type ID?
uint16 {2}   - File Type ID?
uint64 {8}   - null


// ID DIRECTORY

// for each file
uint16 {2}   - Unknown
uint16 {2}   - Unknown


// FILENAME DIRECTORY

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


// SOUND QUALITY DIRECTORY

// for each file
uint16 {2}   - Unknown (1)
uint16 {2}   - Unknown (1)
uint32 {4}   - Sound Quality (11025/22050)
uint32 {4}   - Sound Quality*2 (22050/44100)
uint16 {2}   - Mono/Stereo (2)
uint32 {4}   - Sound Channel Bit Rate (16)


// FILE DATA

// For each file
byte {X}     - File Data
byte {0-15}  - null Padding to a multiple of 16 byte


MultiEx BMS

GoTo 4 0 ;
Get FNum Long 0 ;
GoTo 40 0 ;
Get DirOffset Long 0 ;
GoTo 52 0 ;
Get FNOffset Long 0 ;
GoTo 60 0 ;
Get FirstFO Long 0 ;
Math DirOffset += 20 ;
For n = 1 to FNum ;
GoTo DirOffset 0 ;
Get FO Long 0 ;
Math FO += FirstFO ;
Get FS Long 0 ;
Math DirOffset += 48 ;
GoTo FNOffset 0 ;
Get FNOffset String 0 ;
SavePos FN 0 ;
Log FN FO FS 0 0 ;
Next n ;

Supported Programs