冒险解谜游戏中文网 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 字幕篇
这个游戏本身是没有字幕的,但是我们可以想办法配上中文字幕。
9 m' _6 T1 {/ E' u. I: b
和幽魂1类似,在游戏的DUK下,有很多*.DUK文件,这些文件可以用改名为*.AVI的方式实现播放。
/ l2 u) t2 L$ K8 L2 z c$ L
! h7 T0 R, z" G6 r) z: ?
在下边这个文件中,可以抓取游戏正在使用哪个DUK文件。
( d9 R' v" F1 C6 y+ a9 G* I0 R4 \
下一步,只要找到游戏正在播放的frameno,就能有办法输出字幕。
7 D6 K3 v) C5 Y
- v: ^0 w- G: w6 }; A) ]# [
抓取resourceId的代码
" O/ }4 ]; f. |# g! Z4 h
\engines\sci\engine\kvideo.cpp
! P2 Y- }, j6 ~; P0 G. F0 e
reg_t kPlayDuckOpen(EngineState *s, int argc, reg_t *argv) {
/ ~/ F% y0 V: x* ?, ?1 u
const GuiResourceId resourceId = argv[0].toUint16();
& V0 `7 ]6 g: I+ K
const int displayMode = argv[1].toSint16();
' @; P" L: j' s
const int16 x = argv[2].toSint16();
& G, u0 S2 x0 q( M
const int16 y = argv[3].toSint16();
4 r' [: v0 N5 u5 y+ M, H
// argv[4] is a cache size argument that we do not use
7 _) Q- C, s$ @1 e- M4 W
g_sci->_video32->getDuckPlayer().open(resourceId, displayMode, x, y);
* \/ l9 O: `; C; d6 O; L9 @) E2 A
- G8 Y# B D$ A' A1 n& [+ `- f
//by shane007 for test
( g$ M% R9 V: W: ^) R+ w7 ?
debug("resourceId %i", resourceId);
' ~4 c3 I- p& l; i' [; F+ d1 L
6 H3 T" O' Q$ [
return NULL_REG;
' q5 U1 c+ P, ?% {' F9 z' Z
}
复制代码
' `/ w3 g! O( L3 @- [: C7 E
0 p/ H: G+ Y5 M
作者:
星之韶华
时间:
2025-4-13 11:32
学习学习一下
欢迎光临 冒险解谜游戏中文网 ChinaAVG (https://chinaavg.com/)
Powered by Discuz! X3.2