Total Annihilation HPI

From XentaxWiki
Jump to: navigation, search

HPI, UFO, CCX, PCK


Format Specifications

char {4}     - Header (HAPI)
uint32 {4}   - Type -- (BANK) if saved game, usually 0x00010000 otherwise
uint32 {4}   - Directory Length
uint32 {4}   - Directory Key
uint32 {4}   - Main Directory Offset

byte {X}     - File Data

// Main Directory

uint32 {4}   - Number Of Files In This Directory
uint32 {4}   - Directory Offset


// go to this Directory Offset
// for each file in this directory
uint32 {4}   - Filename Offset
uint32 {4}   - File Offset
byte {1}     - Directory/File ID


if (directoryFileID == 1){
// go to the name offset
char {X}     - Directory Name
byte {1}     - null Directory Name Terminator


// go to the offset and repeat from "4 - Number Of Files In This Directory"
}


else {
// go to the name offset
char {X}     - Filename
byte {1}     - null Filename Terminator


// go to the offset
uint32 {4}   - Offset
uint32 {4}   - Length
byte {1}     - Flag
}


As with all Total Annihilation formats, Visual Designs has the community-written format description.

MultiEx BMS Script

Not written yet

Compatible Programs