This is a really good example of the simplest archive format possible. , D$ d6 |8 d7 e$ u+ I; ]! J
. Y1 R% j; X& Q, k1 V* \0 UThe archive begins with a 4 byte signature 'PFPK'.
8 j# v3 L( x( nImmediately after that is an 32 bit integer telling you how many files are in the archive.
/ ~9 G) p P5 w0 d5 x% d+ |9 i! ]/ [8 W. P4 i% F
Then it starts the file allocation table. 5 v8 H' u2 a' ^" L/ N" r
Each entry consists of: 4 }: N. m$ Y8 J) j5 |
Byte - Number of characters in the file's name. 7 ^5 t) z! |, G% c
String - File name.
8 b; C- B$ g7 FInt32 - Address of the beginning of the file.
% V' J7 Y/ C% |% R" ZInt32 - Length of file in bytes. 0 {% p; Q0 m4 f4 e
9 C+ {1 G$ W5 ] ^No encryption. No compression. Quite boring actually. ( G( d% e/ r* [" _6 J
This format should be a required task for an absolute newbie as an introduction to writing archive unpacking software. 7 @* ]9 J U0 h* n# H) d) w* _" X* a
- o( p( f0 F2 b' q# u这个格式除了梦之旅3,还在很多游戏中有运用。
) R. a' O& L7 ~( R) Z% {9 i% @/ FGourmania
' s4 \* S5 U, G, {' Y8 G$ B5 THot Dish 2
5 ^) J M: w) M e5 W; j) \4 ZNocturnal Boston Nightfall
( t& ]9 Y7 i5 G V+ I4 uNightShift legacy 1 A7 h0 N7 g$ v/ ?, S4 Y* _
Pet Shop Hop 6 ?9 a# I& C' }9 R" L9 N8 q
Book of Legends & s0 M+ W8 c- D, R- T
Chocolate Chase 8 x9 w! [3 P) b) G% R
Fashion Dash / q: ^, m7 ?! Y! g) }
The Clumsys
/ L2 G$ @4 A' g6 d$ h) g$ KMythic Marbles
' v$ b& {* c( r$ ]Lost Reals - Legacy of the Sun Princess ; x+ h+ I1 u0 V5 ]
Dr. Daisy Pet Vet (sample archive arrached - game.pfp) & m$ [- @6 N1 d/ j O
Dream Chronicles , i. m8 d" X) M4 D1 P
Wedding Dash 2 m3 X0 D i }! I; b9 ^
Hot Dish 2
: C. {7 J& G. q! O$ ?( k+ {Book of Legends
$ C4 m$ q9 |, S% L4 YMahJonggs |