Dune: Difference between revisions

From XentaxWiki
Jump to navigation Jump to search
imported>WATTO
No edit summary
 
imported>Ikskoks
No edit summary
 
(10 intermediate revisions by 3 users not shown)
Line 3: Line 3:
Choose archive extension:
Choose archive extension:


== DUN ==  
== DAT ==  


* ''' Format Type ''':    Archive <br>  
* ''' Format Type ''':    Archive <br>  
Line 11: Line 11:
=== Format Specifications ===  
=== Format Specifications ===  


<tt><b>
<pre>// MexCom - Recreation of D:\Code\All Official MexFormats\Dune\dat.bms
byte {4}&nbsp;&nbsp;&nbsp;&nbsp; - <font color="red"> '' Header? <font color="purple">(114 16 234 244)</font> '' </font> <br>
// THIS IS AN AUTOMATED SPECIFICATION
uint32 {4}&nbsp;&nbsp; - null <br>
// READ WITH CARE
uint32 {4}&nbsp;&nbsp; - Directory Offset <br>
// ----------------------------
uint32 {4}&nbsp;&nbsp; - Number Of Files <br>
// LEGEND
<br>
// ----------------------------
byte {X}&nbsp;&nbsp;&nbsp;&nbsp; - File Data <br>
// ==> (Jump to offset)
<br>
// #DECLARE (Set variable to value)
<font color="blue"> ''' // Directory ''' </font> <br>
// $$ CALCULATE (Calculate a new value)
: <font color="blue"> ''' // for each file ''' </font> <br>
// ** (Section that repeats itself on condition)
:: char {X}&nbsp;&nbsp;&nbsp;&nbsp; - Filename <font color="purple">(some starting with "..\" or "R:\")</font> <br>
// // (Comment)
:: byte {1}&nbsp;&nbsp;&nbsp;&nbsp; - Filename Terminator <font color="purple">(10)</font> <br>
// uint32{4} (Unsigned 32-bit value, 4 bytes)
:: uint32 {4}&nbsp;&nbsp; - File Offset <br>
// uint16{2} (Unsigned 16-bit value, 2 bytes)
:: uint32 {4}&nbsp;&nbsp; - File Length <br>
// ubyte{1} (Unsigned 8-bit value, 1 byte)
<br>
// char{n} (String value, n bytes in length
</b></tt>
// ----------------------------
 
 
// Format Specification
 
 
uint16{2} FileNum
 
 
** Start Repeated entry (T) {FileNum}
char{16} Filename of resource (FN)
#DECLARE SIZEOFF = CURRENT OFFSET
uint32{4} SIZE
#DECLARE OFFOFF = CURRENT OFFSET
uint32{4} OFF
ubyte{1} DUM
 
 
// Resources have a name (FN), are located at OFF and have a size of SIZE
** End Repeated entry (T)
// ----------------------------
// MexCom - Recreation complete
</pre>


=== MultiEx BMS Script ===  
=== MultiEx BMS Script ===  


Not written yet<br><br>
<pre>Get FileNum Int 0 ;
For T = 1 To FileNum ;
GetDString FN 16 0 ;
SavePos SIZEOFF 0 ;
Get SIZE Long 0 ;
SavePos OFFOFF 0 ;
Get OFF Long 0 ;
Get DUM Byte 0 ;
Log FN OFF SIZE OFFOFF SIZEOFF ;
Next T ;
</pre>


=== Notes and Comments ===  
=== Notes and Comments ===  


The files in the directory are in a different order to the files in the archive. eg. File 1 in the directory may be File 482 in the archive.<br><br>
None


=== Compatible Programs ===  
=== Compatible Programs ===  


* [[Game Extractor|Game Extractor]]<br>
* [[MultiEx_Commander|MultiEx Commander]]
 
 
[[Category:File Format]]

Latest revision as of 12:19, 4 January 2021

Choose archive extension:

DAT


Format Specifications

// MexCom - Recreation of D:\Code\All Official MexFormats\Dune\dat.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


uint16{2}		FileNum


** Start Repeated entry (T) {FileNum}
char{16}  		Filename of resource (FN)
#DECLARE SIZEOFF = CURRENT OFFSET
uint32{4}		SIZE
#DECLARE OFFOFF = CURRENT OFFSET
uint32{4}		OFF
ubyte{1} 		DUM


// Resources have a name (FN), are located at OFF and have a size of SIZE
** End Repeated entry (T)
// ----------------------------
// MexCom - Recreation complete 

MultiEx BMS Script

Get FileNum Int 0 ;
For T = 1 To FileNum ;
GetDString FN 16 0 ;
SavePos SIZEOFF 0 ;
Get SIZE Long 0 ;
SavePos OFFOFF 0 ;
Get OFF Long 0 ;
Get DUM Byte 0 ;
Log FN OFF SIZE OFFOFF SIZEOFF ;
Next T ;

Notes and Comments

None

Compatible Programs