Transworld Snowboarding

From XentaxWiki
Jump to: navigation, search

Choose archive extension:

HPF


Format Specifications

char {32}    - Header ("HMG_PACKED_FILE" + null + spaces to fill)
char {256}   - Absolute Archive Path (null terminated, spaces to fill)
uint32 {4}   - Number Of Files

// for each file (80 bytes for each entry)

uint32 {4}   - File/Directory Identifier (0/3)


if (FileDirID == 0){
// file
uint32 {4}   - null
uint32 {4}   - File Offset (relative to the start of the file data)
uint32 {4}   - File Length
char {64}    - Filename (null terminated, filled with spaces after the null)
}
else if (FileDirID == 3){
// directory
uint32 {4}   - null
uint32 {4}   - File ID (incremental from 48) -OR- Root Directory Identifier (=(byte)1)


if (fileID == (byte)1){
uint32 {4}   - File ID (incremental from 48)
}
else {
uint32 {4}   - Unknown (1)
}


char {64}    - Directory Name (null terminated, filled with spaces after the null)
}


byte {X}     - File Data

MultiEx BMS

IDString 0 HMG_PACKED_FILE ;
Set S Long 32 ;
GoTo S 0 ;
Get OriginalName String 0 ;
Math S += 256 ;
GoTo S 0 ;
Get Entries Long 0 ;
SavePos S 0 ;
Math Entries *= 80 ;
Math S += Entries ;
Get AType Long 0 ;
Get Unknown Long 0 ;
Get Unknown Long 0 ;
Get FileNum Long 0 ;
SavePos J 0 ;
Math J += 64 ;
GoTo J 0 ;
For T = 1 To FileNum ;
Get RType Long 0 ;
Get Unknown Long 0 ;
Get ROff Long 0 ;
Get Size Long 0 ;
GetDString Name 64 0 ;
Math ROff += S ;
Log Name ROff Size 0 0 ;
Next T ;

Supported Programs