Rage of Mages RES: Difference between revisions
Jump to navigation
Jump to search
imported>Mr.Mouse mNo edit summary |
imported>Ikskoks m (Ikskoks moved page Rage of Mages to Rage of Mages RES) |
||
| (3 intermediate revisions by the same user not shown) | |||
| Line 96: | Line 96: | ||
* [[MultiEx Commander|MultiEx Commander]] | * [[MultiEx Commander|MultiEx Commander]] | ||
[[Category:File Format]] | |||
Latest revision as of 13:26, 17 January 2021
Choose archive extension:
RES
- Format Type : Archive
- Endian Order : Little Endian
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