Red Baron 3D

From XentaxWiki
Jump to: navigation, search

Back to index

Choose archive extension:

VOL


Format Specifications

// MexCom - Recreation of formats\Red Baron 3D\VOL.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


FileID   		'VOL'
#DECLARE FILESTART = 16
$$ CALCULATE FILESTART + 12
** Search for a char{} with value voli
// If found, store it in FILEJMP
$$ CALCULATE FILEJMP + 12
#DECLARE TAILOFF = 0


** DO 


==>FILEJMP
uint32{4}		Offset of resource (FILEOFF)
$$ CALCULATE FILEOFF + 8
uint32{4}		Size of resource (FILESIZE)


** IF FILESIZE = 0
// ----------------------------
// MexCom - Recreation complete 

MultiEx BMS

IDString 0 VOL ;
Set FILESTART Long 16 ;
Math FILESTART += 12 ;
FindLoc FILEJMP String voli 0 ;
Math FILEJMP += 12 ;
Set TAILOFF Long 0 ;
Do ;
GoTo FILEJMP 0 ;
Get FILEOFF Long 0 ;
Math FILEOFF += 8 ;
Get FILESIZE Long 0 ;
If FILESIZE = 0 ;
CleanExit ;
EndIf ;
Get DUMMYL Int 0 ;
Get DUMMYL Int 0 ;
Math DUMMYL -= TAILOFF ;
Math TAILOFF += DUMMYL ;
SavePos FILEJMP 0 ;
Math FILEJMP += 2 ;
GoTo FILESTART 0 ;
GetDString FILENAME DUMMYL 0 ;
SavePos FILESTART 0 ;
Log FILENAME FILEOFF FILESIZE 0 0 ;
While NotEOF <> 0 ;


Notes and Comments

None


Supported by Programs