冒险解谜游戏中文网 ChinaAVG

标题: 【Scummvm汉化 #4】 Phantasmagoria 幽魂#1 字幕篇 [打印本页]

作者: shane007    时间: 2023-8-14 17:36
标题: 【Scummvm汉化 #4】 Phantasmagoria 幽魂#1 字幕篇
这个游戏本身是没有字幕的,但是我们可以想办法配上中文字幕。/ W; q" u8 t8 U$ h& v0 Y; e
在游戏的VMD下,有很多*.VMD文件,这些文件可以用HD Video Converter Factory Pro这个软件转换成MP4格式。  j! Y& J  x: m1 r5 ]! t
, d: I/ {/ r8 [. T% r4 B
在下边这个文件中,可以抓取游戏正在使用哪个VMD文件。: |) P9 J. u2 N6 v/ @7 W4 N
下一步,只要找到游戏正在播放的frameno,就能有办法输出字幕。
6 V: s' }3 I+ M; ~研究到此时,出了一个怪问题,游戏在打开*.VMD文件变成无法播放了,讲scummvm和游戏都进行了还原,还是老样子。
/ e  {- L8 M. L  m先记录一下,后续继续解决。
) N# }& S2 m8 l9 W3 v! G
/ I& n. a3 \* m8 D抓取文件名的代码" B2 e5 l1 G$ i/ Y' R# q3 V) y
  1. reg_t kPlayVMDOpen(EngineState *s, int argc, reg_t *argv) {/ n8 M& t5 [0 e5 `# g: b
  2.         const Common::String fileName = s->_segMan->getString(argv[0]);
    . s0 s& Z: J* Q/ l. n, K9 V
  3.         // argv[1] is an optional cache size argument which we do not use
    & O# {4 R/ ]4 T- o9 w9 O9 y
  4.         // const uint16 cacheSize = argc > 1 ? CLIP<int16>(argv[1].toSint16(), 16, 1024) : 0;+ H0 t5 X: d+ g9 D! S, W
  5.         const VMDPlayer::OpenFlags flags = argc > 2 ? (VMDPlayer::OpenFlags)argv[2].toUint16() : VMDPlayer::kOpenFlagNone;
    9 _2 Y, a' L( M! `

  6.   R6 @4 E: y1 g0 j  c
  7.         //by shane007 for test+ A. _% a" g0 z* \/ s
  8.         //debug("fileName %s", fileName.c_str());5 k; y7 u! d2 f/ e3 G

  9. 3 |, x$ E, P7 I
  10.         return make_reg(0, g_sci->_video32->getVMDPlayer().open(fileName, flags));$ @6 C( t0 D+ k" @" I/ D

  11. 6 J: e8 {' k2 m% d
  12. }
复制代码
5 m' r/ n' |% a; i4 Z

: c0 ]& C, H3 l" m7 Y0 {% e
0 d: \: z0 C( \" `* d' h" y! M" Y




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