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

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

[复制链接]
查看: 391|回复: 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 字幕篇

这个游戏本身是没有字幕的,但是我们可以想办法配上中文字幕。
* G5 D( E" H& \3 d% b8 o+ D和幽魂1类似,在游戏的DUK下,有很多*.DUK文件,这些文件可以用改名为*.AVI的方式实现播放。# \3 m. Z" u; j' R5 r

% @, n: c- s/ p" x) w在下边这个文件中,可以抓取游戏正在使用哪个DUK文件。
& R( v7 t2 E1 o6 c( f+ Q下一步,只要找到游戏正在播放的frameno,就能有办法输出字幕。6 f0 {3 L8 k6 E8 ]5 }2 e1 k2 ^

0 U- F  E" ?2 X7 t6 }抓取resourceId的代码" C) U0 K# X: y
  1. \engines\sci\engine\kvideo.cpp3 M# I- [9 U$ x& e, y. t3 E
  2. reg_t kPlayDuckOpen(EngineState *s, int argc, reg_t *argv) {( y" A+ D7 A1 v2 _
  3.         const GuiResourceId resourceId = argv[0].toUint16();% e) n+ ^+ E: `, w. x& y# X
  4.         const int displayMode = argv[1].toSint16();- U) F( e1 s$ q  ]
  5.         const int16 x = argv[2].toSint16();  K. [$ b! U2 n" b* s- k- V/ p
  6.         const int16 y = argv[3].toSint16();7 @) R7 C5 F* P9 S( }! {
  7.         // argv[4] is a cache size argument that we do not use
    4 k* J7 ~7 C6 D
  8.         g_sci->_video32->getDuckPlayer().open(resourceId, displayMode, x, y);# u7 [( s4 q1 c
  9. ' D- j- L/ }& k0 r# J/ ~( k- A
  10.         //by shane007 for test
    9 h* s7 O8 y# l1 R: A; S& k" r* p
  11.         debug("resourceId %i", resourceId);
    4 j; k2 K, F# z' E$ U5 `- l
  12. 2 K+ b; [. z3 w7 A* @
  13.         return NULL_REG;
    ! U9 w( K$ J& A# u- u
  14. }
复制代码
5 g& a) Z( M  S9 `$ {
  ~8 z+ J5 l6 v0 B1 ~
分享到:  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日,是全球华人共同的冒险解谜类游戏家园。我们致力于提供各类冒险游戏资讯供大家学习交流。本站所有资源均不用于商业用途。

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