随着对游戏包文件的深入研究,我还发现不少游戏的包文件存在一种补丁机制。' u" {" v" C. ~ u( b* D1 S
7 d* ?; a# D# o# ^, g) r
补丁机制简述如下
J8 q0 t) ^ E. t7 Z7 j8 j6 F2 [游戏一般会按文件名的字母顺序读入相同后缀的包文件,如果在不同的包文件里存在相同的文件的话,
# _8 D7 o3 P. S1 d3 p则后读入的文件优先度比较高,将会被游戏优先使用。
& t7 N2 u; C7 f- |( T q& T2 g5 K3 W& {5 j/ x0 {/ l, ~% O
举例' N( f. v1 y4 O! ^
假设游戏的包文件是data.pak, 其中含有一个叫a.png的英文图片文件。8 }/ w J% c* ?' F. G$ Q
我们可以构造一个小的包文件data_p1.pak,其中含有一个叫a.png的中文图片文件。
8 n8 @% `/ z/ J% a' N% Q3 m由于data_p1.pak在排序后排在data.pak后面,将会被后读入,所以它里面的文件将会取代data.pak包里的同名文件。
v) S. i y* W; n1 v所以,最后那个中文图片文件将会被游戏使用。
3 W. `# k9 f- Z9 o. u5 i4 c3 V0 o2 r4 \
我们掌握了这个原理以后,就有可能制作出比较小的汉化补丁。
# a1 Z( M7 y2 [3 V, c热心的朋友可以试试看,playfirst sdk的.pfp文件是否支持这种补丁机制? |