Neocron PAK: Difference between revisions

From XentaxWiki
Jump to navigation Jump to search
(new format)
imported>Ikskoks
m (Ikskoks moved page Neocron to Neocron PAK)
 
(7 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[GRAFs|Back to index]]
* [[GRAFs|Return to the list of games]]


Choose archive extension:
Choose archive extension:  


<!-- insert the extension of the file here -->
== PAK ==  
== PAK ==  


Line 11: Line 10:


=== Format Specifications ===  
=== Format Specifications ===  
<!-- Insert format specs here using <pre></pre> -->
<pre>
uint32 {4}  - Unknown (1027968222)
uint32 {4}  - Number of files
// FOR EACH FILE
uint32 {4}  - Length of this "fileblock"
uint32 {4}  - Absolute File Offset
uint32 {4}  - Compressed File Length
uint32 {4}  - Decompressed File Length
uint32 {4}  - Filename Length
byte  {x}  - Filename (null-terminated)
byte  {x}  - File Data
</pre>
<pre>// MexCom - Recreation of pak.bms
// THIS IS AN AUTOMATED SPECIFICATION
// READ WITH CARE
// ----------------------------
// LEGEND
// ----------------------------
// ==> (Jump to offset)
// #DECLARE (Set variable to value)
// $$ CALCULATE (Calculate a new value)
// ** (Section that repeats itself on condition)
// // (Comment)
// uint32{4} (Unsigned 32-bit value, 4 bytes)
// uint16{2} (Unsigned 16-bit value, 2 bytes)
// ubyte{1} (Unsigned 8-bit value, 1 byte)
// char{n} (String value, n bytes in length
// ----------------------------
// Format Specification
// COMPRESSION: ZLIB
uint32{4} DATE
uint32{4} FileNum
** Start Repeated entry (T) {FileNum}
uint32{4} BlSize
#DECLARE FOO = CURRENT OFFSET
uint32{4} Offset of resource (FO)
#DECLARE FSO = CURRENT OFFSET
uint32{4} FS
#DECLARE UCSO = CURRENT OFFSET
uint32{4} UCS
uint32{4} FNS
char{FNS}  Filename of resource (FN)
// Resources have a name (FN), are located at FO have a compressed size of FS, and an uncompressed size of UCS
** End Repeated entry (T)
// ----------------------------
// MexCom - Recreation complete
</pre>


<tt><b>
uint32 {4}&nbsp;&nbsp; - <font color="red"> '' Unknown '' </font> <br>
uint32 {4}&nbsp;&nbsp; - Number of Files <br>
<br>
<font color="blue"> ''' // for each file ''' </font> <br>
: uint32 {4}&nbsp;&nbsp; - File Entry Length <font color="purple">(ie 20 + filename.length<font color="purple">()</font> + 1)</font> <br>
: uint32 {4}&nbsp;&nbsp; - File Offset <br>
: uint32 {4}&nbsp;&nbsp; - Compressed File Length <br>
: uint32 {4}&nbsp;&nbsp; - Decompressed File Length <br>
: uint32 {4}&nbsp;&nbsp; - Filename Length <font color="purple">(including null terminator)</font> <br>
: char {X}&nbsp;&nbsp;&nbsp;&nbsp; - Filename <br>
: byte {1}&nbsp;&nbsp;&nbsp;&nbsp; - null Filename Terminator <br>
<br>
byte {X}&nbsp;&nbsp;&nbsp;&nbsp; - File Data <br>
</b></tt>


=== MultiEx BMS ===  
=== MultiEx BMS ===  
<!--  Insert BMS script here using <pre></pre> -->


<pre>ImpType Standard ;
<pre>ImpType Standard ;
Line 99: Line 47:
</pre>
</pre>


=== Notes and Comments ===


Uses ZLib Compression?<br>


=== Notes and Comments ===  
=== Supported Programs ===  
<!-- Insert comments here -->
Files are ZLib compressed. If CompressedSize = UncompressedSize then no compression on that resource.


* [[Game Extractor|Game Extractor]]<br>
* [[MultiEx Commander]]


=== Supported by Programs ===
<!-- Insert programs that open the format here -->


* [[MultiEx Commander]]
[[Category:File Format]]

Latest revision as of 22:29, 16 January 2021

Choose archive extension:

PAK


Format Specifications

uint32 {4}   - Unknown
uint32 {4}   - Number of Files

// for each file

uint32 {4}   - File Entry Length (ie 20 + filename.length() + 1)
uint32 {4}   - File Offset
uint32 {4}   - Compressed File Length
uint32 {4}   - Decompressed File Length
uint32 {4}   - Filename Length (including null terminator)
char {X}     - Filename
byte {1}     - null Filename Terminator


byte {X}     - File Data

MultiEx BMS

ImpType Standard ;
ComType ZLib1 ;
Get DATE Long 0 ;
Get FileNum Long 0 ;
For T = 1 To FileNum ;
Get BlSize Long 0 ;
SavePos FOO 0 ;
Get FO Long 0 ;
SavePos FSO 0 ;
Get FS Long 0 ;
SavePos UCSO 0 ;
Get UCS Long 0 ;
Get FNS Long 0 ;
GetDString FN FNS 0 ;
CLog FN FO FS FOO FSO UCS UCSO ;
Next T ;

Notes and Comments

Uses ZLib Compression?

Supported Programs