这个游戏本身是没有字幕的,但是我们可以想办法配上中文字幕。
+ T) m6 K+ v: F! k在游戏的VMD下,有很多*.VMD文件,这些文件可以用HD Video Converter Factory Pro这个软件转换成MP4格式。9 G4 I& r* n# t- [* w
' A* V9 S( {0 q# d! w! R
在下边这个文件中,可以抓取游戏正在使用哪个VMD文件。0 `0 V1 J3 X( j4 I& t7 p
下一步,只要找到游戏正在播放的frameno,就能有办法输出字幕。; v5 J0 v# U' l: g6 x
研究到此时,出了一个怪问题,游戏在打开*.VMD文件变成无法播放了,讲scummvm和游戏都进行了还原,还是老样子。
6 x0 ~& W/ N* z! }; ~! [% E5 _9 X先记录一下,后续继续解决。
( M# @* @5 f# y1 }" C. U0 C
3 L$ A/ z" Z5 B+ ^抓取文件名的代码2 D2 W5 r+ [) T- H3 q* P
- reg_t kPlayVMDOpen(EngineState *s, int argc, reg_t *argv) {
5 A7 \, l. ]1 ^ - const Common::String fileName = s->_segMan->getString(argv[0]);
/ n* [0 F- R/ p) m- r7 W - // argv[1] is an optional cache size argument which we do not use3 @$ C+ C) v& I, P* |9 G
- // const uint16 cacheSize = argc > 1 ? CLIP<int16>(argv[1].toSint16(), 16, 1024) : 0;
! P0 H" f& j3 w8 ^- F - const VMDPlayer::OpenFlags flags = argc > 2 ? (VMDPlayer::OpenFlags)argv[2].toUint16() : VMDPlayer::kOpenFlagNone;
- r/ w) _$ Q6 m& a% D; S- X% s8 _
' y0 o4 F! A: E0 M+ H4 E- //by shane007 for test
& X! S7 `8 Q+ u i! V - //debug("fileName %s", fileName.c_str());3 _" s9 H1 ?( _' ~# ], o2 ^2 j7 o6 f
- R( A4 i6 C$ w) g/ r' _ [3 \) T
- return make_reg(0, g_sci->_video32->getVMDPlayer().open(fileName, flags));
( ~ s& G7 X& n( x
2 c4 n+ |5 m* l% ]9 a& t5 [- }
复制代码 % D$ A% t3 J: j" N9 ~" e# E0 L z
$ F* }; v; y2 n X( t
# I x" d% _& j. E) G |