Arcanum: Difference between revisions

From XentaxWiki
Jump to navigation Jump to search
imported>Mr.Mouse
imported>Ikskoks
No edit summary
 
(4 intermediate revisions by 2 users not shown)
Line 56: Line 56:




// Resources have a name (FN), are located at FO have a compressed size of FS, and an uncompressed size of OS
// Resources have a name (FN), are located at FO,
// have a compressed size of FS, and an uncompressed size of OS
 
** End Repeated entry (TE)
** End Repeated entry (TE)


Line 62: Line 64:
// MexCom - Recreation complete  
// MexCom - Recreation complete  
</pre>
</pre>


=== MultiEx BMS ===  
=== MultiEx BMS ===  
Line 107: Line 108:
<!-- Insert programs that open the format here -->
<!-- Insert programs that open the format here -->
* [[MultiEx_Commander|MultiEx Commander]]
* [[MultiEx_Commander|MultiEx Commander]]
[[Category:File Format]]

Latest revision as of 01:34, 3 January 2021

Back to index

Choose archive extension:

DAT


Format Specifications

// MexCom - Recreation of Arcanum                         .DAT
// ----------------------------


// Format Specification



// COMPRESSION: ZLIB

(ArchSize)		AS
$$ CALCULATE AS - 4


==>AS
uint32{4}		TS
$$ CALCULATE AS - TS


==>AS
uint32{4}		FSP


==>FSP
uint32{4}		FA


** Start Repeated entry (TE) {FA}
uint32{4}		SS
char{}   		Filename of resource (FN)
#DECLARE FSP = CURRENT FILE POINTER
$$ CALCULATE FSP + 8


==>FSP
#DECLARE OSO = CURRENT FILE POINTER
uint32{4}		OS
#DECLARE FSO = CURRENT FILE POINTER
uint32{4}		FS
#DECLARE FOO = CURRENT FILE POINTER
uint32{4}		Offset of resource (FO)


// Resources have a name (FN), are located at FO,
// have a compressed size of FS, and an uncompressed size of OS

** End Repeated entry (TE)

// ----------------------------
// MexCom - Recreation complete 

MultiEx BMS

ImpType Standard ;
ComType ZLib1 ;
Get AS ASize 0 ;
Math AS -= 4 ;
GoTo AS 0 ;
Get TS Long 0 ;
Math AS -= TS ;
GoTo AS 0 ;
SavePos TailOffOff 0 ;
Get FSP Long 0 ;
GoTo FSP 0 ;
Get FA Long 0 ;
For TE = 1 To FA ;
Get SS Long 0 ;
Get FN String 0 ;
SavePos FSP 0 ;
Math FSP += 8 ;
GoTo FSP 0 ;
SavePos OSO 0 ;
Get OS Long 0 ;
SavePos FSO 0 ;
Get FS Long 0 ;
SavePos FOO 0 ;
Get FO Long 0 ;
CLog FN FO FS FOO FSO OS OSO ;
Next TE ;


Notes and Comments

The format specifications were taken from "reverse engineering" of MultiEx BMS. Read with care.

Supported by Programs