这个游戏本身是没有字幕的,但是我们可以想办法配上中文字幕。( L1 c; h+ _9 B
和幽魂1类似,在游戏的DUK下,有很多*.DUK文件,这些文件可以用改名为*.AVI的方式实现播放。4 C0 J9 R3 H9 U# M: ~$ Y( B, c
; o- ~& O- j6 Q5 @
在下边这个文件中,可以抓取游戏正在使用哪个DUK文件。
9 {" {5 K" I# }( f/ j下一步,只要找到游戏正在播放的frameno,就能有办法输出字幕。
7 q, y* t6 W$ o# B& A6 r
, Y! L$ `. z0 u9 }% b7 b抓取resourceId的代码% h& u' n1 u1 C6 q+ P) \
- \engines\sci\engine\kvideo.cpp$ W7 O- k' S% h+ u7 h( S) s
- reg_t kPlayDuckOpen(EngineState *s, int argc, reg_t *argv) {
% T5 O) X+ e3 B0 ?5 _ - const GuiResourceId resourceId = argv[0].toUint16();
' s0 C8 N3 o$ S# f - const int displayMode = argv[1].toSint16();
. M) l: R7 c! V6 z; y - const int16 x = argv[2].toSint16();
& I) K! Y: J L& {4 P - const int16 y = argv[3].toSint16();& x" d$ ^# C/ {/ Z- R( j% }. O& O# n, e
- // argv[4] is a cache size argument that we do not use. N) X: P: A6 f" [+ T
- g_sci->_video32->getDuckPlayer().open(resourceId, displayMode, x, y);
3 ^9 l+ _# z$ e. Q - 9 M% F) \, p7 V6 W* o. j, i7 o6 W
- //by shane007 for test
' c( Z! t' A5 }) G' J - debug("resourceId %i", resourceId);+ D- n/ R" F# e' F) i) U
- % M0 H/ ?6 b0 o7 E$ S
- return NULL_REG;" C1 {" b! l# c# U1 E
- }
复制代码 9 T1 y8 \& {0 _0 l9 L0 z
/ h/ W3 i z6 F1 T, n9 ]
|