imported>Ikskoks |
imported>Ikskoks |
| Line 1: |
Line 1: |
| | | #REDIRECT [[Unreal Engine 4 PAK]] |
| [[Category:Complete_Complete | Status: Complete]]
| |
| [[Category:Extension_pak | Extension: pak]]
| |
| {{CompactGRAFTOC}}
| |
| | |
| <div style="border:solid 1px #AAAAAA; padding:4px; background-color:#F9F9F9;">
| |
| <i>Format Type:</i> Archive<br />
| |
| <i>Extensions:</i> pak <br />
| |
| <i>Platforms:</i> <i>unknown</i><br />
| |
| <i>Endian Order:</i> Little Endian
| |
| </div>
| |
| [[Category:Format_Archive | Type: Archive]] | |
| <br /><br />
| |
| == Format Specifications ==
| |
| <div style="border:solid 1px #AAAAAA; padding:4px; background-color:#F9F9F9; font-weight:bold;">
| |
| <tt>
| |
| <font color="blue"><i>Uses ZLib, GZip, or Snappy Compression</i></font><br />
| |
| <font color="blue"><i>FILE DATA</i></font><br />
| |
| <font color="blue"><i>for each file</i></font><br />
| |
| uint64 {8} - null<br />
| |
| uint64 {8} - Compressed Length <font color="purple">(not including the file header fields or padding)</font><br />
| |
| uint64 {8} - Decompressed Length<br />
| |
| uint32 {4} - Compression Type <font color="purple">(0=uncompressed, 1=ZLib, 2=GZip, 4=Snappy)</font><br />
| |
| byte {20} - <font color="red">Unknown</font><br />
| |
| <font color="blue"><i>if (compressed){</i></font><br />
| |
| uint32 {4} - Number of Compressed Blocks<br />
| |
| <font color="blue"><i>for each compressed block</i></font><br />
| |
| uint64 {8} - Offset to the start of the compressed data block <font color="purple">(relative to the start of the archive)</font><br />
| |
| uint64 {8} - Offset to the end of the compressed data block <font color="purple">(relative to the start of the archive)</font><br />
| |
| <br />
| |
| byte {1} - null<br />
| |
| <font color="blue"><i>for each compressed block</i></font><br />
| |
| uint32 {4} - Decompressed Length of thie block<br />
| |
| byte {X} - File Data <font color="purple">(ZLib Compression)</font><br />
| |
| <br />
| |
| byte {0-2047} - null Padding to a multiple of 2048 bytes <font color="purple">(sometimes, not always)</font><br />
| |
| <font color="blue"><i>}</i></font><br />
| |
| <br />
| |
| <font color="blue"><i>else if (uncompressed){</i></font><br />
| |
| uint32 {4} - null<br />
| |
| byte {1} - null<br />
| |
| byte {X} - File Data<br />
| |
| byte {0-2047} - null Padding to a multiple of 2048 bytes <font color="purple">(sometimes, not always)</font><br />
| |
| <font color="blue"><i>}</i></font><br />
| |
| <br />
| |
| <font color="blue"><i>DIRECTORY</i></font><br />
| |
| uint32 {4} - Relative Directory Name Length <font color="purple">(including null terminator)</font> <font color="purple">(10)</font><br />
| |
| byte {9} - Relative Directory Name <font color="purple">(../../../)</font><br />
| |
| byte {1} - null Relative Directory Name Terminator<br />
| |
| uint32 {4} - Number of Files<br />
| |
| <font color="blue"><i>for each file</i></font><br />
| |
| uint32 {4} - Filename Length <font color="purple">(including null terminator)</font><br />
| |
| byte {X} - Filename<br />
| |
| byte {1} - null Filename Terminator<br />
| |
| uint64 {8} - File Offset<br />
| |
| uint64 {8} - Compressed Length <font color="purple">(not including the file header fields or padding)</font><br />
| |
| uint64 {8} - Decompressed Length<br />
| |
| uint32 {4} - Compression Type <font color="purple">(0=uncompressed, 1=ZLib, 2=GZip, 4=Snappy)</font><br />
| |
| byte {20} - <font color="red">Unknown</font><br />
| |
| <font color="blue"><i>if (compressed){</i></font><br />
| |
| uint32 {4} - Number of Compressed Blocks<br />
| |
| <font color="blue"><i>for each compressed block</i></font><br />
| |
| uint64 {8} - Offset to the start of the compressed data block <font color="purple">(relative to the start of the archive)</font><br />
| |
| uint64 {8} - Offset to the end of the compressed data block <font color="purple">(relative to the start of the archive)</font><br />
| |
| <br />
| |
| byte {1} - null<br />
| |
| uint32 {4} - Decompressed Block Size <font color="purple">(65536 if multiple blocks, otherwise the same as the decompressed length)</font><br />
| |
| <font color="blue"><i>}</i></font><br />
| |
| <br />
| |
| <font color="blue"><i>else if (uncompressed){</i></font><br />
| |
| uint32 {4} - null<br />
| |
| byte {1} - null<br />
| |
| <font color="blue"><i>}</i></font><br />
| |
| <br />
| |
| <font color="blue"><i>FOOTER (44 bytes)</i></font><br />
| |
| uint32 {4} - Magic Number <font color="purple">((bytes)225,18,111,90)</font><br />
| |
| uint32 {4} - Version <font color="purple">(3)</font><br />
| |
| uint64 {8} - Directory Offset<br />
| |
| uint64 {8} - Directory Length <font color="purple">(not including FOOTER)</font><br />
| |
| byte {20} - <font color="red">Unknown</font><br />
| |
| <br />
| |
| </tt>
| |
| </div>
| |
| <br /><br />
| |
| == MultiEx BMS Script ==
| |
| | |
| <tt>
| |
| <i>No BMS script</i>
| |
| </tt>
| |
| <br /><br />
| |
| [[Category:BMS_None | BMS: None]]
| |
| == Supported Programs ==
| |
| | |
| * [[Game Extractor|Game Extractor]]<br />
| |
| <br /><br />
| |
| [[Category:Program_Game_Extractor | Program: Game Extractor]]
| |
| == Notes ==
| |
| | |
| <i>No additional notes</i>
| |
| <br /><br />
| |
| [[Category:CE_None | Compression: None]]
| |
| == Games ==
| |
| | |
| * BARBAR_BAR
| |
| * Legendary Hunter VR
| |
| * Styx: Shards of Darkness
| |
| * The Fall of Lazarus
| |
| | |
| <br /><br />
| |
| == Navigation ==
| |
| | |
| {{Format Navigation}}
| |
| <br /><br />
| |
| | |
| | |
| [[Category:File Format]]
| |