Time Splitters Future Perfect PAK: Difference between revisions
Jump to navigation
Jump to search
imported>WATTO No edit summary |
imported>Mr.Mouse No edit summary |
||
| Line 47: | Line 47: | ||
=== MultiEx BMS === | === MultiEx BMS === | ||
<pre>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 ; | |||
</pre> | |||
Note: this has not been tested yet! | |||
=== Notes and Comments === | |||
In case of some pak files, there are no filenames stored. | |||
=== Supported Programs === | === Supported Programs === | ||
* [[MultiEx Commander]] | |||
* [[Game Extractor|Game Extractor]]<br> | * [[Game Extractor|Game Extractor]]<br> | ||
Revision as of 12:24, 5 June 2005
Choose archive extension:
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.