随着对游戏包文件的深入研究,我还发现不少游戏的包文件存在一种补丁机制。( g" e! A; s9 ` o+ G
# y- C, F, i9 i补丁机制简述如下
7 B E# Y! Y& S游戏一般会按文件名的字母顺序读入相同后缀的包文件,如果在不同的包文件里存在相同的文件的话,
. O! l; [' S0 W6 Y Q: u则后读入的文件优先度比较高,将会被游戏优先使用。; D* M) H3 q( @4 k q6 \
+ u, ^( r7 X7 \( ^
举例% b7 q& F7 T) K* [, ^# ?3 t
假设游戏的包文件是data.pak, 其中含有一个叫a.png的英文图片文件。! c( c; e. i' t
我们可以构造一个小的包文件data_p1.pak,其中含有一个叫a.png的中文图片文件。* L2 j! U- B- ^6 @
由于data_p1.pak在排序后排在data.pak后面,将会被后读入,所以它里面的文件将会取代data.pak包里的同名文件。
- q% W6 @( ^& Q* ^" X所以,最后那个中文图片文件将会被游戏使用。
0 z1 c! T" ]6 q. M2 P1 q: d5 ?; N
我们掌握了这个原理以后,就有可能制作出比较小的汉化补丁。. M, K+ h3 f. j- ]
热心的朋友可以试试看,playfirst sdk的.pfp文件是否支持这种补丁机制? |