由于神秘岛4的.m4b包文件不存在免打包的方法,' \; Q4 G$ t2 D; I- g
所以,我根据这个包文件的具体情况想出一个懒汉式打包新方法。0 `. O8 O7 n/ g. w+ m5 q* \
. t. T* J: m q1 C2 D! R4 x
说出来其实很简单。8 W+ |) z! g3 G- |: n
我们把要更新的文件逐个加到包文件的末尾,然后更新文件头对应文件的文件大小和偏移量即可。
# a4 ]- G* p( S8 Y2 D也就是说,同一个子文件在包文件中存在新旧2个版本,旧版本弃之不用,而头部的信息和% A2 R, w/ s9 [! y; W( `
新版本子文件相对应。
) e; L& e+ J$ Q& V) B V# ?
4 \4 S. K; i. R" m: L+ Q当然,这个方法有一定的局限性,就是不能增加新文件。+ t1 v4 ]0 e& \. ~% f; D
否则后面的偏移量就不对了。7 S$ X! B- a7 _* I7 \9 x
就神秘岛4而言,我估计tga文件的大小是可变的,所以不需要增加文件。
) }4 T4 R5 u) j1 x" `- y& U) o r$ V! M# r- j
这个方法,对于一些复杂格式的包文件,可以大大简化制作打包器的过程。
# l, B' N9 y1 H6 x$ \; e连解包器和解包过程也可以省略了。以后有其他合适的游戏也可以考虑用这个方法打包。 |