这个游戏本身是没有字幕的,但是我们可以想办法配上中文字幕。
1 ~1 D4 X/ s6 H7 u7 U8 t和幽魂1类似,在游戏的DUK下,有很多*.DUK文件,这些文件可以用改名为*.AVI的方式实现播放。$ H1 l1 c5 B2 _. a+ M0 _
6 |8 U9 J; \3 U K' u
在下边这个文件中,可以抓取游戏正在使用哪个DUK文件。+ L" X) _3 d8 y5 K. k$ d
下一步,只要找到游戏正在播放的frameno,就能有办法输出字幕。
3 M# C2 T0 v! Y0 L) C# n
0 T& V& M0 i: p5 ]- [, A抓取resourceId的代码
# ?+ l9 @* p9 w5 ?! w- \engines\sci\engine\kvideo.cpp& n$ Y0 E8 H7 s& ^
- reg_t kPlayDuckOpen(EngineState *s, int argc, reg_t *argv) {0 P7 r" g" B7 O/ ^* l
- const GuiResourceId resourceId = argv[0].toUint16();) n6 T" t# V& M7 V5 R( B- J
- const int displayMode = argv[1].toSint16();
/ C7 r: l6 B" K2 U - const int16 x = argv[2].toSint16();6 T/ J) i! J. X! c! B
- const int16 y = argv[3].toSint16();! W) V) O! f* b# w7 ^* g
- // argv[4] is a cache size argument that we do not use+ k: S# F0 z, ]/ x. l
- g_sci->_video32->getDuckPlayer().open(resourceId, displayMode, x, y);
5 Z8 P! [0 @- S3 Y, y' o, j6 D& B' o
$ ?! ~3 ^% H( Y( A. P8 H- //by shane007 for test
4 r& m; ?3 Y9 Z9 _% v - debug("resourceId %i", resourceId);. b3 r) F8 w1 [
- ! {0 z& {$ X$ ^5 G; t" L
- return NULL_REG;0 P4 m8 A$ Z" l1 ]
- }
复制代码 : H% n- F, E' J% T7 i7 D
& G7 b1 T3 }3 G5 m
|