Lemmings Revolution BOX: Difference between revisions
Jump to navigation
Jump to search
imported>WATTO No edit summary |
imported>Mr.Mouse |
||
| Line 34: | Line 34: | ||
=== MultiEx BMS Script === | === MultiEx BMS Script === | ||
<pre>IDString 0 LEMBOX ; | |||
Get FILECNTL Long 0 ; | |||
Get DUMMYL Long 0 ; | |||
Set TAILSIZEB Long 0 ; | |||
Set DUMMYL Long FILECNTL ; | |||
Math DUMMYL *= 4 ; | |||
SavePos FILESTART 0 ; | |||
Set TAILOFF Long 0 ; | |||
Do ; | |||
Get FILEOFF Long 0 ; | |||
GetDString FILENAME FILEOFF 0 ; | |||
Math TAILOFF += 1 ; | |||
While FILECNTL <> TAILOFF ; | |||
SavePos FILEJMP 0 ; | |||
Math FILEJMP += 4 ; | |||
Math DUMMYL += FILEJMP ; | |||
Math DUMMYL += 4 ; | |||
Do ; | |||
GoTo FILESTART 0 ; | |||
Get FILEOFF Long 0 ; | |||
GetDString FILENAME FILEOFF 0 ; | |||
SavePos FILESTART 0 ; | |||
GoTo FILEJMP 0 ; | |||
Get FILEOFF Long 0 ; | |||
SavePos FILEJMP 0 ; | |||
GoTo DUMMYL 0 ; | |||
Get FILESIZE Long 0 ; | |||
SavePos DUMMYL 0 ; | |||
Log FILENAME FILEOFF FILESIZE 0 0 ; | |||
Math EXTRCNT += 1 ; | |||
While EXTRCNT <> FILECNTL ; | |||
Set BytesRead Long 0 ; | |||
Do ; | |||
GoTo DUMMYL 0 ; | |||
GetDString FILENAME 56 0 ; | |||
Set WHATEVER1 Long 0 ; | |||
Get FILEOFF Long 0 ; | |||
Get FILESIZE Long 0 ; | |||
SavePos DUMMYL 0 ; | |||
Log FILENAME FILEOFF FILESIZE 0 0 ; | |||
While BytesRead <> TAILSIZEB ; | |||
</pre> | |||
=== Compatible Programs === | === Compatible Programs === | ||
* [[Game Extractor|Game Extractor]]<br> | * [[Game Extractor|Game Extractor]]<br> | ||
Revision as of 08:35, 24 May 2005
Choose archive extension:
BOX
- Format Type : Archive
- Endian Order : Little Endian
Format Specifications
char {6} - Header (LEMBOX)
uint32 {4} - Number Of Files
uint32 {4} - Filename Directory Length
// for each file
- uint32 {4} - Filename Length
- char {X} - Filename
uint32 {4} - Number Of Files
// for each file
- uint32 {4} - File Offset
uint32 {4} - Number Of Files
// for each file
- uint32 {4} - File Length
byte {X} - File Data
MultiEx BMS Script
IDString 0 LEMBOX ; Get FILECNTL Long 0 ; Get DUMMYL Long 0 ; Set TAILSIZEB Long 0 ; Set DUMMYL Long FILECNTL ; Math DUMMYL *= 4 ; SavePos FILESTART 0 ; Set TAILOFF Long 0 ; Do ; Get FILEOFF Long 0 ; GetDString FILENAME FILEOFF 0 ; Math TAILOFF += 1 ; While FILECNTL <> TAILOFF ; SavePos FILEJMP 0 ; Math FILEJMP += 4 ; Math DUMMYL += FILEJMP ; Math DUMMYL += 4 ; Do ; GoTo FILESTART 0 ; Get FILEOFF Long 0 ; GetDString FILENAME FILEOFF 0 ; SavePos FILESTART 0 ; GoTo FILEJMP 0 ; Get FILEOFF Long 0 ; SavePos FILEJMP 0 ; GoTo DUMMYL 0 ; Get FILESIZE Long 0 ; SavePos DUMMYL 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; Set BytesRead Long 0 ; Do ; GoTo DUMMYL 0 ; GetDString FILENAME 56 0 ; Set WHATEVER1 Long 0 ; Get FILEOFF Long 0 ; Get FILESIZE Long 0 ; SavePos DUMMYL 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; While BytesRead <> TAILSIZEB ;