随着对游戏包文件的深入研究,我还发现不少游戏的包文件存在一种补丁机制。
8 t/ H6 `$ Y& B9 n- Q% a# e$ s( _- ]$ O w N
补丁机制简述如下$ Y. z+ I q( @2 [* s! a+ i3 ]
游戏一般会按文件名的字母顺序读入相同后缀的包文件,如果在不同的包文件里存在相同的文件的话,! V- k5 u. i, s0 t
则后读入的文件优先度比较高,将会被游戏优先使用。
R8 P+ V! A' t, p9 a4 o% Q, }* M# ^1 F* l# Q
举例
& A) b8 j6 i# ?. K( S$ q假设游戏的包文件是data.pak, 其中含有一个叫a.png的英文图片文件。
' h+ d$ i B3 J; _7 y* g我们可以构造一个小的包文件data_p1.pak,其中含有一个叫a.png的中文图片文件。8 O. }1 T: @6 w
由于data_p1.pak在排序后排在data.pak后面,将会被后读入,所以它里面的文件将会取代data.pak包里的同名文件。
. j' N- d* h1 T) d所以,最后那个中文图片文件将会被游戏使用。
# w: P- y" E" j7 S
# U/ J" n' B- n# x1 V我们掌握了这个原理以后,就有可能制作出比较小的汉化补丁。5 Z5 A5 S+ {$ B3 d
热心的朋友可以试试看,playfirst sdk的.pfp文件是否支持这种补丁机制? |