Time Splitters Future Perfect
Time Splitters Future Perfect
From XentaxWiki
- Return to the list of games
Choose archive extension:
Contents
1 PAK
1.1 Format Specifications
1.2 MultiEx BMS
1.3 Notes and Comments
1.4 Supported Programs
PAK
- Format Type : Archive
- Endian Order : Little Endian
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 {1} - Filename Length
- 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
- char {X} - File Data
// 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
- uint32 {4} - Unknown
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
- MultiEx Commander
- Game Extractor
(window.RLQ=window.RLQ||).push(function(){mw.loader.state({"user":"ready","user.groups":"ready"});mw.loader.load(["mediawiki.toc","mediawiki.action.view.postEdit","site","mediawiki.user","mediawiki.hidpi","mediawiki.page.ready","mediawiki.searchSuggest"]);});(window.RLQ=window.RLQ||).push(function(){mw.config.set({"wgBackendResponseTime":165});});