这个游戏本身是没有字幕的,但是我们可以想办法配上中文字幕。' f+ @8 @1 d! O j m! Y
在游戏的VMD下,有很多*.VMD文件,这些文件可以用HD Video Converter Factory Pro这个软件转换成MP4格式。
1 b: J; X4 }3 P1 @" [7 \
" ~7 }' _. q+ t在下边这个文件中,可以抓取游戏正在使用哪个VMD文件。
0 v: S- Q! d( P& j下一步,只要找到游戏正在播放的frameno,就能有办法输出字幕。
) ?% J( H8 z1 P+ W; a, k' q研究到此时,出了一个怪问题,游戏在打开*.VMD文件变成无法播放了,讲scummvm和游戏都进行了还原,还是老样子。
' `1 Q6 o9 |' n, g& v" k O先记录一下,后续继续解决。
6 j8 l. P0 U/ ?# |" ^3 [7 B) X$ ]5 y; G& J
抓取文件名的代码
: b1 @ M$ ^% G& I, n- reg_t kPlayVMDOpen(EngineState *s, int argc, reg_t *argv) {
x* i2 w; Y: P1 w - const Common::String fileName = s->_segMan->getString(argv[0]);7 X3 s1 R$ @ J0 i8 }8 F9 e, n2 ~% y
- // argv[1] is an optional cache size argument which we do not use. }) ^5 V8 r; o, C4 Q) g/ Q* `( ]& {
- // const uint16 cacheSize = argc > 1 ? CLIP<int16>(argv[1].toSint16(), 16, 1024) : 0;
e3 v; C# S) ^, N) D7 A3 _ - const VMDPlayer::OpenFlags flags = argc > 2 ? (VMDPlayer::OpenFlags)argv[2].toUint16() : VMDPlayer::kOpenFlagNone;8 H8 x/ n- {# V! s5 i6 ?" D3 Q3 B$ e
- 5 l# a9 x- L* O2 T/ e, i
- //by shane007 for test
, u9 \2 b3 Q9 r8 ^: D: f/ F5 Q: I) P - //debug("fileName %s", fileName.c_str());
8 |! H' I3 f% G6 J7 O" B1 j
$ u- F+ H$ w: D4 U$ I% E) F# i6 f- return make_reg(0, g_sci->_video32->getVMDPlayer().open(fileName, flags));
# b5 _; e O7 ? - 4 E, c5 P: D$ f) |: R9 m6 F
- }
复制代码
! N5 p' H' r' a/ q2 o
3 ^# Y7 D% {* T9 n% M$ @/ a" J# G) c6 w' r/ |( d& E! F9 t( i
|