用Myst4Viewer看了一下patch.m4b里面的字幕文件,发现字幕文件也是有一定的层次结构的。
, o' |0 ]3 g) C层次如下,字幕ID, 对应的语音文件ID, 后面是和语音文件对应的一组字幕,每句字幕还包含显示的起始时间。
' j( z: g/ X9 W3 c8 x* M4 E( p' f% C( e
抓图如下
# X# @! a6 [# [+ y6 u' |
# A4 L3 {% }/ ^2 m: i, C/ e6 z3 x% F8 I( l; X
--------------------------------------------------
4 \ C" `3 E* Z" |2009.12.19 更新
3 B7 a. g8 a5 F8 W1 I6 |分析了一下字幕文件patch.m4b中的english.m4b中的bin文件的格式。 ' P( l7 Y; o# o* {/ v
格式如下,都画在图片上了。其中1-5是代表5句字幕的定义信息,
- F0 L- e6 h* i$ W i8 A9 q; f最后4个字节定义了字幕的长度。 ( ~8 Q8 q" Z$ N( {4 L6 z
% U% o6 k! X- H/ t% t& u' Z-------------------------------------------------- 6 R# k+ q7 E4 U1 `8 b- S& F; P
2009.12.21 更新
- g: K; y4 J9 w+ b9 }# @6 m字幕文件里面有一个特殊的文件main_menu_ui.bin。
- B9 c+ c/ v0 H, x估计游戏主菜单上的一些字幕都保存在这个文件里。
! D% y, F1 E' H' n( _大致分析了一下,格式也比较简单,下面是这个文件的格式。 4 X4 S2 F+ s$ _. j- Z; I
到0x2A为止都是一些固定的信息,从0x2B开始是一组一组的字幕信息,结构如下。 # V; {8 f3 }+ A. R" \/ }
' c, n! v% A- x; D
4字节 字幕ID长度 , t6 F$ I' x1 z! A! T2 b5 _: ^
n字节 字幕ID
4 s( V" _0 y4 D) c4字节 字幕长度 N7 B& \, n+ H7 T4 j: p
n字节 字幕 $ [$ P0 Q. z& o9 x' \6 O8 s
4 _2 K1 U. f8 \) ?$ C分析清楚了这个结构就很容易可以导出这个文件里的字幕了。 |