这个游戏本身是没有字幕的,但是我们可以想办法配上中文字幕。
1 Y# I' ~( H' B) H在游戏的VMD下,有很多*.VMD文件,这些文件可以用HD Video Converter Factory Pro这个软件转换成MP4格式。
8 }; A/ f9 ?. A' d: _4 [: Z V! C6 C: l2 L
在下边这个文件中,可以抓取游戏正在使用哪个VMD文件。7 ^9 v U" [; R6 o/ b
下一步,只要找到游戏正在播放的frameno,就能有办法输出字幕。
, r& H2 C4 G$ c4 R研究到此时,出了一个怪问题,游戏在打开*.VMD文件变成无法播放了,讲scummvm和游戏都进行了还原,还是老样子。+ C! N+ P, X5 W0 U# P! z" e9 [& Y
先记录一下,后续继续解决。' A+ \; c o: [! E$ S* C
- a* v; ]' u& {# v抓取文件名的代码
8 d( N( `& E' F5 w2 V( M, E- reg_t kPlayVMDOpen(EngineState *s, int argc, reg_t *argv) {
0 s+ d3 x6 O2 Z; e( h+ n - const Common::String fileName = s->_segMan->getString(argv[0]);
3 d) T+ U6 [6 \2 N( E/ O - // argv[1] is an optional cache size argument which we do not use3 X/ w# g8 v# M, L2 V
- // const uint16 cacheSize = argc > 1 ? CLIP<int16>(argv[1].toSint16(), 16, 1024) : 0;' S2 M' z3 P) ~' B$ ?
- const VMDPlayer::OpenFlags flags = argc > 2 ? (VMDPlayer::OpenFlags)argv[2].toUint16() : VMDPlayer::kOpenFlagNone;
# _7 p; s, J, a+ `- z
) w2 F( Z {) |% m7 w( P* J5 [- //by shane007 for test
' N2 W" h# D! u+ W - //debug("fileName %s", fileName.c_str());1 l/ Z& t7 p# n, J/ z4 q
- 4 I! P4 S5 j/ Q: n
- return make_reg(0, g_sci->_video32->getVMDPlayer().open(fileName, flags));2 j2 c# x, ]" N* O# S$ H/ P+ e) i
0 m! [# @0 d3 G0 d- h- }
复制代码
, L3 L3 l) \. H: ?0 a
# y+ b C: J l9 X: t) z8 m' k0 p% i( j3 o' p# [
|