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

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

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

这个游戏本身是没有字幕的,但是我们可以想办法配上中文字幕。
/ ~: c1 s" I- d' Q和幽魂1类似,在游戏的DUK下,有很多*.DUK文件,这些文件可以用改名为*.AVI的方式实现播放。
7 J: {( t( r& U0 ^% @
3 _/ M; ?7 T/ I! x4 }3 B; O  Q+ N) p0 Q在下边这个文件中,可以抓取游戏正在使用哪个DUK文件。" [, m8 F, f; ^  f- ^, o; I
下一步,只要找到游戏正在播放的frameno,就能有办法输出字幕。+ j$ s4 f% I, o- a

1 ?9 X# T4 n& A/ h) q抓取resourceId的代码
3 u1 G) U- q+ U; {- Z
  1. \engines\sci\engine\kvideo.cpp5 u) a( Q9 l9 d; o$ c
  2. reg_t kPlayDuckOpen(EngineState *s, int argc, reg_t *argv) {
    1 J6 L3 ^9 ?* @+ u. [; \3 T
  3.         const GuiResourceId resourceId = argv[0].toUint16();
    - r+ ~' ]" ^8 u  U3 T
  4.         const int displayMode = argv[1].toSint16();# U: z) ]8 O( e8 u0 q1 L9 t8 e
  5.         const int16 x = argv[2].toSint16();7 R$ B$ Z# n; q6 O; J, _+ d
  6.         const int16 y = argv[3].toSint16();
    5 T5 G$ r% G, H2 h7 h$ }8 D+ _6 L
  7.         // argv[4] is a cache size argument that we do not use5 S$ K4 b* U0 _# D/ H) m
  8.         g_sci->_video32->getDuckPlayer().open(resourceId, displayMode, x, y);1 u. \0 q8 M2 m) h% U9 x
  9. + Y: p4 X* ~9 b1 @  x
  10.         //by shane007 for test+ e/ w+ V' s0 z% J1 T
  11.         debug("resourceId %i", resourceId);* B7 Y# q& m0 n2 k/ R9 \

  12. 3 ]1 u. T% K( o, W( T8 d
  13.         return NULL_REG;- N2 A: C+ f  [" L& [1 @) g& P
  14. }
复制代码

6 Y3 m2 ?. N( [; n) D; K; h
9 I) j7 l' |1 L+ M5 @& y
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 很美好很美好1 很差劲很差劲
回复

使用道具 举报

高级模式
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日,是全球华人共同的冒险解谜类游戏家园。我们致力于提供各类冒险游戏资讯供大家学习交流。本站所有资源均不用于商业用途。

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