随着对游戏包文件的深入研究,我还发现不少游戏的包文件存在一种补丁机制。
( G9 Y; O4 h0 R2 k
2 u3 `3 |9 w! z补丁机制简述如下1 k( ~4 c& |2 }4 i+ A
游戏一般会按文件名的字母顺序读入相同后缀的包文件,如果在不同的包文件里存在相同的文件的话,
U: E; [. |) W) Q% u' V则后读入的文件优先度比较高,将会被游戏优先使用。
) `# W# ~4 ^' k( J: I6 ? A! _1 e4 [; D1 Z* c. b+ b
举例; A, \. y6 }- a9 K( e; }
假设游戏的包文件是data.pak, 其中含有一个叫a.png的英文图片文件。7 g* B K0 y1 M% z
我们可以构造一个小的包文件data_p1.pak,其中含有一个叫a.png的中文图片文件。
* p( D3 v. }7 y由于data_p1.pak在排序后排在data.pak后面,将会被后读入,所以它里面的文件将会取代data.pak包里的同名文件。& ^# c6 e3 y0 l8 A: a
所以,最后那个中文图片文件将会被游戏使用。
# V! e- t$ S+ [9 P0 w! Z6 L1 \9 A( c( e! C5 t% `: E6 l7 v
我们掌握了这个原理以后,就有可能制作出比较小的汉化补丁。" o+ b8 p+ m: f2 x0 Q3 u3 J; `
热心的朋友可以试试看,playfirst sdk的.pfp文件是否支持这种补丁机制? |