Microsoft Compound Document

From XentaxWiki
Jump to: navigation, search

TRL


Format Specifications

// DOCUMENT HEADER

uint64 {8}   - Header (208,207,17,224,161,177,26,225)
byte {16}    - Unique File ID (null)
uint16 {2}   - Revision Number (62)
uint16 {2}   - Version Number (3)
uint16 {2}   - Byte Order Mark ((byte)(254,255) = little endian)
uint16 {2}   - Sector Size (2^value) (9=512)
uint16 {2}   - Short Sector Size (2^value) (6=64)
byte {10}    - null
uint32 {4}   - Number Of Sectors in the sector allocation table (256)
uint32 {4}   - SID of the first sector in the directory stream (1)
uint32 {4}   - null
uint32 {4}   - Minimum size of a standard stream (4096) (streams smaller are short-streams)
uint32 {4}   - SID of the first sector of the short-sector allocation table (200)
uint32 {4}   - Number Of Sectors in the short-sector allocation table (37)
uint32 {4}   - SID of the first sector of the master allocation table
uint32 {4}   - Number Of Sectors in the master allocation table (2)
byte {436}   - First part of the master allocation table {


// for each (109){
uint32 {4}   - SID
}
}


// for each file (128-bytes per entry)

char {64}    - Filename (null-terminated) (unicode text)
uint16 {2}   - Filename Length (including null)
byte {1}     - Entry Type (0=Empty, 1=Directory, 2=File, 5=Root Directory)
byte {1}     - Node Color (0=Red, 1=Black)
uint32 {4}   - DID of the left child node (-1 for no node)
uint32 {4}   - DID of the right child node (-1 for no node)
uint32 {4}   - DID of the root child node (-1 for no node)
byte {16}    - Unique ID (can be null)
uint32 {4}   - Flags
uint64 {8}   - Creation Timestamp
uint64 {8}   - Modification Timestamp
uint32 {4}   - SID of the first or short sector (File), SID of the first sector in short-stream (Root)
uint32 {4}   - File Length (File), Size of the short-stream container (Root)
uint32 {4}   - null


MultiEx BMS

Not written yet

Notes and Comments

  • This is an instance of the Microsoft Compound Document format. It is a complicated format, and thus the Game Extractor support is quite poor/limited. You will also be able to find much better and complete documentation elsewhere (on the OpenOffice website?)


Supported Programs