This is a really good example of the simplest archive format possible. . N1 t+ ]6 C% G% i; D6 `3 h
6 l1 {- D2 k0 J, bThe archive begins with a 4 byte signature 'PFPK'.
2 d, F, M' M* N- sImmediately after that is an 32 bit integer telling you how many files are in the archive. $ y5 ?0 N: u) l f9 ?! r% @
# S Q* I; z- V9 W. A
Then it starts the file allocation table.
: @, }' G, S5 F9 m5 |Each entry consists of:
* v- A/ u' N( C3 M7 x4 O% YByte - Number of characters in the file's name. % E7 t* i6 w' {+ A) p
String - File name.
. P, q! U! t+ ]: t+ t4 MInt32 - Address of the beginning of the file.
. f l7 g0 {4 f+ j( M+ JInt32 - Length of file in bytes. ( W0 R/ c( v$ ? N0 s" p( e; O
: z+ l- B) a! M% p" X& u' X* vNo encryption. No compression. Quite boring actually. 1 S- |. `( \1 F* P/ f$ i# m
This format should be a required task for an absolute newbie as an introduction to writing archive unpacking software. . j6 E' X- y) d2 {0 r
2 ~" P. C1 j' V% ^$ j这个格式除了梦之旅3,还在很多游戏中有运用。9 n& W' K# y! P6 `0 f. B d
Gourmania
" p% S* }$ J/ l' [% t7 y# hHot Dish 2
4 j2 n5 w0 M9 u1 C, ZNocturnal Boston Nightfall & x- u1 J0 G/ X) D# `1 A
NightShift legacy % W8 g. c4 a1 d2 C" e2 E
Pet Shop Hop & W% d5 _' R8 {( n
Book of Legends C% |5 r9 |% r( A* T' K
Chocolate Chase ! y' ~; s5 Q# \' K& i! e
Fashion Dash
n, H0 @( C4 K7 z4 `The Clumsys
. o' o( e6 h5 `: [, T+ u, z/ XMythic Marbles 3 \! M+ w8 G, k( w W$ i* b
Lost Reals - Legacy of the Sun Princess
# |: j. [% j$ _, fDr. Daisy Pet Vet (sample archive arrached - game.pfp)
" U4 Q r$ C) M$ s5 u* d/ }6 bDream Chronicles . v! t3 h" k3 q5 j
Wedding Dash
" f0 ]6 O+ P2 P7 KHot Dish 2
9 V" b/ ~' o a6 d4 S; BBook of Legends ( U- A2 B& I4 h4 i
MahJonggs |