Black And White: Difference between revisions
Jump to navigation
Jump to search
imported>Mr.Mouse |
imported>Mr.Mouse |
(No difference)
| |
Revision as of 20:32, 16 May 2005
Choose archive extension:
SAD
- Format Type : Archive
- Endian Order : Little Endian
Format Specifications
char {8} - Header (LiOnHeAd)
char {21} - Description (LHFileSegmentBankInfo)
byte {11} - null
uint32 {4} - First File Start [+72]
// go to firstFileStart
- uint32 {4} - Second File Start [+32+CurrentOffset]
- byte {X} - File Data
- // go to secondFileStart
- uint32 {4} - Offset Value
- uint32 {4} - Number Of Files
- uint32 {4} - Offset Value
- if (offsetVal > 0){
- offsetVal = OffsetVal / NumFiles
- }
- offsetVal = OffsetVal / NumFiles
- if (offsetVal > 0){
- // for each file
- char {256} - Filename (null) (including c:\)
- byte {12} - Unknown
- uint32 {4} - File Length
- uint32 {4} - Unknown
- char {256} - Filename (null) (including c:\)
- // for each file
MultiEx BMS Script
IDString 0 LiOnHeAd ; SavePos FILESTART 0 ; Math FILESTART += 32 ; GoTo FILESTART 0 ; Get FILESTART Long 0 ; SavePos DUMMYL 0 ; Math FILESTART += DUMMYL ; Math FILESTART += 32 ; GoTo FILESTART 0 ; Get FILESTART Long 0 ; SavePos TAILOFF 0 ; Math FILESTART += TAILOFF ; Math FILESTART += 32 ; GoTo FILESTART 0 ; Get DUMMYL Long 0 ; Get FILECNTL Long 0 ; Set DUMMYL Long DUMMYL ; Math DUMMYL /= FILECNTL ; SavePos FILESTART 0 ; Do ; GoTo FILESTART 0 ; SavePos FILEJMP 0 ; Math FILESTART += 2 ; GoTo FILESTART 0 ; GetDString FILENAME 254 0 ; SavePos FILESTART 0 ; Math FILESTART += 12 ; GoTo FILESTART 0 ; Get FILESIZE Long 0 ; Set FILESTART Long FILEJMP ; Get FILEJMP Long 0 ; Set FILEOFF Long TAILOFF ; Math FILEOFF += FILEJMP ; Math FILESTART += DUMMYL ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ;