冒险解谜游戏中文网 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 字幕篇
这个游戏本身是没有字幕的,但是我们可以想办法配上中文字幕。% f" z0 c6 t1 `3 l3 U5 h
和幽魂1类似,在游戏的DUK下,有很多*.DUK文件,这些文件可以用改名为*.AVI的方式实现播放。* I" q' G; h( A. z/ d+ S
2 B  {; @6 L/ w
在下边这个文件中,可以抓取游戏正在使用哪个DUK文件。+ G! q0 r1 P, f% ~
下一步,只要找到游戏正在播放的frameno,就能有办法输出字幕。
" X6 M  F$ f7 \4 G- w7 T# L: V  b7 h
抓取resourceId的代码" x: M6 o2 F! t. h
  1. \engines\sci\engine\kvideo.cpp
    4 W; q" T3 b( |" Y, {
  2. reg_t kPlayDuckOpen(EngineState *s, int argc, reg_t *argv) {% n! J; G4 j8 T) H: m7 c" h
  3.         const GuiResourceId resourceId = argv[0].toUint16();+ @0 j' Y$ G+ u3 G* q! }& c* F1 S, p% p
  4.         const int displayMode = argv[1].toSint16();
    * b% L. a5 g- k& {5 n; w" f
  5.         const int16 x = argv[2].toSint16();+ S8 a$ v1 |! `! w- t4 W& S
  6.         const int16 y = argv[3].toSint16();
    1 Z4 f! i0 e  {5 W- d) i
  7.         // argv[4] is a cache size argument that we do not use
    4 x! Q$ d' K4 L: _9 s- p
  8.         g_sci->_video32->getDuckPlayer().open(resourceId, displayMode, x, y);
    3 z' @) |5 u& c! {; l7 T8 |

  9. & u1 d" o2 V5 X' o
  10.         //by shane007 for test/ u( h; U! @2 U+ n: j* U
  11.         debug("resourceId %i", resourceId);
    - [" i  O$ F: W% [. U, P+ m
  12. ! X! e1 \5 S' e3 f
  13.         return NULL_REG;0 L+ t2 \1 r# `" m1 C9 A
  14. }
复制代码

. G9 [. K0 g. t2 D+ r" V6 L$ k9 @3 A' V





欢迎光临 冒险解谜游戏中文网 ChinaAVG (https://chinaavg.com/) Powered by Discuz! X3.2