随着对游戏包文件的深入研究,我还发现不少游戏的包文件存在一种补丁机制。6 q# ?' L" f+ H7 W' s' |! }+ h
5 h& @1 u6 h. t& `, ]% B% v补丁机制简述如下8 |& [8 g0 x* N! K C0 J @
游戏一般会按文件名的字母顺序读入相同后缀的包文件,如果在不同的包文件里存在相同的文件的话,
: ~. x7 K t5 @; g0 p6 h( O则后读入的文件优先度比较高,将会被游戏优先使用。
4 G. F! y" w" Y) b. {
' e- L4 I; h' U y, B举例
7 B( W- n1 `: {# b# o假设游戏的包文件是data.pak, 其中含有一个叫a.png的英文图片文件。 q; w. T5 n! Y/ f
我们可以构造一个小的包文件data_p1.pak,其中含有一个叫a.png的中文图片文件。
( o8 g) r$ v6 g; i5 @9 w' ] Z由于data_p1.pak在排序后排在data.pak后面,将会被后读入,所以它里面的文件将会取代data.pak包里的同名文件。. l# P; \- f$ U8 I
所以,最后那个中文图片文件将会被游戏使用。& p* T* }8 t7 X, x$ Z
8 m L) i3 g& y4 @
我们掌握了这个原理以后,就有可能制作出比较小的汉化补丁。
' w# J6 s9 k! g4 S# @( s热心的朋友可以试试看,playfirst sdk的.pfp文件是否支持这种补丁机制? |