设为首页收藏本站官方微博

其他 【Scummvm汉化 #5】 Phantasmagoria 2 - A Puzzle of Flesh 幽魂2#1 字幕篇

[复制链接]
查看: 392|回复: 0
打印 上一主题 下一主题

[其他] 【Scummvm汉化 #5】 Phantasmagoria 2 - A Puzzle of Flesh 幽魂2#1 字幕篇

跳转到指定楼层
楼主
发表于 2023-8-14 20:51 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

【Scummvm汉化 #5】 Phantasmagoria 2 - A Puzzle of Flesh 幽魂2#1 字幕篇

这个游戏本身是没有字幕的,但是我们可以想办法配上中文字幕。' m! B- c0 b6 h1 O
和幽魂1类似,在游戏的DUK下,有很多*.DUK文件,这些文件可以用改名为*.AVI的方式实现播放。
& s  z2 Q8 x4 s
: r* G4 r3 j# j8 d. O/ n在下边这个文件中,可以抓取游戏正在使用哪个DUK文件。' X, I+ D( r) k* Y8 r/ ~' v
下一步,只要找到游戏正在播放的frameno,就能有办法输出字幕。9 `7 n! i- Z- [" v: t. ^4 H2 H

4 v( D6 D8 L1 d% W% ~抓取resourceId的代码
) ]7 q. N6 A$ U
  1. \engines\sci\engine\kvideo.cpp
    % C; V/ c( p' b$ ?8 K6 ]5 x0 p( f* T
  2. reg_t kPlayDuckOpen(EngineState *s, int argc, reg_t *argv) {
    . N3 h! V2 h8 E' \' c
  3.         const GuiResourceId resourceId = argv[0].toUint16();. c+ o. u6 J' @! s8 q* h* u& ^
  4.         const int displayMode = argv[1].toSint16();
      e: P4 d' O  P: K6 K; R& u8 M
  5.         const int16 x = argv[2].toSint16();! L" |3 u. B% \
  6.         const int16 y = argv[3].toSint16();
    . z4 }5 x  W/ M. x( f- x
  7.         // argv[4] is a cache size argument that we do not use
    , c1 G1 ]$ L0 d" Z, D4 k
  8.         g_sci->_video32->getDuckPlayer().open(resourceId, displayMode, x, y);
    3 ]- g* A5 ]4 i- m6 m/ E# ?
  9. 5 C1 C& ^8 n( U, z- h6 F1 j" I& G- N
  10.         //by shane007 for test
    5 ~1 b( T- v8 D' e* F
  11.         debug("resourceId %i", resourceId);4 z# V: |# R1 S9 L
  12. ; D4 r/ L& B( b, o0 P  X$ a
  13.         return NULL_REG;% n' \( X, B7 P1 G/ p* T
  14. }
复制代码
' _9 R3 w/ X" ^$ N

  Y7 x8 V* t6 i1 O
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

冒险解谜游戏中文网 ChinaAVG

官方微博官方微信号小黑屋 微信玩家群  

(C) ChinaAVG 2004 - 2019 All Right Reserved. Powered by Discuz! X3.2
辽ICP备11008827号 | 桂公网安备 45010702000051号

冒险,与你同在。 冒险解谜游戏中文网ChinaAVG诞生于2004年9月9日,是全球华人共同的冒险解谜类游戏家园。我们致力于提供各类冒险游戏资讯供大家学习交流。本站所有资源均不用于商业用途。

快速回复 返回顶部 返回列表