由于神秘岛4的.m4b包文件不存在免打包的方法,0 A$ y; e) W6 S4 ^. s# v7 v7 p0 [
所以,我根据这个包文件的具体情况想出一个懒汉式打包新方法。& y5 h( A" [+ ]4 s
+ y0 M1 \1 S* ?说出来其实很简单。
( U0 C. ^6 N2 ^我们把要更新的文件逐个加到包文件的末尾,然后更新文件头对应文件的文件大小和偏移量即可。
0 z. Q3 A4 u q& \7 E3 o7 w7 \也就是说,同一个子文件在包文件中存在新旧2个版本,旧版本弃之不用,而头部的信息和/ q9 `, E n) |1 L
新版本子文件相对应。! j8 l% q! B0 X3 g7 s
9 }6 h7 M4 F/ v. `' f
当然,这个方法有一定的局限性,就是不能增加新文件。- X u! U+ o, S7 q/ r
否则后面的偏移量就不对了。5 e- k* p- u, W
就神秘岛4而言,我估计tga文件的大小是可变的,所以不需要增加文件。
6 [% M2 q. o0 \+ R C4 C, z" i- [3 w9 X/ c
这个方法,对于一些复杂格式的包文件,可以大大简化制作打包器的过程。
3 p0 {8 F8 B+ n: b, t2 M连解包器和解包过程也可以省略了。以后有其他合适的游戏也可以考虑用这个方法打包。 |