这个游戏本身是没有字幕的,但是我们可以想办法配上中文字幕。. |" ?! s# r/ [# Q6 P
在游戏的VMD下,有很多*.VMD文件,这些文件可以用HD Video Converter Factory Pro这个软件转换成MP4格式。
/ T( P ^% y% \' y7 |+ r) k0 C# L* ]
在下边这个文件中,可以抓取游戏正在使用哪个VMD文件。
/ m+ i. Z4 l+ S% p7 Q下一步,只要找到游戏正在播放的frameno,就能有办法输出字幕。
" F+ t2 w+ ^ [ ^! ^% T+ v% }研究到此时,出了一个怪问题,游戏在打开*.VMD文件变成无法播放了,讲scummvm和游戏都进行了还原,还是老样子。2 M- f; Y, k5 D
先记录一下,后续继续解决。
) m& M0 _/ \1 { z: f" ~" G9 B2 H. I7 C" B( K
抓取文件名的代码. I: G( l. Q7 @
- reg_t kPlayVMDOpen(EngineState *s, int argc, reg_t *argv) {
; r5 Y/ l# ^) D2 C" ^ g# x - const Common::String fileName = s->_segMan->getString(argv[0]);
; C2 J( B/ E8 ?: A9 b* F - // argv[1] is an optional cache size argument which we do not use# o/ [: B2 V! A
- // const uint16 cacheSize = argc > 1 ? CLIP<int16>(argv[1].toSint16(), 16, 1024) : 0;& p, N2 [/ K2 ^ P \/ s/ H, J) J
- const VMDPlayer::OpenFlags flags = argc > 2 ? (VMDPlayer::OpenFlags)argv[2].toUint16() : VMDPlayer::kOpenFlagNone;
( B2 l# Y" ]/ q
9 u3 t9 e( r! U- //by shane007 for test9 D3 Z: Z3 T% e; B! U& o" R
- //debug("fileName %s", fileName.c_str());5 _! n& p% `2 u/ U6 A: H
- * g/ O; {* W1 B) ~
- return make_reg(0, g_sci->_video32->getVMDPlayer().open(fileName, flags));
; b' E, {7 v$ z$ H
; T# D: W1 n: H _- }
复制代码
# ]" G1 S9 {* O5 A6 Z+ e6 p' u N4 o7 D6 c, d6 N0 `
% ^, G5 L4 A" y/ B2 T4 O) \ |