这个游戏本身是没有字幕的,但是我们可以想办法配上中文字幕。3 U7 U# ~, d; _) h2 y$ W/ ?
在游戏的VMD下,有很多*.VMD文件,这些文件可以用HD Video Converter Factory Pro这个软件转换成MP4格式。
& Y" b- G1 ]. E# i( @( B
& {+ C# V4 e) z; p/ @: ?" Q在下边这个文件中,可以抓取游戏正在使用哪个VMD文件。
, S% a1 G+ E: u7 q6 Z7 q. E下一步,只要找到游戏正在播放的frameno,就能有办法输出字幕。
. ]7 m8 K- J' {6 j2 P研究到此时,出了一个怪问题,游戏在打开*.VMD文件变成无法播放了,讲scummvm和游戏都进行了还原,还是老样子。
& j% |& Z3 s/ Y先记录一下,后续继续解决。
3 b- J5 A6 D0 Z5 g0 L1 U$ t" Z5 P* h) M' N. O
抓取文件名的代码
) ^& {3 Y) k. U1 B, |" t- reg_t kPlayVMDOpen(EngineState *s, int argc, reg_t *argv) {/ _7 R5 T) E8 J! ~$ D
- const Common::String fileName = s->_segMan->getString(argv[0]);
2 _8 O' ~. {( [; z* t7 H. @ - // argv[1] is an optional cache size argument which we do not use
W3 _0 o6 J; e! X - // const uint16 cacheSize = argc > 1 ? CLIP<int16>(argv[1].toSint16(), 16, 1024) : 0;
/ ^: v, L& l: R! K( @' S' I - const VMDPlayer::OpenFlags flags = argc > 2 ? (VMDPlayer::OpenFlags)argv[2].toUint16() : VMDPlayer::kOpenFlagNone;
7 H! `( P( b3 H& [+ {% [7 D. U; N9 o
6 j9 p, b$ W |3 ]5 Q9 }3 k- //by shane007 for test8 B2 ^6 E5 s S# v5 n- `
- //debug("fileName %s", fileName.c_str());
% q' c% l0 o Z2 M2 f' r8 S - / X: ~9 i m! I( A+ f8 q' w8 \
- return make_reg(0, g_sci->_video32->getVMDPlayer().open(fileName, flags));
+ {' [% P9 z, T6 a
" d3 C. B# q8 O3 ^ l! r- }
复制代码
; P5 u) p/ G% B( X6 y, Y& ~. i2 e; m. Z* m+ k7 M. ?
; d& n% z! C) }3 A) S |