这个游戏本身是没有字幕的,但是我们可以想办法配上中文字幕。0 L- u( S* f. Y1 N* ]3 Z
在游戏的VMD下,有很多*.VMD文件,这些文件可以用HD Video Converter Factory Pro这个软件转换成MP4格式。! |7 q1 A/ {+ {+ k( Y$ W
: g+ s% S* i/ b! I, f; u7 c2 m8 R Z# p
在下边这个文件中,可以抓取游戏正在使用哪个VMD文件。: E4 m4 Y' |. ~" j" t% k
下一步,只要找到游戏正在播放的frameno,就能有办法输出字幕。
( f# _+ p2 O$ ~" ^( Y1 p0 v- Z研究到此时,出了一个怪问题,游戏在打开*.VMD文件变成无法播放了,讲scummvm和游戏都进行了还原,还是老样子。
" S: p# y# E8 q& h先记录一下,后续继续解决。/ V3 A# P6 a, H& v2 Z9 Q* o
& Z% Z$ S! N' w9 v; n" ]% \
抓取文件名的代码, O6 Q5 D- Q/ r& O% u: j
- reg_t kPlayVMDOpen(EngineState *s, int argc, reg_t *argv) { }) \$ M p- F) b; r. j* \
- const Common::String fileName = s->_segMan->getString(argv[0]);
% X# @+ O8 S) p3 _ - // argv[1] is an optional cache size argument which we do not use9 O- a+ v8 u; M, K4 ~7 v% m
- // const uint16 cacheSize = argc > 1 ? CLIP<int16>(argv[1].toSint16(), 16, 1024) : 0;8 T: d; |$ h" C/ p; T
- const VMDPlayer::OpenFlags flags = argc > 2 ? (VMDPlayer::OpenFlags)argv[2].toUint16() : VMDPlayer::kOpenFlagNone;1 \2 ]- ?) W; K# j( ~
- # a6 @1 U2 ?0 Q x. R0 G) L% P
- //by shane007 for test/ m, r' _2 V0 w
- //debug("fileName %s", fileName.c_str());
% n6 m5 |+ ]& ~, ~6 @
& P/ q4 m' D7 H6 U' A9 r- return make_reg(0, g_sci->_video32->getVMDPlayer().open(fileName, flags));, f8 K: M6 N3 N4 c
C, T" }" b, J% P2 h; c+ q: x) Y- }
复制代码 , V7 z! N( K. @. A+ `! ^
4 [7 |, X/ _3 f' B* A& J# x0 p" E! h# N4 s" M, d- B. I
|