Starsky And Hutch WAD: Difference between revisions
(Anh em Ta cung nhau coi nap) |
imported>Dinoguy1000 m (Reverted edits by 37.59.80.67 (talk) to last revision by WATTO) |
||
| Line 1: | Line 1: | ||
* [[GRAFs|Return to the list of games]] | |||
Choose archive extension: | |||
== WAD == | |||
* ''' Format Type ''': Archive <br> | |||
* ''' [http://en.wikipedia.org/wiki/Endianness Endian Order] ''': Little Endian <br> | |||
=== Format Specifications === | |||
<tt><b> | |||
char {4} - Header <font color="purple">(AFHI)</font> <br> | |||
uint32 {4} - Number Of Files <br> | |||
uint32 {4} - Number Of Files <br> | |||
uint32 {4} - null <br> | |||
uint32 {4} - Version <font color="purple">(1)</font> <br> | |||
uint32 {4} - Version <font color="purple">(1)</font> <br> | |||
uint32 {4} - null <br> | |||
uint32 {4} - <font color="red"> '' File Data Length? <font color="darkgreen">[+1140]</font> '' </font> <br> | |||
uint32 {4} - <font color="red"> '' File Data Length? <font color="darkgreen">[+1140]</font> '' </font> <br> | |||
uint32 {4} - null <br> | |||
uint32 {4} - Directory Offset <font color="purple">(112)</font> <br> | |||
uint32 {4} - Directory Length <font color="purple">(numFiles*48)</font> <br> | |||
uint32 {4} - Length of the Directory Entries <font color="purple">(48)</font> <br> | |||
uint32 {4} - Filename Directory Offset <br> | |||
uint32 {4} - Length Of Filename Directory <br> | |||
uint32 {4} - First File Offset <br> | |||
uint32 {4} - Length Of File Data <br> | |||
uint32 {4} - Sound Quality Directory Offset <br> | |||
uint32 {4} - Length Of Sound Quality Directory <br> | |||
uint32 {4} - ID Directory Offset <br> | |||
uint32 {4} - Length Of ID Directory <br> | |||
uint32 {4} - <font color="red"> '' Unknown <font color="purple">(65536)</font> '' </font> <br> | |||
uint32 {4} - <font color="red"> '' Unknown <font color="purple">(32768)</font> '' </font> <br> | |||
uint32 {4} - <font color="red"> '' Unknown <font color="purple">(14)</font> '' </font> <br> | |||
uint32 {4} - <font color="red"> '' Unknown '' </font> <br> | |||
byte {12} - null <br> | |||
<br> | |||
<font color="blue"> ''' // DIRECTORY ''' </font> <br> | |||
: <font color="blue"> ''' // For each file ''' </font> <br> | |||
:: uint32 {4} - <font color="red"> '' File ID? '' </font> <br> | |||
:: uint32 {4} - <font color="red"> '' Unknown '' </font> <br> | |||
:: uint32 {4} - <font color="red"> '' Unknown '' </font> <br> | |||
:: uint32 {4} - <font color="red"> '' Unknown '' </font> <br> | |||
:: uint32 {4} - <font color="red"> '' File ID? '' </font> <br> | |||
:: uint32 {4} - File Offset <font color="darkgreen">[+FirstFileOffset]</font> <br> | |||
:: uint32 {4} - File Length <br> | |||
:: uint32 {4} - <font color="red"> '' File ID? '' </font> <br> | |||
:: uint32 {4} - <font color="red"> '' Unknown <font color="purple">(18)</font> '' </font> <br> | |||
:: uint16 {2} - <font color="red"> '' File Type ID? '' </font> <br> | |||
:: uint16 {2} - <font color="red"> '' File Type ID? '' </font> <br> | |||
:: uint64 {8} - null <br> | |||
<br> | |||
<font color="blue"> ''' // ID DIRECTORY ''' </font> <br> | |||
: <font color="blue"> ''' // for each file ''' </font> <br> | |||
:: uint16 {2} - <font color="red"> '' Unknown '' </font> <br> | |||
:: uint16 {2} - <font color="red"> '' Unknown '' </font> <br> | |||
<br> | |||
<font color="blue"> ''' // FILENAME DIRECTORY ''' </font> <br> | |||
: <font color="blue"> ''' // for each file ''' </font> <br> | |||
:: char {X} - Filename <br> | |||
:: byte {1} - null Filename Terminator <br> | |||
<br> | |||
<font color="blue"> ''' // SOUND QUALITY DIRECTORY ''' </font> <br> | |||
: <font color="blue"> ''' // for each file ''' </font> <br> | |||
:: uint16 {2} - <font color="red"> '' Unknown <font color="purple">(1)</font> '' </font> <br> | |||
:: uint16 {2} - <font color="red"> '' Unknown <font color="purple">(1)</font> '' </font> <br> | |||
:: uint32 {4} - Sound Quality <font color="purple">(11025/22050)</font> <br> | |||
:: uint32 {4} - Sound Quality*2 <font color="purple">(22050/44100)</font> <br> | |||
:: uint16 {2} - Mono/Stereo <font color="purple">(2)</font> <br> | |||
:: uint32 {4} - Sound Channel Bit Rate <font color="purple">(16)</font> <br> | |||
<br> | |||
<font color="blue"> ''' // FILE DATA ''' </font> <br> | |||
: <font color="blue"> ''' // For each file ''' </font> <br> | |||
:: byte {X} - File Data <br> | |||
:: byte {0-15} - null Padding to a multiple of 16 byte <br> | |||
<br> | |||
</b></tt> | |||
=== MultiEx BMS === | |||
<pre>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 ; | |||
</pre> | |||
=== Supported Programs === | |||
* [[Game Extractor|Game Extractor]] | |||
* [[MultiEx Commander|MultiEx Commander]] | |||
Revision as of 05:42, 26 June 2012
Choose archive extension:
WAD
- Format Type : Archive
- Endian Order : Little Endian
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
- uint32 {4} - File ID?
// ID DIRECTORY
- // for each file
- uint16 {2} - Unknown
- uint16 {2} - Unknown
- uint16 {2} - Unknown
// FILENAME DIRECTORY
- // for each file
- char {X} - Filename
- byte {1} - null Filename Terminator
- char {X} - Filename
// 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)
- uint16 {2} - Unknown (1)
// FILE DATA
- // For each file
- byte {X} - File Data
- byte {0-15} - null Padding to a multiple of 16 byte
- byte {X} - File Data
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 ;