冒险解谜游戏中文网 ChinaAVG
标题:
【Scummvm汉化 #5】 Phantasmagoria 2 - A Puzzle of Flesh 幽魂2#1 字幕篇
[打印本页]
作者:
shane007
时间:
2023-8-14 20:51
标题:
【Scummvm汉化 #5】 Phantasmagoria 2 - A Puzzle of Flesh 幽魂2#1 字幕篇
这个游戏本身是没有字幕的,但是我们可以想办法配上中文字幕。
% f" z0 c6 t1 `3 l3 U5 h
和幽魂1类似,在游戏的DUK下,有很多*.DUK文件,这些文件可以用改名为*.AVI的方式实现播放。
* I" q' G; h( A. z/ d+ S
2 B {; @6 L/ w
在下边这个文件中,可以抓取游戏正在使用哪个DUK文件。
+ G! q0 r1 P, f% ~
下一步,只要找到游戏正在播放的frameno,就能有办法输出字幕。
" X6 M F$ f7 \4 G- w
7 T# L: V b7 h
抓取resourceId的代码
" x: M6 o2 F! t. h
\engines\sci\engine\kvideo.cpp
4 W; q" T3 b( |" Y, {
reg_t kPlayDuckOpen(EngineState *s, int argc, reg_t *argv) {
% n! J; G4 j8 T) H: m7 c" h
const GuiResourceId resourceId = argv[0].toUint16();
+ @0 j' Y$ G+ u3 G* q! }& c* F1 S, p% p
const int displayMode = argv[1].toSint16();
* b% L. a5 g- k& {5 n; w" f
const int16 x = argv[2].toSint16();
+ S8 a$ v1 |! `! w- t4 W& S
const int16 y = argv[3].toSint16();
1 Z4 f! i0 e {5 W- d) i
// argv[4] is a cache size argument that we do not use
4 x! Q$ d' K4 L: _9 s- p
g_sci->_video32->getDuckPlayer().open(resourceId, displayMode, x, y);
3 z' @) |5 u& c! {; l7 T8 |
& u1 d" o2 V5 X' o
//by shane007 for test
/ u( h; U! @2 U+ n: j* U
debug("resourceId %i", resourceId);
- [" i O$ F: W% [. U, P+ m
! X! e1 \5 S' e3 f
return NULL_REG;
0 L+ t2 \1 r# `" m1 C9 A
}
复制代码
. G9 [. K0 g. t2 D
+ r" V6 L$ k9 @3 A' V
欢迎光临 冒险解谜游戏中文网 ChinaAVG (https://chinaavg.com/)
Powered by Discuz! X3.2