Outlive DAT: Difference between revisions

From XentaxWiki
Jump to navigation Jump to search
imported>WATTO
No edit summary
 
imported>Ikskoks
m (Ikskoks moved page Outlive to Outlive DAT)
 
(8 intermediate revisions by 3 users not shown)
Line 24: Line 24:
=== MultiEx BMS Script ===  
=== MultiEx BMS Script ===  


Not written yet<br><br>
<pre>Get FILECNTL Long 0 ;
SavePos FILEJMP 0 ;
SavePos FILESTART 0 ;
GoTo EOF 0 ;
SavePos TAILOFF 0 ;
Set DUMMYL Long FILECNTL ;
Math DUMMYL *= 36 ;
Math DUMMYL += 4 ;
Math FILECNTL -= 1 ;
Do ;
GoTo FILESTART 0 ;
GetDString FILENAME 32 0 ;
Get FILEOFF Long 0 ;
SavePos FILESTART 0 ;
Set FILEJMP Long FILESTART ;
Math FILEJMP += 32 ;
GoTo FILEJMP 0 ;
Get FILESIZE Long 0 ;
Math FILESIZE -= FILEOFF ;
Log FILENAME FILEOFF FILESIZE 0 0 ;
Math EXTRCNT += 1 ;
While EXTRCNT <> FILECNTL ;
GoTo FILESTART 0 ;
GetDString FILENAME 32 0 ;
Get FILEOFF Long 0 ;
Set FILESIZE Long TAILOFF ;
Math FILESIZE -= FILEOFF ;
Log FILENAME FILEOFF FILESIZE 0 0 ;
</pre>


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


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

Latest revision as of 22:42, 16 January 2021

Choose archive extension:

DAT


Format Specifications

uint32 {4}   - Number Of Files

// for each file

char {32}    - Filename
uint32 {4}   - File Offset


byte {X}     - File Data

MultiEx BMS Script

Get FILECNTL Long 0 ;
SavePos FILEJMP 0 ;
SavePos FILESTART 0 ;
GoTo EOF 0 ;
SavePos TAILOFF 0 ;
Set DUMMYL Long FILECNTL ;
Math DUMMYL *= 36 ;
Math DUMMYL += 4 ;
Math FILECNTL -= 1 ;
Do ;
GoTo FILESTART 0 ;
GetDString FILENAME 32 0 ;
Get FILEOFF Long 0 ;
SavePos FILESTART 0 ;
Set FILEJMP Long FILESTART ;
Math FILEJMP += 32 ;
GoTo FILEJMP 0 ;
Get FILESIZE Long 0 ;
Math FILESIZE -= FILEOFF ;
Log FILENAME FILEOFF FILESIZE 0 0 ;
Math EXTRCNT += 1 ;
While EXTRCNT <> FILECNTL ;
GoTo FILESTART 0 ;
GetDString FILENAME 32 0 ;
Get FILEOFF Long 0 ;
Set FILESIZE Long TAILOFF ;
Math FILESIZE -= FILEOFF ;
Log FILENAME FILEOFF FILESIZE 0 0 ;

Compatible Programs