用Myst4Viewer看了一下patch.m4b里面的字幕文件,发现字幕文件也是有一定的层次结构的。
2 r1 [* b% b# z% p; [/ I( [' @层次如下,字幕ID, 对应的语音文件ID, 后面是和语音文件对应的一组字幕,每句字幕还包含显示的起始时间。
) B8 w0 \7 q% W4 n8 F# {: _5 ?; h2 R' M
抓图如下
; P3 Y8 C; D. u% s' k( \ / |6 P& {8 E/ e& F! j4 _
- g: i2 I% Q, Q7 k" {0 j3 M& J--------------------------------------------------
- Q: s. G" U# ^0 d. u2009.12.19 更新
1 Q' _8 A1 n: c) K9 |+ A+ S分析了一下字幕文件patch.m4b中的english.m4b中的bin文件的格式。 9 t( R% X* ]9 W- E4 e* j( K
格式如下,都画在图片上了。其中1-5是代表5句字幕的定义信息,
& w$ A2 H) j9 _# O6 K/ {最后4个字节定义了字幕的长度。 , V# j5 \% S1 k% Y# O7 I" R
4 v. l5 ]* O3 X' I! b-------------------------------------------------- W$ s. Y+ z! _% w' a
2009.12.21 更新 5 b; R+ D5 v8 L2 V" v
字幕文件里面有一个特殊的文件main_menu_ui.bin。 8 J0 m1 {5 r' H. C; _9 a( P
估计游戏主菜单上的一些字幕都保存在这个文件里。
5 a6 q$ d/ K, w, A& b大致分析了一下,格式也比较简单,下面是这个文件的格式。
! b1 H# ~+ Q# a4 Q到0x2A为止都是一些固定的信息,从0x2B开始是一组一组的字幕信息,结构如下。
1 l) h/ R' t% {. [" s" d3 Y
- q6 n* X& y: A* f* U3 ?4字节 字幕ID长度 d' _2 l U4 x/ Y# p$ J. X/ E. M
n字节 字幕ID * u" j) g. c8 ^0 Q/ j
4字节 字幕长度
7 ^, B& h6 K7 ~! un字节 字幕 0 G0 }7 {" L" t9 S S. r! Z: k
0 ]; a! l7 Y3 m) W' A) A0 U S, {% C分析清楚了这个结构就很容易可以导出这个文件里的字幕了。 |