由于神秘岛4的.m4b包文件不存在免打包的方法,
1 w* T6 x' g' | e7 H. H+ F X) ?所以,我根据这个包文件的具体情况想出一个懒汉式打包新方法。3 v8 z' W; P' f. f7 N a
' K/ E4 B% H# I/ {$ U& Y
说出来其实很简单。
% u; f9 ]' M! J我们把要更新的文件逐个加到包文件的末尾,然后更新文件头对应文件的文件大小和偏移量即可。* v, s8 V" f$ W, G7 C
也就是说,同一个子文件在包文件中存在新旧2个版本,旧版本弃之不用,而头部的信息和
+ O1 [& p: Y& Z) K6 I! X% I* U4 a新版本子文件相对应。( |8 d6 y; x6 E( k4 O% h: R
; ]" X+ i N, n" \当然,这个方法有一定的局限性,就是不能增加新文件。
8 l. ? X0 K4 T; ]; X+ K {否则后面的偏移量就不对了。
7 r8 I: {- V( `: w4 W0 W就神秘岛4而言,我估计tga文件的大小是可变的,所以不需要增加文件。1 `7 Z) t* h2 m$ `8 ] u
F- Y0 J' t$ O9 n- F
这个方法,对于一些复杂格式的包文件,可以大大简化制作打包器的过程。/ `& v; P4 _! R2 d# T) ?! s, n
连解包器和解包过程也可以省略了。以后有其他合适的游戏也可以考虑用这个方法打包。 |