这个游戏本身是没有字幕的,但是我们可以想办法配上中文字幕。7 U9 T( m% d5 D# E9 p5 F# R
在游戏的VMD下,有很多*.VMD文件,这些文件可以用HD Video Converter Factory Pro这个软件转换成MP4格式。
% C2 B8 m- ~2 S; k
7 p3 g9 U( B+ ?3 p, w在下边这个文件中,可以抓取游戏正在使用哪个VMD文件。
1 y# i6 ]3 [6 Q4 X下一步,只要找到游戏正在播放的frameno,就能有办法输出字幕。4 ?: Z# t5 m- T9 l! `
研究到此时,出了一个怪问题,游戏在打开*.VMD文件变成无法播放了,讲scummvm和游戏都进行了还原,还是老样子。
: O5 F$ w* B& s3 I先记录一下,后续继续解决。7 D+ g: s9 m7 L3 _3 O/ Z
/ S" n4 S. ~- {, R抓取文件名的代码
+ g, k; j. ~; H4 }1 S- reg_t kPlayVMDOpen(EngineState *s, int argc, reg_t *argv) {
; ^/ L$ ?5 [# t - const Common::String fileName = s->_segMan->getString(argv[0]);: p, p; n5 D/ ^( v: |. t( V: c/ d1 H
- // argv[1] is an optional cache size argument which we do not use' m3 W2 W- F, j$ I& H. ^7 j6 e
- // const uint16 cacheSize = argc > 1 ? CLIP<int16>(argv[1].toSint16(), 16, 1024) : 0;9 _7 R8 m! v6 s J
- const VMDPlayer::OpenFlags flags = argc > 2 ? (VMDPlayer::OpenFlags)argv[2].toUint16() : VMDPlayer::kOpenFlagNone;8 T# H4 U6 Y7 S2 G. K. T5 T, R
- 4 n2 n9 u: C ~5 B7 t
- //by shane007 for test
9 ~. l) c$ _% z0 r - //debug("fileName %s", fileName.c_str());5 w1 Q/ X, p- L& {2 [
- ' q% ?3 f1 U. J4 O, N
- return make_reg(0, g_sci->_video32->getVMDPlayer().open(fileName, flags));
1 W" W) B- m- J
: P; \# Q4 n4 _9 T& P, E; N- }
复制代码
. x% W+ ^( k# e H9 [ F2 o6 A9 D7 S; B; o7 R! I" R
$ h1 X2 q T/ b+ J2 f* [
|