GRAF:Micro Machines 2 SFX: Difference between revisions

From XentaxWiki
Jump to navigation Jump to search
imported>Mr.Mouse
Line 24: Line 24:
=== MultiEx BMS Script ===  
=== MultiEx BMS Script ===  


<pre>
<bms games="'Micro Machines 2'" platforms="'PC'" ext="sfx" author="Mr.Mouse" version="2.0" verbose="yes" silence="no">ImpType SFileSize ;
SavePos FILESTART 0 ;
GoTo EOF 0 ;
SavePos END 0 ;
GoTo SOF 0 ;
Set IDM String "SMPL" ;
Do ;
Do ;
GoTo FILESTART 0 ;
GetDString IDS 4 0 ;
SavePos FILEOFF 0 ;
If IDS <> IDM ;
Get DUMMYL Long 0 ;
CleanExit ;
Get FILESIZE Long 0 ;
Else ;
Math FILESTART += FILESIZE ;
SavePos FS 0 ;
Get FILENAME String 0 ;
Get FiSi Long 0 ;
Log FILENAME FILEOFF FILESIZE 0 0 ;
GetDString FName 8 0 ;
While NotEOF <> 0 ;
SavePos FO 0 ;
</pre>
Math FiSi -= 16 ;
Log FName FO FiSi 0 FS ;
Math FO += FiSi ;
GoTo FO 0 ;
EndIf ;
SavePos POS 0 ;
While POS < END ;
</bms>


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

Revision as of 19:25, 31 January 2007

Choose archive extension:

SFX


Format Specifications

// for each file

uint32 {4}   - Unknown
uint32 {4}   - File Length
char {X}     - Filename
byte {1}     - null Filename Terminator


byte {X}     - File Data

MultiEx BMS Script

<bms games="'Micro Machines 2'" platforms="'PC'" ext="sfx" author="Mr.Mouse" version="2.0" verbose="yes" silence="no">ImpType SFileSize ; GoTo EOF 0 ; SavePos END 0 ; GoTo SOF 0 ; Set IDM String "SMPL" ; Do ; GetDString IDS 4 0 ; If IDS <> IDM ; CleanExit ; Else ; SavePos FS 0 ; Get FiSi Long 0 ; GetDString FName 8 0 ; SavePos FO 0 ; Math FiSi -= 16 ; Log FName FO FiSi 0 FS ; Math FO += FiSi ; GoTo FO 0 ; EndIf ; SavePos POS 0 ; While POS < END ; </bms>

Compatible Programs