这个游戏本身是没有字幕的,但是我们可以想办法配上中文字幕。
( V) N- y, Z1 I& O! `和幽魂1类似,在游戏的DUK下,有很多*.DUK文件,这些文件可以用改名为*.AVI的方式实现播放。' ~ q% W) k( G1 R/ b
6 ]2 ?4 l. Q, O+ u7 Q) i5 H+ S在下边这个文件中,可以抓取游戏正在使用哪个DUK文件。
; I e+ X9 `/ \+ a: S( R下一步,只要找到游戏正在播放的frameno,就能有办法输出字幕。5 l8 Z* p6 v, C
$ Q6 a( u* u+ Y7 n5 Y1 i抓取resourceId的代码1 ^5 n4 @% S9 [; T5 J; X6 }
- \engines\sci\engine\kvideo.cpp) ^4 f/ d# f2 g% `; s& z
- reg_t kPlayDuckOpen(EngineState *s, int argc, reg_t *argv) {
5 L% c3 \! v) O% I2 M" Q) s - const GuiResourceId resourceId = argv[0].toUint16();
' G k9 u8 s' I" f, F' m3 g - const int displayMode = argv[1].toSint16();
c$ K# B1 N8 S7 ^' N% J3 b3 S - const int16 x = argv[2].toSint16();
E% X" o' a( o - const int16 y = argv[3].toSint16();
" D3 K/ g# n1 m- O - // argv[4] is a cache size argument that we do not use
) K7 I& n# ^* U3 q; j; y - g_sci->_video32->getDuckPlayer().open(resourceId, displayMode, x, y);7 f& q9 x. \; G1 f6 i( f+ u
- . o8 ~+ K( U! Q" [1 }
- //by shane007 for test
/ {& I+ T. N; |) q' S - debug("resourceId %i", resourceId);1 y5 U7 _$ u" S
- " V1 ^5 k: T+ {0 O' v/ x
- return NULL_REG;9 L' E; ]: O4 _4 F+ r2 N
- }
复制代码
, J# [% O4 @# `, ?& i+ V3 ~
4 h8 U! A- c, y9 i; @3 B% P |