World Of Warcraft MPQ: Difference between revisions
Jump to navigation
Jump to search
imported>CsbHav mNo edit summary |
imported>Ikskoks No edit summary |
||
| (4 intermediate revisions by 3 users not shown) | |||
| Line 12: | Line 12: | ||
<tt><b> | <tt><b> | ||
char {4} | char {4} - Header <font color="purple">("MPQ" + <font color="purple">(byte)</font>26)</font> <br> | ||
uint32 {4} - Directory Offset <font color="purple">(32)</font> <br> | |||
uint32 {4} - Archive Size <br> | |||
uint32 {4} - <font color="red"> '' Unknown <font color="purple">(196608)</font> '' </font> <br> | |||
uint32 {4} - <font color="red"> '' Unknown Offset/Length '' </font> <br> | |||
uint32 {4} - <font color="red"> '' Unknown Offset/Length '' </font> <br> | |||
uint32 {4} - <font color="red"> '' Unknown <font color="purple">(65536)</font> '' </font> <br> | |||
uint32 {4} - <font color="red"> '' Unknown '' </font> <br> | |||
<br> | |||
<font color="blue"> ''' // DIRECTORY ''' </font> <br> | |||
: <font color="blue"> ''' // for each file ''' </font> <br> | |||
:: uint32 {4} - File Offset <font color="purple">(relative to the start of the directory)</font> <br> | |||
<br> | |||
: uint32 {4} - Offset To Next Directory <font color="purple">(relative to the start of the directory)</font> <br> | |||
<br> | |||
<font color="blue"> ''' // FILE DATA ''' </font> <br> | |||
: <font color="blue"> ''' // for each file ''' </font> <br> | |||
:: <font color="blue"> ''' if (file is compressed){ ''' </font> <br> | |||
::: byte {1} - Compression Tag <font color="purple">(2)</font> <br> | |||
::: byte {X} - Compressed File Data <font color="purple">(ZLib-compressed)</font> <br> | |||
::: <font color="blue"> ''' } ''' </font> <br> | |||
<br> | |||
:: <font color="blue"> ''' else if (file is not compressed){ ''' </font> <br> | |||
::: byte {X} - File Data <br> | |||
::: <font color="blue"> ''' } ''' </font> <br> | |||
<br> | |||
<font color="green"> ''' // repeat while there is still more directories ''' </font> <br> | |||
: <font color="green"> ''' // DIRECTORY 2 ''' </font> <br> | |||
: <font color="green"> ''' // FILE DATA 2 ''' </font> <br> | |||
<font color="green"> ''' // etc.. ''' </font> <br> | |||
</b></tt> | |||
=== MultiEx BMS === | |||
Not written yet<br><br> | |||
<br> | |||
=== Supported Programs === | |||
* [[Game Extractor|Game Extractor]]<br> | |||
[[Category:File Format]] | |||
Latest revision as of 22:46, 4 February 2021
Choose archive extension:
MPQ
- Format Type : Archive
- Endian Order : Little Endian
Format Specifications
char {4} - Header ("MPQ" + (byte)26)
uint32 {4} - Directory Offset (32)
uint32 {4} - Archive Size
uint32 {4} - Unknown (196608)
uint32 {4} - Unknown Offset/Length
uint32 {4} - Unknown Offset/Length
uint32 {4} - Unknown (65536)
uint32 {4} - Unknown
// DIRECTORY
- // for each file
- uint32 {4} - File Offset (relative to the start of the directory)
- uint32 {4} - File Offset (relative to the start of the directory)
- uint32 {4} - Offset To Next Directory (relative to the start of the directory)
// FILE DATA
- // for each file
- if (file is compressed){
- byte {1} - Compression Tag (2)
- byte {X} - Compressed File Data (ZLib-compressed)
- }
- byte {1} - Compression Tag (2)
- if (file is compressed){
- else if (file is not compressed){
- byte {X} - File Data
- }
- byte {X} - File Data
- else if (file is not compressed){
// repeat while there is still more directories
- // DIRECTORY 2
- // FILE DATA 2
// etc..
MultiEx BMS
Not written yet