由于神秘岛4的.m4b包文件不存在免打包的方法,2 L* @/ T m5 R5 n# y) {. D. `
所以,我根据这个包文件的具体情况想出一个懒汉式打包新方法。3 u& j$ V5 s6 l$ j
+ j6 Z X1 u+ g2 @
说出来其实很简单。- p% P- F, K2 U+ |1 ^ k
我们把要更新的文件逐个加到包文件的末尾,然后更新文件头对应文件的文件大小和偏移量即可。
9 i9 {" n: X A4 ^也就是说,同一个子文件在包文件中存在新旧2个版本,旧版本弃之不用,而头部的信息和. g; p* z+ B) }% w
新版本子文件相对应。
$ u8 D# r7 D, F, [3 d* A+ Z% G) J
0 x- [) m! \8 x. L当然,这个方法有一定的局限性,就是不能增加新文件。
3 ]' c9 P. k* t- y/ m# u) H否则后面的偏移量就不对了。
7 G5 g6 ~+ J, e5 I9 G就神秘岛4而言,我估计tga文件的大小是可变的,所以不需要增加文件。( O+ g' Y3 ^: n6 c* X; ^8 n4 R
. b. d! u) `3 u* r这个方法,对于一些复杂格式的包文件,可以大大简化制作打包器的过程。! J8 y& W. Q4 N( l( ~1 G
连解包器和解包过程也可以省略了。以后有其他合适的游戏也可以考虑用这个方法打包。 |