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

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

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

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

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

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

以下这个本论坛的下载贴中,由于有个字符串在中文系统中不能正常显示,导致游戏不能正常 运行。" D7 a" q& V$ }0 n3 j6 g( x
修道院:导演剪辑版(The Abbey: Director's cut)  X5 }5 I% ]$ [- }* A& b
https://www.chinaavg.com/forum.php?mod=viewthread&tid=147967# ?! u" V9 k7 `  |1 `

' h( v( K- }1 j' t  E* l/ e8 J具体信息可以参考Messages.log。修改正确后的字符串为Tomas。
0 v& S+ E. z& B( S. v& {修改处6 Q/ P6 U+ O: f# k0 t6 l
《1》以下文件的内容
6 b  F/ s$ a; N2 I/ U7 x\The Abbey Directors Cut\English\Data\Game\Game.xmb2 |3 ?& F0 s9 X' e3 p5 Q: C
《2》所有游戏的文件和目录名,只要含有那个字符串的都要修改为Tomas
. Z/ V. E$ p' u# f% Z! N    比如\English\Data\Models\Tomas; D% Y' S( \) C; _& ~
! m; n' }  X  q: s& K
用ida pro 进行简单分析后,确定游戏是directx9的游戏,
/ w9 _- n7 b- f" d/ u5 o
  1. .text:004F8D3B                 push    20h             ; SDKVersion
    ! f0 S. u! U8 T' u, @
  2. .text:004F8D3D                 mov     esi, ecx
    ; u3 |: i4 A1 w$ a7 C( @
  3. .text:004F8D3F                 call    Direct3DCreate9
复制代码

/ P8 M% \7 N. U0 d8 u, J8 n- o# c3 F# |7 E6 n
' ^7 G5 G2 J- s5 }
播放动画的时候,好像用了direct draw
, L7 q( F5 z; Y: s' V8 |, P
  1. .text:004F4200 ; int __thiscall CVideo::Create(CVideo *__hidden this)
    $ _! t- e% K7 c1 i$ l
  2. .text:004F4200                 public ?Create@CVideo@@QAEHXZ
    $ ~, U- j- M8 \) g2 X. s
  3. .text:004F4200 ?Create@CVideo@@QAEHXZ proc near        ; CODE XREF: CSystem::Create(HINSTANCE__ *,int,char *,char *,CWorld *,char const *)+380↑p8 q+ ?7 q# O! U% P
  4. .text:004F4200                                         ; DATA XREF: .rdata:off_5C6668↓o
    1 r1 ^/ V: u) t' P1 \" V
  5. .text:004F4200                 push    esi
    / {: t1 i/ V$ h
  6. .text:004F4201                 push    edi) ~$ Y! f' |8 F1 s7 B  T3 ^6 b
  7. .text:004F4202                 mov     esi, ecx$ _; x5 @  a  ?- S; B% [# }
  8. .text:004F4204                 push    0               ; pUnkOuter
    ) N. h% a, R3 S7 ~, L
  9. .text:004F4206                 lea     edi, [esi+54h]) ^! _; L4 [" U+ P5 z
  10. .text:004F4209                 push    edi             ; lplpDD
    & Z: w* }6 N  k9 @9 p
  11. .text:004F420A                 push    0               ; lpGUID1 J! b1 ?5 V" C  D
  12. .text:004F420C                 mov     byte ptr [esi+79h], 06 p) n$ ?& n1 q" Q
  13. .text:004F4210                 call    DirectDrawCreate
复制代码
  m2 c, S7 c6 j% \" w" [" i$ R

8 ^" s$ E! D8 [7 `6 w5 G% D  @2 q5 l7 J' A; L4 u2 e0 o
本游戏可以窗口化,比较容易调试。
  T( _: ]" f6 X& i% n" W找一句画面有的字符串the son of ,找到显示函数。4 w, g% t/ d7 r9 l
以后我们用自己的函数替换它即可。" P' C3 J+ v0 T- }
; V' V8 F2 p. A" f6 x. N' l" n
对话字幕断点处4 h/ O5 e1 x0 R( E" h+ U
004B5AF3  |> /8A08          /mov     cl, byte ptr [eax]9 f) t$ L* Q2 a% ?

/ q% Y7 u6 f3 T6 R" v- p4 B; m0 t! U! J3 D& r) c$ h, L% G
char __thiscall CFadingText::Set& M: `6 ~7 H# V* i8 v1 h# J3 L
(CFadingText *this, char *a2, int a3, int a4, bool a5, bool a6), n. |0 d/ H2 t

; u) g& o1 x- K1 r查了以下调用它的地方,有10多个,看来这个游戏所有地方的字幕应该都是调用这个显示函数了,
( L  l) d0 ]8 S2 E, T
" K0 O/ X6 i0 L  F. j; @0 Y以下是一部分
- S6 i( B4 c) `+ G  ~" C
  1. CGLCLayer::Render+97, 2 C, Z: T! O& a* [7 U! N" ^
  2. CGameInterface::ShowSentence+2C,
    . a  m  }: y# i
  3. CGameInterface::CloseDiary+1A, ( Y' t0 m! p* Z, Z& ]
  4. CGameInterface::SetDiaryText+6A, - f. I! [( v8 I! \$ t" Y
  5. CGameInterface::OpenMainMenu+17,
    8 |& `1 f! r5 W0 n
  6. CGameInterface::AddMenu+67, % B7 Y# e9 T7 ^/ ^& O3 f0 U
  7. CGameInterface::OnMenuPressed+0AB, M)* Q4 r/ k4 A% U; C
  8. TheAbbey.CFadingText::Set
复制代码
1 ?1 X$ _0 k8 k, [2 S
* P/ N& |, A, h% u
3 @# V1 L  n) d( _, v' [+ v9 x6 w

! d2 u' g9 z/ h
- J4 Q( t7 s) U' z# t
分享到:  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日,是全球华人共同的冒险解谜类游戏家园。我们致力于提供各类冒险游戏资讯供大家学习交流。本站所有资源均不用于商业用途。

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