Time Splitters Future Perfect

From XentaxWiki
Jump to: navigation, search

Choose archive extension:

PAK


Format Specifications

char {4}     - Header (P5CK)
uint32 {4}   - Directory Offset?
uint32 {4}   - Directory Length
byte {2036}  - null Padding to offset 2048

// Filename Directory

uint16 {2}   - Number Of Files


// for each file
byte {1}     - Filename Length
char {X}     - Filename


byte {0-2047}      - null Padding to a multiple of 2048 bytes


// File Data

// for each file
char {X}     - File Data
byte {0-2047}      - null Padding to a multiple of 2048 bytes


// Directory

uint32 {4}   - Unknown
uint32 {4}   - Filename Directory Offset
uint32 {4}   - Filename Directory Length
uint32 {4}   - null


// for each file
uint32 {4}   - Unknown
uint32 {4}   - File Offset
uint32 {4}   - File Length
uint32 {4}   - nul


MultiEx BMS

IDString 0 P5CK ;
SavePos TailOffOff 0 ;
Get TailOff Long 0 ;
Get TailSize Long 0 ;
Set J Long 2048 ;
GoTo J 0 ;
Get FileNum Int 0 ;
SavePos D 0 ;
Get B Byte 0 ;
GoTo D 0 ;
Set FNT String file ;
Set TJ Long TailOff ;
For T = 1 To FileNum ;
If B > 0 ;
GoTo D 0 ;
Get FNS Byte 0 ;
GetDString FN FNS 0 ;
SavePos D 0 ;
Else ;
Set FN String FNT ;
String FN += T ;
EndIf ;
GoTo TJ 0 ;
Get DUM Long 0 ;
SavePos FOO 0 ;
Get FO Long 0 ;
SavePos FSO 0 ;
Get FS Long 0 ;
Get DUM Long 0 ;
SavePos TJ 0 ;
Log FN FO FS FOO FSO ;
Next T ;

Note: this has not been tested yet!


Notes and Comments

In case of some pak files, there are no filenames stored.

Supported Programs