Sid Meier's Pirates! FPK: Difference between revisions

From XentaxWiki
Jump to navigation Jump to search
imported>Rittmeister
No edit summary
 
imported>Rittmeister
No edit summary
(No difference)

Revision as of 00:17, 24 December 2007


Choose archive extension:

FPK

FPK File Analysis

Sid Meier's Pirates! FPK File Format description

each numbered line represents 1 byte.

00 02 File header: first 4 bytes seem to be always the same
01 00
02 00
03 00
04 BC Number of Files in Archive: this example represents 07BC files = 1980 files
05 07 --"--                       (equals number of header entries of course)
06 00 --"--
07 00 --"--


//    the following segment (08 - 2f) is repeated for each file in the archive
//    please note: the variable length of the filename changes of course each individual segments length!

08 14 Length of FileNAME (20 chars here)
09 00 --"--
0a 00 --"--
0b 00 --"--
0c xx t Filename of first item in archive. the filename is 'encrypted'.
0d    i 
0e    t The 'encryption' is a joke. It just increases each byte by 01!
0f    l
10    e (eg. 'e' becomes 'f')
11    s
12    c
13    r
14    e
15    e
16    n
17    _
18    e
19    u
1a    r
1b    o
1c    .
1d    d
1e    d
1f xx s
20 63 }\
21 99 } \ some checksum or filetype/datagroup designation?...
22 92 } /
23 ea }/
24 30 }\
25 6d } \ some checksum or filetype/datagroup designation?...
26 c5 } /
27 01 }/
28  80 Length of first file: 00080080
29  00
2a  08
2b  00
2c  30 Offset to start of first file
2d  00 in this case: 00000030
2e  00
2f  00

30     The actual (first) file!... in this case starts at 30h.


Format Specifications

uint32 {4}   - Header/Version? (4)
uint32 {4}   - Number Of Files in Archive

// for each file

uint32 {4}   - Filename Length
char {X}     - Filename (each char -= 1 to get real Filename)
uint32 {4}   - Checksum or filetype/datagroup designation? (1)
uint32 {4}   - Checksum or filetype/datagroup designation? (2)
uint32 {4}   - Length of file
uint32 {4}   - Offset to start of file


byte {X}     - File Data Area

MultiEx BMS

Not written yet


Supported Programs