用Myst4Viewer看了一下patch.m4b里面的字幕文件,发现字幕文件也是有一定的层次结构的。
2 ?, I5 n4 F1 z7 x" L3 V! f# a4 R层次如下,字幕ID, 对应的语音文件ID, 后面是和语音文件对应的一组字幕,每句字幕还包含显示的起始时间。 ?4 f; @7 M; ?0 f9 n0 q
" ~4 @1 L8 @$ ]. \抓图如下 / B9 H: |5 C* H
- o9 {; U( c' N3 D) b/ l
: J7 g$ ]+ B8 y. L- Y! k--------------------------------------------------
% G1 E L0 r: z0 ^$ r% S6 S2009.12.19 更新
) i0 H q9 S* l: K* i5 W8 ^分析了一下字幕文件patch.m4b中的english.m4b中的bin文件的格式。
9 S* e5 i- s) W* p" c格式如下,都画在图片上了。其中1-5是代表5句字幕的定义信息,
6 ^- I' J' k* Q. A) C最后4个字节定义了字幕的长度。
, y* E/ h4 {' B' u6 p 6 @* R" |. d$ j/ d
-------------------------------------------------- ( n. ^! H. `3 N: p; \- Y, ~6 M6 V
2009.12.21 更新 % w2 l" @2 D* |9 u! K! a b9 I
字幕文件里面有一个特殊的文件main_menu_ui.bin。
4 T- ^9 h. O/ V. n& n1 h估计游戏主菜单上的一些字幕都保存在这个文件里。
2 U5 I& e# a3 G" W8 Z大致分析了一下,格式也比较简单,下面是这个文件的格式。
: }: s) A1 w% v到0x2A为止都是一些固定的信息,从0x2B开始是一组一组的字幕信息,结构如下。
5 Q1 i( [# c6 Z% G! m. s- e* h/ Y! \% G i
4字节 字幕ID长度
' z) { q' K2 o+ {; un字节 字幕ID ! A2 y$ [1 i7 Z& X
4字节 字幕长度
0 M% w$ P% P- C# \n字节 字幕
{" z4 ^- P- ^% O" k. }; |3 D% ?% p! |6 U( I, B& \" p
分析清楚了这个结构就很容易可以导出这个文件里的字幕了。 |