用Myst4Viewer看了一下patch.m4b里面的字幕文件,发现字幕文件也是有一定的层次结构的。
0 t7 E6 s" P- @7 V( v! e3 j" S层次如下,字幕ID, 对应的语音文件ID, 后面是和语音文件对应的一组字幕,每句字幕还包含显示的起始时间。
, k& k- d5 j5 y9 h; F8 ]: U# a
) ^; d1 a- P7 u% B, G B抓图如下 X& s* i" f- b" _" e
8 j2 r( Y9 f$ r* C* J: G4 ]; J) p8 X
/ \; {* l ?3 E8 e6 ` t
--------------------------------------------------
7 F% F3 h- Z0 F% D2 `; b6 `2009.12.19 更新 # D6 N) _, z) X! O
分析了一下字幕文件patch.m4b中的english.m4b中的bin文件的格式。 7 O! v* B1 `. B- T$ S
格式如下,都画在图片上了。其中1-5是代表5句字幕的定义信息,
! M6 q6 t: B3 b: }最后4个字节定义了字幕的长度。 " R- Y/ r' h, | V* g3 I
& K& f2 _" s; n# v7 ]8 A+ {% n; x--------------------------------------------------
$ ^+ H! u/ V! G2 P# E2009.12.21 更新 & l3 f' g" n+ |& f
字幕文件里面有一个特殊的文件main_menu_ui.bin。 " q; A; `; b5 U N
估计游戏主菜单上的一些字幕都保存在这个文件里。 2 T1 u% c" f5 A& I6 ~$ A1 E
大致分析了一下,格式也比较简单,下面是这个文件的格式。
* c {/ L6 w0 m3 \6 s4 j0 P" `到0x2A为止都是一些固定的信息,从0x2B开始是一组一组的字幕信息,结构如下。
2 e6 Z1 b% ^( K" [1 P, f2 [- p a9 N/ ?; ]8 a
4字节 字幕ID长度
8 ^2 F8 G2 R6 c wn字节 字幕ID 3 W7 H @; P8 P) l# e! h+ L
4字节 字幕长度 0 T# ~# v$ h, h3 J+ H- P3 ~. Y- D
n字节 字幕
) |+ M' i$ c6 @( g1 x. L* [
* b. m0 O$ t5 N$ w) P3 |分析清楚了这个结构就很容易可以导出这个文件里的字幕了。 |