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

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

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

这个游戏本身是没有字幕的,但是我们可以想办法配上中文字幕。4 h3 |8 Z; h" y5 ^4 T
和幽魂1类似,在游戏的DUK下,有很多*.DUK文件,这些文件可以用改名为*.AVI的方式实现播放。1 n2 T7 G" l. d6 x6 x; x
- i' z5 M9 U3 {
在下边这个文件中,可以抓取游戏正在使用哪个DUK文件。' Y( u) b7 h- z( X+ V/ f' ?" \
下一步,只要找到游戏正在播放的frameno,就能有办法输出字幕。
( l# p8 _, T+ ^, |, I* {3 q+ A9 W9 c0 M
抓取resourceId的代码
' D9 \" S: A, w9 Q- J( j
  1. \engines\sci\engine\kvideo.cpp
    7 ]4 m5 }  k2 @' J. W; Y5 Z* p
  2. reg_t kPlayDuckOpen(EngineState *s, int argc, reg_t *argv) {; m1 |& C' b1 s0 i" G8 J0 D, Q8 e
  3.         const GuiResourceId resourceId = argv[0].toUint16();: n3 ~6 o/ c0 c6 }0 \
  4.         const int displayMode = argv[1].toSint16();
    2 @8 D0 y: C" c% p, v
  5.         const int16 x = argv[2].toSint16();
    ( I* b& A+ T1 l" u2 F4 {' u9 |
  6.         const int16 y = argv[3].toSint16();9 M! [- c" [, N+ c
  7.         // argv[4] is a cache size argument that we do not use% b/ @/ K7 y! b6 Z7 `, `
  8.         g_sci->_video32->getDuckPlayer().open(resourceId, displayMode, x, y);6 _) }; ^; k9 c. G8 w2 J
  9. $ c, n! e+ F$ N1 g
  10.         //by shane007 for test+ O/ I, D% ]2 Y/ k4 n4 H5 t: |8 F
  11.         debug("resourceId %i", resourceId);+ Y; ]% f+ a* k" u' A. P  `- T

  12. 6 }" x( u8 D2 v; }' T) B" E- G
  13.         return NULL_REG;
    ! F! `$ x5 D/ D2 |1 u, p
  14. }
复制代码

8 F+ K: M# D, l$ C9 Y) {( p0 w: b  f4 P$ I$ ]
分享到:  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日,是全球华人共同的冒险解谜类游戏家园。我们致力于提供各类冒险游戏资讯供大家学习交流。本站所有资源均不用于商业用途。

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