Metropolis Software PAK: Difference between revisions
Jump to navigation
Jump to search
imported>Ikskoks |
imported>Ikskoks (→Games) |
||
| (15 intermediate revisions by the same user not shown) | |||
| Line 21: | Line 21: | ||
:: uint32 {4} - File Uncompressed Size <br> | :: uint32 {4} - File Uncompressed Size <br> | ||
:: uint32 {4} - File Compressed Size <br> | :: uint32 {4} - File Compressed Size <br> | ||
:: byte {X} - File Data | :: byte {X} - File Data <font color="purple">(compressed with GZIP)</font> <br> | ||
:: uint32 {4} - <font color="red"> '' Unknown <font color="purple">(26)</font> '' </font> <br> | :: uint32 {4} - <font color="red"> '' Unknown <font color="purple">(26)</font> '' </font> <br> | ||
<br> | <br> | ||
| Line 29: | Line 29: | ||
:: uint32 {4} - Entry Size <br> | :: uint32 {4} - Entry Size <br> | ||
<br> | <br> | ||
<font color="blue"> ''' // FILENAME | <font color="blue"> ''' // FILENAME ARRAY ''' </font> <br> | ||
: <font color="blue"> ''' // for each file ''' </font> <br> | : <font color="blue"> ''' // for each file ''' </font> <br> | ||
:: uint32 {4} - Filename Length <font color="purple">(including null)</font> <br> | :: uint32 {4} - Filename Length <font color="purple">(including null)</font> <br> | ||
| Line 36: | Line 36: | ||
<br> | <br> | ||
<font color="blue"> ''' // ARCHIVE FOOTER ''' </font> <br> | <font color="blue"> ''' // ARCHIVE FOOTER ''' </font> <br> | ||
: uint32 {4} - | : uint32 {4} - Encrypted offset to start of the DIRECTORY<br> | ||
</b></tt> | </b></tt> | ||
| Line 50: | Line 50: | ||
Other notes: | Other notes: | ||
* This file format use '''GZIP''' compression. | * This file format use '''GZIP''' compression. | ||
* | * This file format occurs in games made by '''Metropolis Software'''. | ||
* Some filenames are stored in polish language, e.g. "pieklo_fabryka_wnetrze.scene". | |||
=== Games === | |||
List of games using this file format: | |||
* Archangel (PC) (*.PAK) | |||
* Gorky Zero: Beyond Honor | |||
=== QuickBMS script === | === QuickBMS script === | ||
Latest revision as of 00:20, 3 July 2022
Choose archive extension:
PAK
- Format Type : Archive
- Endian Order : Little Endian
- Signature : None
Format Specifications
// ARCHIVE HEADER
- uint32 {4} - Version (1)
- uint32 {4} - Number Of Files
// FILE DATA
- // for each file
- uint32 {4} - File Uncompressed Size
- uint32 {4} - File Compressed Size
- byte {X} - File Data (compressed with GZIP)
- uint32 {4} - Unknown (26)
- uint32 {4} - File Uncompressed Size
// DIRECTORY
- // for each file
- uint32 {4} - Entry Offset
- uint32 {4} - Entry Size
- uint32 {4} - Entry Offset
// FILENAME ARRAY
- // for each file
- uint32 {4} - Filename Length (including null)
- char {X} - Filename
- byte {1} - null Filename Terminator
- uint32 {4} - Filename Length (including null)
// ARCHIVE FOOTER
- uint32 {4} - Encrypted offset to start of the DIRECTORY
Notes and Comments
Offset to DIRECTORY must be decrypted before use. Substruct from it:
- 0 - for demo
- 0x4857 - for retail/en
- 0x4858 - for retail/ru
It's easy to detect right value to substruct - first file offset in DIRECTORY always 8.
Other notes:
- This file format use GZIP compression.
- This file format occurs in games made by Metropolis Software.
- Some filenames are stored in polish language, e.g. "pieklo_fabryka_wnetrze.scene".
Games
List of games using this file format:
- Archangel (PC) (*.PAK)
- Gorky Zero: Beyond Honor
QuickBMS script
Supported Programs