这个游戏本身是没有字幕的,但是我们可以想办法配上中文字幕。
3 k% e' x: X" d/ S" {# _- U在游戏的VMD下,有很多*.VMD文件,这些文件可以用HD Video Converter Factory Pro这个软件转换成MP4格式。
I) n% h* C" O" e$ j4 X, W: I' z6 j* ^4 w
在下边这个文件中,可以抓取游戏正在使用哪个VMD文件。
& ]2 b% L+ N+ k! s, n. H7 E下一步,只要找到游戏正在播放的frameno,就能有办法输出字幕。6 w* {4 B& p8 R7 b
研究到此时,出了一个怪问题,游戏在打开*.VMD文件变成无法播放了,讲scummvm和游戏都进行了还原,还是老样子。/ o$ [# E% ?& B% V" \
先记录一下,后续继续解决。5 k" {6 G. Y' i' ^: G( o
2 N+ e) |1 i/ h) O
抓取文件名的代码7 u/ q4 d! ~+ |% p, m
- reg_t kPlayVMDOpen(EngineState *s, int argc, reg_t *argv) {
7 w/ H* A; b& v& f& v. Q - const Common::String fileName = s->_segMan->getString(argv[0]);2 J# b$ b; i1 M0 |2 c
- // argv[1] is an optional cache size argument which we do not use* M' \/ T+ k, Z3 |
- // const uint16 cacheSize = argc > 1 ? CLIP<int16>(argv[1].toSint16(), 16, 1024) : 0;' U4 M: I$ e! @' k3 S! g4 e
- const VMDPlayer::OpenFlags flags = argc > 2 ? (VMDPlayer::OpenFlags)argv[2].toUint16() : VMDPlayer::kOpenFlagNone;' \" }) T4 _, n
- 4 }3 Q8 {3 H5 ]* Y- s) j. O0 O
- //by shane007 for test: k4 H. m: ?8 l
- //debug("fileName %s", fileName.c_str());3 S. u8 F l; N6 {; k; S' _# C
- ; O' Z& Y1 V# L# u9 u6 g0 r+ A% j
- return make_reg(0, g_sci->_video32->getVMDPlayer().open(fileName, flags));
& @" U1 e" ^" R9 M$ ~! W/ [6 L+ g - , j3 E+ x4 d( g
- }
复制代码
0 D. o* F% F, x. U. K9 R( [, x( H) A- l2 F, {4 J& I$ g, }; O
$ r* X$ Y, j/ S% }: h$ F |