这个游戏本身是没有字幕的,但是我们可以想办法配上中文字幕。
2 A, n7 }, {4 L6 ?9 L" ?和幽魂1类似,在游戏的DUK下,有很多*.DUK文件,这些文件可以用改名为*.AVI的方式实现播放。6 p [" |1 z! o9 U
; m$ N/ h) ~) V
在下边这个文件中,可以抓取游戏正在使用哪个DUK文件。
[$ z& R8 P9 Z( Q( P; b' m下一步,只要找到游戏正在播放的frameno,就能有办法输出字幕。: n* U8 r9 z" B# b" v8 F3 \9 W0 w
! R& a- `/ w2 e抓取resourceId的代码
5 K/ \7 K+ |, u- \engines\sci\engine\kvideo.cpp& @4 @& a3 T# ^$ u$ y
- reg_t kPlayDuckOpen(EngineState *s, int argc, reg_t *argv) {" b2 D% A! [; C8 r- }
- const GuiResourceId resourceId = argv[0].toUint16();7 n) I9 k' }) n' T6 Y
- const int displayMode = argv[1].toSint16();" X! b+ c" c. Z) \
- const int16 x = argv[2].toSint16();% X$ i) b. ~/ z
- const int16 y = argv[3].toSint16();
0 Q9 a1 O: F+ p. r7 r4 n" l1 o: g - // argv[4] is a cache size argument that we do not use
0 f4 l) C* B3 d+ T - g_sci->_video32->getDuckPlayer().open(resourceId, displayMode, x, y);
4 S* N" A& H' J! T; {' A5 N
% V+ I# ?6 F: S2 v# `. h$ J- //by shane007 for test
9 u& x; |3 T C/ q) z4 Q - debug("resourceId %i", resourceId);' P6 O; g$ X3 x$ M
- 6 K% ^ a' S& j. J+ G7 u& @) [
- return NULL_REG;
; h: e% J m$ O' o1 e - }
复制代码
, b1 K9 c; Y, d) j0 G0 `1 U' f9 A9 k4 S# p; H% J+ U6 w7 A: y3 e
|