Rage of Mages

From XentaxWiki
Jump to: navigation, search

Back to index

Choose archive extension:

RES


Format Specifications

// MexCom - Recreation of formats\Rage Of Mages\RES.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


#DECLARE FILESTART = CURRENT OFFSET
$$ CALCULATE FILESTART + 16


==>FILESTART
uint32{4}		TAILOFF
uint32{4}		Number of files (FILECNTL)


** DO 


==>TAILOFF
uint32{4}		Temporary variable (DUMMYL)
uint32{4}		Offset of resource (FILEOFF)
uint32{4}		Size of resource (FILESIZE)
uint32{4}		Temporary variable (DUMMYL)
char{16}  		Filename of resource (FILENAME)
#DECLARE TAILOFF = CURRENT OFFSET


// Resources have a name (FILENAME), are located at FILEOFF and have a size of FILESIZE
$$ CALCULATE EXTRCNT + 1


** WHILE EXTRCNT <> FILECNTL
// ----------------------------
// MexCom - Recreation complete 


MultiEx BMS

SavePos FILESTART 0 ;
Math FILESTART += 16 ;
GoTo FILESTART 0 ;
Get TAILOFF Long 0 ;
Get FILECNTL Long 0 ;
Do ;
GoTo TAILOFF 0 ;
Get DUMMYL Long 0 ;
Get FILEOFF Long 0 ;
Get FILESIZE Long 0 ;
Get DUMMYL Long 0 ;
GetDString FILENAME 16 0 ;
SavePos TAILOFF 0 ;
Log FILENAME FILEOFF FILESIZE 0 0 ;
Math EXTRCNT += 1 ;
While EXTRCNT <> FILECNTL ;


Notes and Comments

None


Supported by Programs