Echelon SFX: Difference between revisions
Jump to navigation
Jump to search
imported>WATTO No edit summary |
imported>WATTO No edit summary |
(No difference)
| |
Revision as of 02:07, 12 December 2005
DAT (TYPE 2), SFX
- Format Type : Archive
- Endian Order : Little Endian
Format Specifications
char {4} - Header (DATA, DMAT, DSFX, DXMC, GSND, MEOS, PARS, PICS, TEXS)
uint32 {4} - Number Of Files
uint32 {4} - Length Of File Data
uint32 {4} - Length Of Filename Directory
// for each file
- uint32 {4} - Hash?
- uint32 {4} - Offset to the filename (relative to the start of the filename directory)
- uint32 {4} - File Size
- uint32 {4} - File Offset
byte {X} - File Data
// Filename Directory (offset=ArchiveLength+LengthOfFileData)
- // for each file
- char {X} - Filename (null)
- char {X} - Filename (null)
byte {0-16} - null Padding to make the filename directory a multiple of 16 bytes
MultiEx BMS Script
IDString 0 DSFX ; Get FILECNTL Long 0 ; Get D Long 0 ; Get F Long 0 ; SavePos FILESTART 0 ; Math FILESTART += 8 ; GoTo EOF 0 ; SavePos TA 0 ; Math TA -= F ; Math TA += 1 ; Do ; GoTo FILESTART 0 ; SavePos FSO 0 ; Get FILESIZE Long 0 ; SavePos FOO 0 ; Get FILEOFF Long 0 ; Math FILESTART += 16 ; GoTo TA 0 ; Get FILENAME String 0 ; SavePos TA 0 ; Log FILENAME FILEOFF FILESIZE FOO FSO ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ;
Notes and Comments
HEADER CODE REPRESENTATIONS
- DATA = Generic Data, Uncategorized
- DMAT = Materials
- DSFX = Sound Files
- DXMC = ???
- GSND = Sound Data (volumes etc?)
- MEOS = Objects
- PARS = Particles
- PICS = Pictures
- TEXS = Textures