这个游戏本身是没有字幕的,但是我们可以想办法配上中文字幕。
* z! Y) |% U1 h5 y, A3 A# D8 t在游戏的VMD下,有很多*.VMD文件,这些文件可以用HD Video Converter Factory Pro这个软件转换成MP4格式。# K' ^3 U6 ^6 H9 t7 x* M5 ~7 x
: G+ {5 f# Y; h+ }# Q在下边这个文件中,可以抓取游戏正在使用哪个VMD文件。
% H8 ?: O( ]) E$ {) N: |) |下一步,只要找到游戏正在播放的frameno,就能有办法输出字幕。
/ J( o( O% }: F! {; m研究到此时,出了一个怪问题,游戏在打开*.VMD文件变成无法播放了,讲scummvm和游戏都进行了还原,还是老样子。7 G9 q( [9 q T- H7 \" \$ p
先记录一下,后续继续解决。! G& _ x u# w
; P Z ~0 O% i2 A抓取文件名的代码
% J% u x: Q; ?4 _- reg_t kPlayVMDOpen(EngineState *s, int argc, reg_t *argv) {
' c( @( j" d; k - const Common::String fileName = s->_segMan->getString(argv[0]);
/ [9 X4 m; l$ k% d5 V# ] - // argv[1] is an optional cache size argument which we do not use5 E3 f8 W ]9 j2 I6 g& q# E
- // const uint16 cacheSize = argc > 1 ? CLIP<int16>(argv[1].toSint16(), 16, 1024) : 0;
: C6 `# o# V Y5 r - const VMDPlayer::OpenFlags flags = argc > 2 ? (VMDPlayer::OpenFlags)argv[2].toUint16() : VMDPlayer::kOpenFlagNone; t* a6 M1 S+ _8 \! N
- + Z" p ^# [5 P q( _% ]1 |: y ~
- //by shane007 for test( A* v3 [$ p" L6 V2 f% N$ C; t
- //debug("fileName %s", fileName.c_str());
( j2 r/ q2 q+ z
/ g1 ?2 l, ^- _- L8 L- return make_reg(0, g_sci->_video32->getVMDPlayer().open(fileName, flags));
# C$ W, j+ D1 X' D- P! H - & @! X9 I9 [' k5 O- L) Z
- }
复制代码 7 d, u; I2 ?+ X6 B% m$ N, H7 A7 j
5 _8 P* i( [ {. }# l% r# y* }7 g" y% A7 O+ X; K" ] I5 w1 _
|