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

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

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

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

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

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

以下这个本论坛的下载贴中,由于有个字符串在中文系统中不能正常显示,导致游戏不能正常 运行。
  E  n1 _0 K4 u0 A% k修道院:导演剪辑版(The Abbey: Director's cut)
. c7 n0 V9 ]2 I8 B- Whttps://www.chinaavg.com/forum.php?mod=viewthread&tid=147967
  W. [  R( F3 L) C& U' ~/ @0 _0 y: O- r. m% o7 w
具体信息可以参考Messages.log。修改正确后的字符串为Tomas。0 l0 j+ u4 |+ b2 A, ]" T* Q6 @
修改处
( u) h6 {' |8 C9 K6 _《1》以下文件的内容* _& g. [# |- \, W1 x/ F
\The Abbey Directors Cut\English\Data\Game\Game.xmb  I, X" D- o0 U7 K
《2》所有游戏的文件和目录名,只要含有那个字符串的都要修改为Tomas
& W/ ]) V! G" [: J3 i1 h    比如\English\Data\Models\Tomas
: x; W' q9 s' Q+ l& _* F* @
! O$ ?7 a4 I, b2 r) Z; z1 e$ d- q. \用ida pro 进行简单分析后,确定游戏是directx9的游戏,
; J1 c% [! x" Y; M" O
  1. .text:004F8D3B                 push    20h             ; SDKVersion; U: i/ B2 E+ x
  2. .text:004F8D3D                 mov     esi, ecx
    1 ~* P3 y2 d: e1 ~! ?
  3. .text:004F8D3F                 call    Direct3DCreate9
复制代码

/ ~2 T2 {; M2 G
6 h! {( r% e& s7 s
9 N& v( [1 Y4 [7 _, _* G5 n& K播放动画的时候,好像用了direct draw
6 V2 |0 J' h" L& o$ e0 f7 a
  1. .text:004F4200 ; int __thiscall CVideo::Create(CVideo *__hidden this)
    , I+ V3 K+ R: V
  2. .text:004F4200                 public ?Create@CVideo@@QAEHXZ  @# _+ Z5 S; {* @1 c- c: E
  3. .text:004F4200 ?Create@CVideo@@QAEHXZ proc near        ; CODE XREF: CSystem::Create(HINSTANCE__ *,int,char *,char *,CWorld *,char const *)+380↑p
    - D/ z5 k! K; {5 n; D2 y
  4. .text:004F4200                                         ; DATA XREF: .rdata:off_5C6668↓o9 y% e/ t2 B/ u3 T' G9 w
  5. .text:004F4200                 push    esi
    1 J/ B) {; Z. U- f% v# X% H4 x  @
  6. .text:004F4201                 push    edi
    4 ?8 Z! z0 |+ j8 H- i6 R
  7. .text:004F4202                 mov     esi, ecx+ r9 {# c7 u. s. \& H# J1 U5 U
  8. .text:004F4204                 push    0               ; pUnkOuter
    8 `5 A" {* L+ P1 a
  9. .text:004F4206                 lea     edi, [esi+54h]
    + a5 n0 Z* ]4 g7 U7 J' C
  10. .text:004F4209                 push    edi             ; lplpDD$ u& Q5 `0 ?9 R
  11. .text:004F420A                 push    0               ; lpGUID
    , ]3 U1 L, u2 V) T+ X3 b! A3 G) H  u$ r
  12. .text:004F420C                 mov     byte ptr [esi+79h], 08 i% F4 k5 A+ d; ]5 b; i1 j
  13. .text:004F4210                 call    DirectDrawCreate
复制代码

2 h# Q! b2 K4 ]: j
9 w5 |0 S$ b8 E1 W+ I9 n3 j7 @0 Q) f8 ?1 X0 Z. m
本游戏可以窗口化,比较容易调试。
/ e5 g; @. p: M找一句画面有的字符串the son of ,找到显示函数。$ ~: W* h' v) Z2 Z" ^
以后我们用自己的函数替换它即可。
0 k, s/ X  ?( ~5 g
/ _8 W; i; I# `4 P8 W8 e对话字幕断点处) H  I0 q; Q* \
004B5AF3  |> /8A08          /mov     cl, byte ptr [eax]- f* ?! c" \0 s* V3 ^: \5 F

% b" X; y6 b( l: h3 \1 r! f" m5 n6 b, v7 X, T# _
char __thiscall CFadingText::Set( R& E. u) y$ C/ Z, i
(CFadingText *this, char *a2, int a3, int a4, bool a5, bool a6)
4 V8 a1 {3 j& [- G: j$ ?
5 ~+ B& A: v" M! C查了以下调用它的地方,有10多个,看来这个游戏所有地方的字幕应该都是调用这个显示函数了,
" n/ y) S+ C  @$ b% K4 ~
5 `. h0 x8 b2 J( `4 M以下是一部分
- E$ L5 E5 y$ t' E+ z7 y7 s
  1. CGLCLayer::Render+97,
    - [# _" j0 ^. k, |$ l: c' r9 L
  2. CGameInterface::ShowSentence+2C, 5 `5 H2 U  W9 h0 f* j* ^- M
  3. CGameInterface::CloseDiary+1A,
    2 N$ ~; @3 W. ]$ e
  4. CGameInterface::SetDiaryText+6A, ( Z$ y- b! J4 Y
  5. CGameInterface::OpenMainMenu+17,
    : j  L" c  r1 k
  6. CGameInterface::AddMenu+67,
    9 s' @1 o/ j! ?' c, _; y2 g
  7. CGameInterface::OnMenuPressed+0AB, M)
    ) L- S* Q. _5 p1 k2 w
  8. TheAbbey.CFadingText::Set
复制代码
5 @) h* x% r$ {1 |+ I
& j, E3 B4 I$ @- _

6 S4 r2 v& B( c5 ?0 |# n, ^2 M5 F5 d; z; @: l

1 K" d0 C8 x+ u3 Q$ L+ u
分享到:  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日,是全球华人共同的冒险解谜类游戏家园。我们致力于提供各类冒险游戏资讯供大家学习交流。本站所有资源均不用于商业用途。

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