这个游戏本身是没有字幕的,但是我们可以想办法配上中文字幕。
: `+ G% m9 y6 y3 `& m和幽魂1类似,在游戏的DUK下,有很多*.DUK文件,这些文件可以用改名为*.AVI的方式实现播放。
/ e" |' x, v9 O6 P* r& L, f; {% e+ J2 o" T' l2 w9 u
在下边这个文件中,可以抓取游戏正在使用哪个DUK文件。
+ M2 E% ^7 s7 `- Z9 N, i8 j' Q下一步,只要找到游戏正在播放的frameno,就能有办法输出字幕。
( x( U. t# A# A" g/ N o- j$ k$ Y
+ a9 Q2 @, j2 B/ E! S& [: B" m- K) y9 {8 S抓取resourceId的代码 J: N5 P$ W" e4 a; u: H K; q
- \engines\sci\engine\kvideo.cpp
+ t% I0 l' P+ `7 T - reg_t kPlayDuckOpen(EngineState *s, int argc, reg_t *argv) {
+ d6 A1 |7 q" b - const GuiResourceId resourceId = argv[0].toUint16();( s" Q5 C9 t* c& ^
- const int displayMode = argv[1].toSint16();
! Q+ V( G8 I8 X* Q$ L - const int16 x = argv[2].toSint16();3 ?% A7 ^3 R5 p# x9 u
- const int16 y = argv[3].toSint16();' f! a! c9 s0 s' u5 n! X
- // argv[4] is a cache size argument that we do not use
$ ~$ w$ k, ]0 K( V& Y - g_sci->_video32->getDuckPlayer().open(resourceId, displayMode, x, y);
; P$ D# e3 Y4 {1 S - 2 b8 @- ?4 h0 H, U
- //by shane007 for test5 [. P% V4 U2 l
- debug("resourceId %i", resourceId);7 g5 g1 I' e2 Z ?- `5 e3 y
6 Y( h0 M) Y8 r/ P( P0 |6 T; v" U- return NULL_REG;
4 V& [# ~4 K8 C - }
复制代码 ' N* X3 q7 N9 `# Y1 K
/ O5 F9 u E" v |