冒险解谜游戏中文网 ChinaAVG

标题: 关于DF打包文件的一个疑问 [打印本页]

作者: 肥牛    时间: 2009-6-24 08:55
标题: 关于DF打包文件的一个疑问
我在研究DF文件格式的时候发现了一个问题:
) ^; o) u- s% _" R- b! N+ Y在DF结构中,文件前面存放的是打包的文件体,文件结尾部分存放的是文件夹及文件名等信息。大部分信息都是按照顺序存放的,例外的只有字幕文件。在文件体中,字幕文件总是在最前面,而在文件结尾的结构部分,字幕文件可能出现在最后。而按照我的理解,前后应该是对应的。因此我写的打包程序也是前后对应的。我不知道这样会不会有什么影响。希望谁能解释一下?
作者: 肥牛    时间: 2009-6-24 09:34
我需要解决两个问题:- b, i3 G0 O/ G) H( ^  Y: q
1、是不是所有的DF文件中,字幕文件BIN都会出现在DF最前面?
4 v  g( S0 B* v6 t- t2、一个DF文件中,可能出现两个或者两个以上的BIN文件吗?如果是,那么这些BIN文件都要放在DF最前面吗?
作者: 肥牛    时间: 2009-6-24 11:03
Project1是解包工具,俄罗斯人写的那个,我只是改了改界面。内核没有动。
* u2 f5 A) c6 b6 W7 Y8 nDFPack是我写的打包工具。" Q4 l% U' L* ]# Q" Z) t
0 B. X" l  T/ ?% [3 w1 ~" d
大家可以测试一下,用解包工具解出来的东西,再用打包工具打包后,会发现文件大小有变化,还没有仔细比较,所以暂时不知道为什么。另外,文件的内容也有变化。也就是我说的,用打包工具打包以后,字幕文件BIN跑到了后面。但是,打包以后的文件用解包工具仍然能正常解开。6 N: @0 v& a2 a8 N# f8 @/ G' W- j6 ^
5 D. _2 }0 X( f7 i2 v% W" r
这个打包工具还需要完善,请007做一下测试,就是打包后的文件游戏能不能认。如果能认就最好了。
作者: shane007    时间: 2009-6-24 11:24
谢谢肥牛了!我晚上回去试试看。
& M) k+ y9 Q+ ~! H2 N有2点说一下:
% ~% u( f/ @+ p6 L2 j第1,应该是.BF 文件吧。
7 C3 x, M0 A; i/ r8 ?/ D  b* P第2,打包器有一个原则,就是解包以后,不做任何修改就打包,得到的文件要和原来的完全一样。
. J% c3 |, L( G     如果文件大小改变了,那肯定不对了。! h+ p5 ?/ H8 b* L* b+ o
     我以前编写打包器的时候,要读取原包文件的头部文件名表,所以打包得到的文件和原来的完全一样。希望改进。
作者: shane007    时间: 2009-6-24 11:48
对你前2个问题一时无法解答。
/ l( M1 d$ B6 G  H我的估计是,打包后游戏可以正常运行。
- {* w9 z2 M& p6 v5 U. U把bin放在最前面是为了加快读取,估计不会有出现2个bin的情况。
作者: 肥牛    时间: 2009-6-24 19:46
我今天晚上再试试把BIN放到前面去,如果没有两个或者两个以上的BIN文件就好办了,起码程序结构上能简单一些。: g" b/ D* }3 B( \$ r) @
但是这种尝试也就是为了和原来的BF文件对比一下,用于查找到底什么原因导致文件长度变化。而原封不动的保持原来的打包文件存放顺序,这个我不敢保证。比如BF包中几百个OGG文件,哪个在前哪个在后,这个真的不好控制。
作者: shane007    时间: 2009-6-24 20:41
引用第5楼肥牛于2009-06-24 19:46发表的  :  j+ o# w8 A  F) d1 q$ B; O) s& i7 b1 H
我今天晚上再试试把BIN放到前面去,如果没有两个或者两个以上的BIN文件就好办了,起码程序结构上能简单一些。; L; y0 c: ~8 F
但是这种尝试也就是为了和原来的BF文件对比一下,用于查找到底什么原因导致文件长度变化。而原封不动的保持原来的打包文件存放顺序,这个我不敢保证。比如BF包中几百个OGG文件,哪个在前哪个在后,这个真的不好控制。
" f1 F0 E( L- F/ U. g

! L1 }! |% _# k7 z9 J% ?; Y以前,我做的打包器,文件名表在头部,我可以做到打包后和原来的顺序一样。
7 T6 e" t4 W0 a& [5 j0 p# H3 V9 M这个BF文件文件名表在尾部,可能要和原来的顺序一样比较难控制。
' ?: H/ C/ h" z' F+ ?; y1 R做不到就算了,其实只要让程序能运行就行。
作者: shane007    时间: 2009-6-24 20:53
我试验了一下,打包后可以运行游戏。9 [, Y1 {0 w" A3 d1 O
  o" G% z) f, Y. _3 D5 b
对了,希望肥牛注意一下细节,文件名,按钮名希望命名得正规一些。4 t( u3 g# J$ C+ m: V6 ~4 b5 f" d9 u- f
那解出来的bin能用原来的工具编辑吗?
作者: 慕容枫叶    时间: 2009-6-24 21:12
肥牛工具正式出来了记得PM告诉我  我好给奖励~
作者: 肥牛    时间: 2009-6-24 21:56
我又改了一下:
+ K8 D! d$ D- _4 |: M0 m- s1、把BIN文件提前了,象原来的格式一样;9 c- h8 T% E' A/ K# H4 z" R9 q) b2 i! W
2、发现了一处错误,修正以后,现在的文件大小和原来一模一样了。
! ?' p" @% j* Q
, ]  I/ r, A# f+ v" A4 L7 y用这个打包后的文件与源文件是一样的,一个字节都不差。
/ U( X* r+ K/ q1 i
3 K+ Q* d! ]# @现在这个只是一个工程测试文件,将来要和解包合并到一起的,而且从BIN文件中提取汉化也要结合在一起。所以现在的文件名命名很随意。包括下面MEMO框中的调试数据将来也会去掉的。
  R# c: j2 K8 j2 J! ~. c
4 f' h8 N, ^. H有了这个,现在可以说已经明白了BF文件的结构了。后面的工作就是完善BIN提取工具了,做成通用的。
作者: shane007    时间: 2009-6-24 23:21
肥牛辛苦了,期待后续.
作者: a2937230    时间: 2009-7-16 05:47
提示: 作者被禁止或删除 内容自动屏蔽
作者: shane007    时间: 2009-7-16 06:03
肥牛最近可能没时间解决,我来想办法。
作者: a2937230    时间: 2009-7-16 06:21
提示: 作者被禁止或删除 内容自动屏蔽
作者: shane007    时间: 2009-7-16 11:10
翻译器使用有些不便,是指没有检索功能对吧?
作者: a2937230    时间: 2009-7-16 12:25
提示: 作者被禁止或删除 内容自动屏蔽
作者: shane007    时间: 2009-7-16 17:16
OK。知道了。




欢迎光临 冒险解谜游戏中文网 ChinaAVG (https://chinaavg.com/) Powered by Discuz! X3.2