这个游戏本身是没有字幕的,但是我们可以想办法配上中文字幕。, g; b) J+ q. V/ X9 s0 i1 S# P
在游戏的VMD下,有很多*.VMD文件,这些文件可以用HD Video Converter Factory Pro这个软件转换成MP4格式。
% n5 |: a8 A) q# ~% H- @1 x2 t, y9 I' `7 H
在下边这个文件中,可以抓取游戏正在使用哪个VMD文件。
/ i1 _) o! b9 P8 R" F8 \- p下一步,只要找到游戏正在播放的frameno,就能有办法输出字幕。" J1 S5 M9 I# I: c0 q: I! h
研究到此时,出了一个怪问题,游戏在打开*.VMD文件变成无法播放了,讲scummvm和游戏都进行了还原,还是老样子。
) w4 D5 w; ]. p先记录一下,后续继续解决。
+ u. b+ V) c& v6 ~* v3 p
; l. Y; q% q, S q抓取文件名的代码
7 }4 R3 Z/ J! x: ?3 ^7 S$ S- reg_t kPlayVMDOpen(EngineState *s, int argc, reg_t *argv) {
3 B/ u4 \6 n3 U4 z1 i( u8 u5 d - const Common::String fileName = s->_segMan->getString(argv[0]);/ H8 Y& J& e& N9 M
- // argv[1] is an optional cache size argument which we do not use- x7 `. Z, z+ q+ \1 {- Y0 B6 F
- // const uint16 cacheSize = argc > 1 ? CLIP<int16>(argv[1].toSint16(), 16, 1024) : 0;
. J2 x/ Y9 P4 @ - const VMDPlayer::OpenFlags flags = argc > 2 ? (VMDPlayer::OpenFlags)argv[2].toUint16() : VMDPlayer::kOpenFlagNone;
# `, |/ I1 J1 B) C2 Q9 f+ p8 h
: r M' s Y B$ N- //by shane007 for test0 _: R- o: P3 u3 G3 i! T, k
- //debug("fileName %s", fileName.c_str());2 I3 Z0 d& @! k" r; r5 \
- " Y7 t1 A- @; @6 Q, ]
- return make_reg(0, g_sci->_video32->getVMDPlayer().open(fileName, flags));. Q) H$ B! W5 o$ c5 T2 {& m7 _9 J
8 U" w+ G) b% i# E2 q2 h% M- }
复制代码
8 j5 X6 A! U+ `2 Q- p# R
* W7 c( I+ g2 b. f; H
0 Y4 E; y5 i! I; I6 B2 G |