随着对游戏包文件的深入研究,我还发现不少游戏的包文件存在一种补丁机制。8 b6 \2 ]* W( K
m) T" W& R/ m* I& a# D补丁机制简述如下5 y s; W+ O9 N# V- E
游戏一般会按文件名的字母顺序读入相同后缀的包文件,如果在不同的包文件里存在相同的文件的话,
! Y0 ^2 w4 i, z9 x则后读入的文件优先度比较高,将会被游戏优先使用。" g- [; p5 \/ B7 ]2 |# S
" b: Q6 R% z2 c- u5 _
举例) c* }2 }8 b9 b( E, Z- M4 h A
假设游戏的包文件是data.pak, 其中含有一个叫a.png的英文图片文件。
' B6 ], U' b: c& e. l' K( {) l我们可以构造一个小的包文件data_p1.pak,其中含有一个叫a.png的中文图片文件。: c% j G" q4 y3 X4 D U& {+ G4 E
由于data_p1.pak在排序后排在data.pak后面,将会被后读入,所以它里面的文件将会取代data.pak包里的同名文件。+ [5 I& u0 K9 p6 }( L+ K
所以,最后那个中文图片文件将会被游戏使用。
/ P0 t; f0 n3 P+ e S# \3 W5 a7 Y; Q
' J# e6 {6 s3 T- X我们掌握了这个原理以后,就有可能制作出比较小的汉化补丁。
: m$ h9 w/ D) l& B2 c) E$ k热心的朋友可以试试看,playfirst sdk的.pfp文件是否支持这种补丁机制? |