Total Annihilation HPI: Difference between revisions
Jump to navigation
Jump to search
imported>WATTO No edit summary |
imported>Ikskoks No edit summary |
||
| (12 intermediate revisions by 5 users not shown) | |||
| Line 9: | Line 9: | ||
<tt><b> | <tt><b> | ||
char {4} - Header <font color="purple">(HAPI)</font> <br> | char {4} - Header <font color="purple">(HAPI)</font> <br> | ||
uint32 {4} - <font color=" | uint32 {4} - Type -- <font color="purple">(BANK)</font> if saved game, usually 0x00010000 otherwise <br> | ||
uint32 {4} - Directory Length <br> | uint32 {4} - Directory Length <br> | ||
uint32 {4} - Directory Key <br> | uint32 {4} - Directory Key <br> | ||
| Line 46: | Line 46: | ||
<br> | <br> | ||
</b></tt> | </b></tt> | ||
As with all Total Annihilation formats, [http://visualta.tauniverse.com/HTML/Formats.html Visual Designs] has the community-written format description. | |||
=== MultiEx BMS Script === | === MultiEx BMS Script === | ||
| Line 54: | Line 56: | ||
* [[Game Extractor|Game Extractor]]<br> | * [[Game Extractor|Game Extractor]]<br> | ||
* [http://fileuniverse.com/?p=showitem&ID=189 HPI Dump], the original community utility. | |||
* [http://fileuniverse.com/?p=showitem&ID=72 HPI View] & [http://fileuniverse.com/?p=showitem&ID=67 HPI Pack], the most popular community utilities. | |||
* [http://fileuniverse.com/?p=showitem&ID=190 MultiDump] by Dark Rain | |||
* [http://fileuniverse.com/?p=showitem&ID=1984 HPI Edit] | |||
* [http://fileuniverse.com/?p=showitem&ID=1985 HPI Edit for Linux] | |||
[[Category:File Format]] | |||
Latest revision as of 21:50, 21 January 2021
HPI, UFO, CCX, PCK
- Format Type : Archive
- Endian Order : Little Endian
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
- uint32 {4} - Filename Offset
- // for each file in this directory
- if (directoryFileID == 1){
- // go to the name offset
- char {X} - Directory Name
- byte {1} - null Directory Name Terminator
- // go to the name offset
- if (directoryFileID == 1){
- // go to the offset and repeat from "4 - Number Of Files In This Directory"
- }
- // 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 name offset
- else {
- // go to the offset
- uint32 {4} - Offset
- uint32 {4} - Length
- byte {1} - Flag
- }
- // go to the offset
As with all Total Annihilation formats, Visual Designs has the community-written format description.
MultiEx BMS Script
Not written yet
Compatible Programs
- Game Extractor
- HPI Dump, the original community utility.
- HPI View & HPI Pack, the most popular community utilities.
- MultiDump by Dark Rain
- HPI Edit
- HPI Edit for Linux