随着对游戏包文件的深入研究,我还发现不少游戏的包文件存在一种补丁机制。
2 i) ?+ N$ f# X6 n5 d$ s
1 ]) Y- N0 Z, E( z6 a: I+ _补丁机制简述如下
1 a/ W. x' ^2 K* K$ I' Y" h游戏一般会按文件名的字母顺序读入相同后缀的包文件,如果在不同的包文件里存在相同的文件的话,
( n9 z# D$ m1 L2 D# h0 R: C则后读入的文件优先度比较高,将会被游戏优先使用。, s/ y" n l; `( h& D4 E2 G
2 \4 C/ w x! a+ K8 j5 p
举例6 d, {, O2 \' W( q
假设游戏的包文件是data.pak, 其中含有一个叫a.png的英文图片文件。
' _8 a" J( _$ m# p- Z1 z0 |6 j( K* e我们可以构造一个小的包文件data_p1.pak,其中含有一个叫a.png的中文图片文件。
4 i5 |3 @6 \' F由于data_p1.pak在排序后排在data.pak后面,将会被后读入,所以它里面的文件将会取代data.pak包里的同名文件。
* y7 K% V. b# |' A; }所以,最后那个中文图片文件将会被游戏使用。" y/ S: o' }# o* i/ ]
. b9 J8 y; z& Z+ i; Q: {我们掌握了这个原理以后,就有可能制作出比较小的汉化补丁。
4 ]2 a( O8 o3 r |; `$ \4 _" a热心的朋友可以试试看,playfirst sdk的.pfp文件是否支持这种补丁机制? |