随着对游戏包文件的深入研究,我还发现不少游戏的包文件存在一种补丁机制。$ K/ @2 K0 V+ }8 o$ {) Y" H
) H& G& H/ z2 k, `; e
补丁机制简述如下
- y4 }/ h6 H1 s+ h! ?游戏一般会按文件名的字母顺序读入相同后缀的包文件,如果在不同的包文件里存在相同的文件的话,
7 ~4 X% M3 R4 P6 K则后读入的文件优先度比较高,将会被游戏优先使用。
9 {( f6 U5 S% `, Y) `7 L
t/ P/ E- a: U. }2 W& @' ~+ j举例
/ Q' y2 m: t# k8 W7 t4 d; v$ }假设游戏的包文件是data.pak, 其中含有一个叫a.png的英文图片文件。
" ^0 x9 c5 J; B$ T. p; l" F) w) D我们可以构造一个小的包文件data_p1.pak,其中含有一个叫a.png的中文图片文件。
. x) a& R7 \. _: _0 r4 ]; Q由于data_p1.pak在排序后排在data.pak后面,将会被后读入,所以它里面的文件将会取代data.pak包里的同名文件。
/ c8 }. x' i8 Q3 f* e }/ \所以,最后那个中文图片文件将会被游戏使用。3 @' ~1 t6 |. V% n! Z8 n j, Q
3 T) B0 ?5 w: Z; ]+ a N- w
我们掌握了这个原理以后,就有可能制作出比较小的汉化补丁。
3 a' O' B2 ]1 H }! s. V' b( S) f热心的朋友可以试试看,playfirst sdk的.pfp文件是否支持这种补丁机制? |