This is a really good example of the simplest archive format possible.
; M% X) l( }* C4 ^6 s6 O
6 {. e$ B- F! q% FThe archive begins with a 4 byte signature 'PFPK'.
; U h2 H% h( l; S( H6 CImmediately after that is an 32 bit integer telling you how many files are in the archive. ) B' A0 H" X! E
9 ?7 i" r' `$ a4 l* n. v0 \4 F
Then it starts the file allocation table.
, a: w& V( w4 X" XEach entry consists of: : }6 f' ~3 R x. e) Z6 j
Byte - Number of characters in the file's name. $ q+ L8 ~4 t7 `. e/ J" l
String - File name.
% Z0 s% j$ ]. R H7 GInt32 - Address of the beginning of the file. 0 L7 W1 r0 f7 D$ q
Int32 - Length of file in bytes. + d( V' W, W( H; Y+ N% {% e# g; Q
7 L5 v& M6 S4 t
No encryption. No compression. Quite boring actually.
7 {9 I! W$ b5 n) W6 R7 W0 q$ ^This format should be a required task for an absolute newbie as an introduction to writing archive unpacking software. " j# o2 @. e, e6 k
2 x7 U3 e8 c9 b5 d% n) }这个格式除了梦之旅3,还在很多游戏中有运用。& H6 L/ ?4 D( L. p
Gourmania ) B4 |0 ~4 i1 P- h7 c {- U- _! l+ _0 `
Hot Dish 2
. r, x3 p' `0 W, L5 zNocturnal Boston Nightfall 7 O! t9 H7 |2 k9 R
NightShift legacy ) a1 V2 k! H/ y2 A& x4 s' Q6 c
Pet Shop Hop ) j7 M9 M% [! q1 Z
Book of Legends
& | h" ~4 y. {, a) sChocolate Chase 7 [4 [* Y2 |$ K5 f+ J2 R
Fashion Dash + T- y0 ~* ~3 Y- a o. t. N9 y1 f+ @
The Clumsys 4 m% |8 U1 b1 r
Mythic Marbles
+ s& \7 u: P; n& z7 K8 tLost Reals - Legacy of the Sun Princess : ]" E7 O- c# v5 R c% ~9 S* H
Dr. Daisy Pet Vet (sample archive arrached - game.pfp) 7 Q" [2 v5 l+ m# o
Dream Chronicles - A# H7 S L q7 a8 Y k
Wedding Dash 4 x' T) q! s+ R% E# L2 Q0 l/ w
Hot Dish 2
# V, g; C9 S- ]* P. y; O& fBook of Legends
1 ]! l; l# N: e9 Q8 u& rMahJonggs |