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

建议 【Directx9游戏汉化 #1】 修道院:导演剪辑版(The Abbey: Director's cut) 字幕...

[复制链接]
查看: 214|回复: 0
打印 上一主题 下一主题

[建议] 【Directx9游戏汉化 #1】 修道院:导演剪辑版(The Abbey: Director's cut) 字幕...

跳转到指定楼层
楼主
发表于 2023-8-23 14:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

【Directx9游戏汉化 #1】 修道院:导演剪辑版(The Abbey: Director's cut) 字幕...

以下这个本论坛的下载贴中,由于有个字符串在中文系统中不能正常显示,导致游戏不能正常 运行。
9 E5 c/ q+ ]8 j: {  _+ G修道院:导演剪辑版(The Abbey: Director's cut)
8 c9 b# n, l5 F% l5 Nhttps://www.chinaavg.com/forum.php?mod=viewthread&tid=147967
. U8 Y/ ~" o# X  s. z5 {- Y1 t" _$ u2 @* @( O
具体信息可以参考Messages.log。修改正确后的字符串为Tomas。
/ w5 C3 P) l: X: a. K1 Z% N& @; S修改处
: N- u9 ^( G, ?' ^% s6 b《1》以下文件的内容
7 I& H/ F' k1 c9 T- y\The Abbey Directors Cut\English\Data\Game\Game.xmb
. L2 ]) j8 d7 Q) i《2》所有游戏的文件和目录名,只要含有那个字符串的都要修改为Tomas) X$ f: Q3 e  I  Q' x* K7 \
    比如\English\Data\Models\Tomas! A8 ~9 f1 O2 T1 B
0 R2 Y& V7 Y$ P( Z: W5 T
用ida pro 进行简单分析后,确定游戏是directx9的游戏,/ x1 X3 I: k# |
  1. .text:004F8D3B                 push    20h             ; SDKVersion
    " R/ Z6 M# o% d; p2 x! P7 W
  2. .text:004F8D3D                 mov     esi, ecx
    ( L5 q" J7 s$ n$ _
  3. .text:004F8D3F                 call    Direct3DCreate9
复制代码

8 g' W! C" O& ]/ X( F
: q1 Z7 }% ]1 B1 G/ n; [5 A% c+ W7 e
播放动画的时候,好像用了direct draw
9 u) `: ?) g6 l8 Y' P9 k
  1. .text:004F4200 ; int __thiscall CVideo::Create(CVideo *__hidden this)+ N( x# q( @) d. o  S. P
  2. .text:004F4200                 public ?Create@CVideo@@QAEHXZ
    / H' W( Q$ l- n/ }3 ~/ Z
  3. .text:004F4200 ?Create@CVideo@@QAEHXZ proc near        ; CODE XREF: CSystem::Create(HINSTANCE__ *,int,char *,char *,CWorld *,char const *)+380↑p
    3 I9 b- h: E' L' P; a6 O
  4. .text:004F4200                                         ; DATA XREF: .rdata:off_5C6668↓o
    . R4 U/ _( z% w& q2 a8 b
  5. .text:004F4200                 push    esi
    & J( V# ^8 [2 E1 r
  6. .text:004F4201                 push    edi
    : _0 S3 y. a: p( T
  7. .text:004F4202                 mov     esi, ecx0 [/ e  V, `# y/ V1 D8 l% N
  8. .text:004F4204                 push    0               ; pUnkOuter' b" j9 v4 l7 k( U6 R% w
  9. .text:004F4206                 lea     edi, [esi+54h]
    + Z+ p1 @$ X, a2 D% T; }
  10. .text:004F4209                 push    edi             ; lplpDD) U" r6 ]9 ?0 H1 @8 ^- A' G
  11. .text:004F420A                 push    0               ; lpGUID
    5 u# Y. g* C; ?9 Z8 }7 U
  12. .text:004F420C                 mov     byte ptr [esi+79h], 0
    3 A! U- ^: |1 k/ d& Z$ M+ T$ D- H
  13. .text:004F4210                 call    DirectDrawCreate
复制代码
# l2 g3 K! {  ~5 m: e

) }. I$ W$ v! J, ?+ K8 e( N  b& F( w' v( s
本游戏可以窗口化,比较容易调试。
7 K8 `: W4 c: S- Q( y& d2 A$ S找一句画面有的字符串the son of ,找到显示函数。6 o& A, `: S, Z6 r
以后我们用自己的函数替换它即可。
2 o/ j( q, H  p5 _9 h! B: ^5 K$ ~% z+ c! t7 C
对话字幕断点处7 U1 W4 e5 \' k5 e6 u, c% D
004B5AF3  |> /8A08          /mov     cl, byte ptr [eax]
4 H+ B. E3 M9 Q  i! ?8 |2 g
* Z6 O+ `  e' o& T  t) D% Y
3 S. a6 U  X! a! Schar __thiscall CFadingText::Set9 x6 h1 F; I" ?
(CFadingText *this, char *a2, int a3, int a4, bool a5, bool a6)
5 z2 _( n+ r6 p. d$ N4 G+ l, c) D) h: T! R& ^7 R
查了以下调用它的地方,有10多个,看来这个游戏所有地方的字幕应该都是调用这个显示函数了,, L/ O' }% {4 g, H9 j. Q* _" A% t, V
( S- n9 D2 n: V( U0 g3 _
以下是一部分
1 e% F8 X# w- ^+ Z- S3 R4 i
  1. CGLCLayer::Render+97,
    ! a& h' d7 \; n1 }  X# x
  2. CGameInterface::ShowSentence+2C,
    ) {, H! X) J, J. T* z
  3. CGameInterface::CloseDiary+1A,
    # l% O3 d0 R; G
  4. CGameInterface::SetDiaryText+6A, : ?' h) L0 o7 ?  U; a
  5. CGameInterface::OpenMainMenu+17,
    4 C) d! I, \& Z# L" W
  6. CGameInterface::AddMenu+67, 9 c, X. G6 [- j5 }  \
  7. CGameInterface::OnMenuPressed+0AB, M)
    ; U: L8 j7 h' o/ m" L
  8. TheAbbey.CFadingText::Set
复制代码
( e' \2 k  M1 P# _, r
1 Y8 C& ~% Z' O' T4 J. @

4 C' w( V6 ]& |6 c" L
/ x, [0 E6 K8 }; h) B3 v8 y1 ^& n
1 s; `- P, R, X8 g* n
分享到:  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日,是全球华人共同的冒险解谜类游戏家园。我们致力于提供各类冒险游戏资讯供大家学习交流。本站所有资源均不用于商业用途。

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