随着对游戏包文件的深入研究,我还发现不少游戏的包文件存在一种补丁机制。5 `" d9 M, u% @6 j9 F5 q+ \
9 z8 H2 y; d. M补丁机制简述如下% Q5 k+ r5 c) F
游戏一般会按文件名的字母顺序读入相同后缀的包文件,如果在不同的包文件里存在相同的文件的话,
3 j' k( M6 {* _- T- z. y. A则后读入的文件优先度比较高,将会被游戏优先使用。
l+ w2 L8 D9 M
$ A; r: D. K: M6 h* I举例
1 F9 ~8 K0 K( @. }: b3 e: x* ]/ P5 v假设游戏的包文件是data.pak, 其中含有一个叫a.png的英文图片文件。
$ D+ Q" z% q7 F我们可以构造一个小的包文件data_p1.pak,其中含有一个叫a.png的中文图片文件。4 P6 M0 X3 a/ U& ~
由于data_p1.pak在排序后排在data.pak后面,将会被后读入,所以它里面的文件将会取代data.pak包里的同名文件。0 M. g$ q/ X* [2 [' q
所以,最后那个中文图片文件将会被游戏使用。
9 [' `1 m2 l2 i2 q2 e3 V0 {4 R' R+ `3 u8 b {2 Z; M
我们掌握了这个原理以后,就有可能制作出比较小的汉化补丁。7 G" p- \% @$ Z/ q7 x
热心的朋友可以试试看,playfirst sdk的.pfp文件是否支持这种补丁机制? |