Difference between revisions of "Arx Fatalis"

From XentaxWiki
Jump to: navigation, search
m (Compatible Programs)
(Format Specifications: fixed)
Line 12: Line 12:
  
 
<tt><b>
 
<tt><b>
uint32 {4}&nbsp;&nbsp; - Directory Offset <br>  
+
<font color="blue"> ''' // ARCHIVE HEADER ''' </font> <br>
 +
:uint32 {4}&nbsp;&nbsp; - Directory Offset <br>  
 
<br>
 
<br>
 
byte {X}&nbsp;&nbsp;&nbsp;&nbsp; - File Data <br>  
 
byte {X}&nbsp;&nbsp;&nbsp;&nbsp; - File Data <br>  
 
<br>
 
<br>
<font color="blue"> ''' // Directory ''' </font> <br>  
+
<font color="blue"> ''' // FILES DIRECTORY ''' </font> <br>
: uint32 {4}&nbsp;&nbsp; - <font color="red"> '' Unknown '' </font> <br>  
+
: uint32 {4}&nbsp;&nbsp; - Directory Length <br>  
: byte {5}&nbsp;&nbsp;&nbsp;&nbsp; - <font color="red"> '' Unknown '' </font> <br>  
+
<font color="blue"> ''' // for each directory ''' </font> <br>  
 
: char {X}&nbsp;&nbsp;&nbsp;&nbsp; - Path <br>  
 
: char {X}&nbsp;&nbsp;&nbsp;&nbsp; - Path <br>  
 
: byte {1}&nbsp;&nbsp;&nbsp;&nbsp; - null Path Terminator <br>  
 
: byte {1}&nbsp;&nbsp;&nbsp;&nbsp; - null Path Terminator <br>  
 
: uint32 {4}&nbsp;&nbsp; - Number Of Files <br>  
 
: uint32 {4}&nbsp;&nbsp; - Number Of Files <br>  
<br>
+
:: <font color="blue"> ''' // for each file ''' </font> <br>  
: <font color="blue"> ''' // for each file ''' </font> <br>  
+
::: char {X}&nbsp;&nbsp;&nbsp;&nbsp; - Filename <br>  
:: char {X}&nbsp;&nbsp;&nbsp;&nbsp; - Filename <br>  
+
::: byte {1}&nbsp;&nbsp;&nbsp;&nbsp; - null Filename Terminator <br>  
:: byte {1}&nbsp;&nbsp;&nbsp;&nbsp; - null Filename Terminator <br>  
+
::: uint32 {4}&nbsp;&nbsp; - File Offset <br>  
:: uint32 {4}&nbsp;&nbsp; - File Offset <br>  
+
::: uint32 {4}&nbsp;&nbsp; - Packed flag (<font color="purple">0 - unpacked, else - PKWARE implode</font>) <br>  
:: uint32 {4}&nbsp;&nbsp; - Compressed Length <br>  
+
::: uint32 {4}&nbsp;&nbsp; - Decompressed Length (<font color="purple">0 if not packed - use field above</font>)<br>  
:: uint32 {4}&nbsp;&nbsp; - Decompressed Length <br>  
+
::: uint32 {4}&nbsp;&nbsp; - File Length <br>  
:: uint32 {4}&nbsp;&nbsp; - File Length <br>  
 
 
<br>
 
<br>
 
</b></tt>
 
</b></tt>

Revision as of 17:26, 9 April 2011

Choose archive extension:

PAK


Format Specifications

// ARCHIVE HEADER

uint32 {4}   - Directory Offset


byte {X}     - File Data

// FILES DIRECTORY

uint32 {4}   - Directory Length

// for each directory

char {X}     - Path
byte {1}     - null Path Terminator
uint32 {4}   - Number Of Files
// for each file
char {X}     - Filename
byte {1}     - null Filename Terminator
uint32 {4}   - File Offset
uint32 {4}   - Packed flag (0 - unpacked, else - PKWARE implode)
uint32 {4}   - Decompressed Length (0 if not packed - use field above)
uint32 {4}   - File Length


MultiEx BMS Script

ImpType StandardTail ;
SavePos TailOffOff 0 ;
Get TO Long 0 ;
GoTo TO 0 ;
Get TS Long 0 ;
SavePos T 0 ;
Math T += 5 ;
GoTo T 0 ;
Get Path String 0 ;
Get FN Long 0 ;
For D = 1 To FN ;
Set Name String Path ;
Get Name String 0 ;
SavePos FOO 0 ;
Get FO Long 0 ;
Get ZipState Long 0 ;
Get OrSize Long 0 ;
SavePos FSO 0 ;
Get FS Long 0 ;
Log Name FO FS FOO FSO ;
Next D ;

Compatible Programs