这个游戏本身是没有字幕的,但是我们可以想办法配上中文字幕。
) m# C4 B- I7 V2 ~6 G3 X% N在游戏的VMD下,有很多*.VMD文件,这些文件可以用HD Video Converter Factory Pro这个软件转换成MP4格式。/ |' |0 \; q' y, t7 z
/ `1 B, Q$ G5 F9 t. B6 B
在下边这个文件中,可以抓取游戏正在使用哪个VMD文件。/ j2 E, E) o# Z$ z' y
下一步,只要找到游戏正在播放的frameno,就能有办法输出字幕。
; C6 l* E0 [0 i- ~4 |研究到此时,出了一个怪问题,游戏在打开*.VMD文件变成无法播放了,讲scummvm和游戏都进行了还原,还是老样子。
( D6 y9 ?4 i' x0 W3 u先记录一下,后续继续解决。
& ?9 Y! N- I/ d0 O* V
: A8 w( U; l n) D5 |抓取文件名的代码
- }$ V# _/ N, v2 @' f8 w# u2 R- reg_t kPlayVMDOpen(EngineState *s, int argc, reg_t *argv) {+ d# t5 x. G5 l5 `$ P5 X* L
- const Common::String fileName = s->_segMan->getString(argv[0]);6 R7 G) n9 G! s0 _3 |
- // argv[1] is an optional cache size argument which we do not use
9 x& F) b+ _, y2 p8 E - // const uint16 cacheSize = argc > 1 ? CLIP<int16>(argv[1].toSint16(), 16, 1024) : 0;
* E1 G; \) B1 W) E# ?; P7 B - const VMDPlayer::OpenFlags flags = argc > 2 ? (VMDPlayer::OpenFlags)argv[2].toUint16() : VMDPlayer::kOpenFlagNone;
$ D. X! s. Q& R3 @, [6 h
% P( F) F5 l( @3 f2 |- //by shane007 for test
( w2 g2 r/ R: p o2 Y, k9 n2 d - //debug("fileName %s", fileName.c_str());
/ o2 {+ H6 d' \# S# P. E; r - + Q! n$ \" u. W4 T
- return make_reg(0, g_sci->_video32->getVMDPlayer().open(fileName, flags));8 Q4 d3 Z9 y' N& z. J
" w( O' G& J2 |# }' {3 ^7 j: F- }
复制代码 2 n7 V7 }- @# L* S+ W
1 M% ~% J, v, x! O
5 K+ N8 [* W! \+ K9 z |