冒险解谜游戏中文网 ChinaAVG

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

作者: 肥牛    时间: 2009-6-24 08:55
标题: 关于DF打包文件的一个疑问
我在研究DF文件格式的时候发现了一个问题:
* k- k' j" G; Z  r. q8 |在DF结构中,文件前面存放的是打包的文件体,文件结尾部分存放的是文件夹及文件名等信息。大部分信息都是按照顺序存放的,例外的只有字幕文件。在文件体中,字幕文件总是在最前面,而在文件结尾的结构部分,字幕文件可能出现在最后。而按照我的理解,前后应该是对应的。因此我写的打包程序也是前后对应的。我不知道这样会不会有什么影响。希望谁能解释一下?
作者: 肥牛    时间: 2009-6-24 09:34
我需要解决两个问题:1 ?/ c3 E  t/ @' N2 a! E8 A( i5 s+ V, q
1、是不是所有的DF文件中,字幕文件BIN都会出现在DF最前面?  w  a2 V, X; Q- A. r
2、一个DF文件中,可能出现两个或者两个以上的BIN文件吗?如果是,那么这些BIN文件都要放在DF最前面吗?
作者: 肥牛    时间: 2009-6-24 11:03
Project1是解包工具,俄罗斯人写的那个,我只是改了改界面。内核没有动。. P5 }4 a0 E! d! f' |2 J, g
DFPack是我写的打包工具。1 I% O& R7 Z, m, L8 m; E
9 N& c) X7 z( _' Z
大家可以测试一下,用解包工具解出来的东西,再用打包工具打包后,会发现文件大小有变化,还没有仔细比较,所以暂时不知道为什么。另外,文件的内容也有变化。也就是我说的,用打包工具打包以后,字幕文件BIN跑到了后面。但是,打包以后的文件用解包工具仍然能正常解开。5 Y( E$ B$ L3 Y6 U* ]5 X. a8 c
- c) q# `0 r- i. L% w2 J% I
这个打包工具还需要完善,请007做一下测试,就是打包后的文件游戏能不能认。如果能认就最好了。
作者: shane007    时间: 2009-6-24 11:24
谢谢肥牛了!我晚上回去试试看。
9 K1 e# u. r& N/ W7 W& H有2点说一下:: M. n& r; W2 V
第1,应该是.BF 文件吧。
: i6 g% v1 p% H6 `0 _' ]$ x第2,打包器有一个原则,就是解包以后,不做任何修改就打包,得到的文件要和原来的完全一样。
* R8 x) H  i5 R) f     如果文件大小改变了,那肯定不对了。6 L+ `6 K5 @4 g2 k# w
     我以前编写打包器的时候,要读取原包文件的头部文件名表,所以打包得到的文件和原来的完全一样。希望改进。
作者: shane007    时间: 2009-6-24 11:48
对你前2个问题一时无法解答。+ |5 \9 }5 m* v( G2 Q4 ~9 a" Z9 l8 ]
我的估计是,打包后游戏可以正常运行。
; {; V* o" N, G! x. x/ h$ e# ?1 h2 i把bin放在最前面是为了加快读取,估计不会有出现2个bin的情况。
作者: 肥牛    时间: 2009-6-24 19:46
我今天晚上再试试把BIN放到前面去,如果没有两个或者两个以上的BIN文件就好办了,起码程序结构上能简单一些。
3 }  ~; \  G: H但是这种尝试也就是为了和原来的BF文件对比一下,用于查找到底什么原因导致文件长度变化。而原封不动的保持原来的打包文件存放顺序,这个我不敢保证。比如BF包中几百个OGG文件,哪个在前哪个在后,这个真的不好控制。
作者: shane007    时间: 2009-6-24 20:41
引用第5楼肥牛于2009-06-24 19:46发表的  :8 D) F3 g3 Q2 w
我今天晚上再试试把BIN放到前面去,如果没有两个或者两个以上的BIN文件就好办了,起码程序结构上能简单一些。
, b+ Z5 f2 G( }/ I$ R& W, p1 o/ q  H但是这种尝试也就是为了和原来的BF文件对比一下,用于查找到底什么原因导致文件长度变化。而原封不动的保持原来的打包文件存放顺序,这个我不敢保证。比如BF包中几百个OGG文件,哪个在前哪个在后,这个真的不好控制。
, @6 O6 P8 \7 h0 M- j0 X5 W
% x% Q0 s! Y# B: e- A* t2 o
以前,我做的打包器,文件名表在头部,我可以做到打包后和原来的顺序一样。
* Q4 T" M' z2 F- L0 ~这个BF文件文件名表在尾部,可能要和原来的顺序一样比较难控制。9 }4 b7 @7 S8 M9 @, e* s$ c
做不到就算了,其实只要让程序能运行就行。
作者: shane007    时间: 2009-6-24 20:53
我试验了一下,打包后可以运行游戏。
3 H) ~- u  X1 O3 ]* u: T5 Y- `' w8 H
对了,希望肥牛注意一下细节,文件名,按钮名希望命名得正规一些。
9 i2 \4 r% ?' E/ B' F: j* n( f那解出来的bin能用原来的工具编辑吗?
作者: 慕容枫叶    时间: 2009-6-24 21:12
肥牛工具正式出来了记得PM告诉我  我好给奖励~
作者: 肥牛    时间: 2009-6-24 21:56
我又改了一下:
9 I: O/ o) h% M+ N2 x% W0 c1、把BIN文件提前了,象原来的格式一样;9 r! h& L/ v" b: |. Y0 _
2、发现了一处错误,修正以后,现在的文件大小和原来一模一样了。
# L, O4 e4 a6 \' a0 ?7 h) y
/ B; P' o8 k% I/ R用这个打包后的文件与源文件是一样的,一个字节都不差。
9 s( G- Y9 y0 l/ ^5 ?) B- f
# p7 p" ?9 ^; C5 B/ d现在这个只是一个工程测试文件,将来要和解包合并到一起的,而且从BIN文件中提取汉化也要结合在一起。所以现在的文件名命名很随意。包括下面MEMO框中的调试数据将来也会去掉的。; A  ?5 E# Z  [! t

3 Z- p! ^! A, f% A5 F有了这个,现在可以说已经明白了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