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

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

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

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

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

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

以下这个本论坛的下载贴中,由于有个字符串在中文系统中不能正常显示,导致游戏不能正常 运行。+ Z$ Q( \* v, W8 _: P
修道院:导演剪辑版(The Abbey: Director's cut)! R8 }" F* t2 L& f: l# h
https://www.chinaavg.com/forum.php?mod=viewthread&tid=147967( g4 R7 q! _0 ~0 q$ d3 b$ T8 l( K* p
. F& M  b, \3 L8 M/ ^% s
具体信息可以参考Messages.log。修改正确后的字符串为Tomas。- K  _5 Y' H  D
修改处
) w1 k$ |% A7 }9 U  w8 e3 W# @《1》以下文件的内容
3 s7 X( l; t% Z$ D) k2 b\The Abbey Directors Cut\English\Data\Game\Game.xmb4 f+ W' q+ b5 F( E$ f
《2》所有游戏的文件和目录名,只要含有那个字符串的都要修改为Tomas6 `/ L2 c5 c: q
    比如\English\Data\Models\Tomas" y3 ]3 I8 M; n5 L% ]/ N; F
5 g& ^) }- O" [% Z0 d5 t! i
用ida pro 进行简单分析后,确定游戏是directx9的游戏,
, z: Z; H, Z' ]: r2 t
  1. .text:004F8D3B                 push    20h             ; SDKVersion( o! R& p, c! ]& t7 h
  2. .text:004F8D3D                 mov     esi, ecx
    ' ~( P$ h. b, k3 g/ L" }- x" Q
  3. .text:004F8D3F                 call    Direct3DCreate9
复制代码
6 Z4 I5 ~8 w" m6 d

( `/ d8 |  `1 L5 o, H4 f4 I/ z9 J8 Y! M" h
播放动画的时候,好像用了direct draw5 f. }+ e  A9 e6 j
  1. .text:004F4200 ; int __thiscall CVideo::Create(CVideo *__hidden this)/ z/ ^% W8 k- d) B
  2. .text:004F4200                 public ?Create@CVideo@@QAEHXZ
    * u' f0 F. A( [
  3. .text:004F4200 ?Create@CVideo@@QAEHXZ proc near        ; CODE XREF: CSystem::Create(HINSTANCE__ *,int,char *,char *,CWorld *,char const *)+380↑p
    " ~0 M) K0 q- h& A- ?
  4. .text:004F4200                                         ; DATA XREF: .rdata:off_5C6668↓o
    8 o' V3 p" Y- e4 d( e0 q6 E
  5. .text:004F4200                 push    esi
    9 ~/ G! }0 g) L4 x
  6. .text:004F4201                 push    edi
    % L! k: U1 \# t+ \
  7. .text:004F4202                 mov     esi, ecx4 x/ ~7 B9 {: u0 v4 J8 |$ y1 H) ?
  8. .text:004F4204                 push    0               ; pUnkOuter
    # H8 c6 Z" E: y5 A
  9. .text:004F4206                 lea     edi, [esi+54h]$ q  c+ V3 L" A0 s- Z
  10. .text:004F4209                 push    edi             ; lplpDD* U7 P. U5 y% g! }& Y! F
  11. .text:004F420A                 push    0               ; lpGUID
    3 W  x3 n  S% `! H8 C
  12. .text:004F420C                 mov     byte ptr [esi+79h], 0, \4 q. ^6 N0 _$ b* v
  13. .text:004F4210                 call    DirectDrawCreate
复制代码

$ i" y2 M$ |- p5 ]% j( r. ]; u0 q! ]) q- b

3 a7 S+ t) o, |/ H( t% {2 @本游戏可以窗口化,比较容易调试。
7 I6 j$ P1 {  r2 h找一句画面有的字符串the son of ,找到显示函数。4 u5 H5 N* V) @# W% i) t. g
以后我们用自己的函数替换它即可。
- M- ^# R& H+ P3 M6 C' ~$ k& o8 C8 C& m  ^. S
对话字幕断点处
* p; @9 x; h2 u004B5AF3  |> /8A08          /mov     cl, byte ptr [eax]$ L) M8 j# ?/ K& g  S" I+ q

# ]6 t) u$ ?( D+ e- K6 F( |& M- d1 j( f. |
char __thiscall CFadingText::Set
! E( ^( A" r" K9 k3 r' w(CFadingText *this, char *a2, int a3, int a4, bool a5, bool a6)
4 Q. f6 z/ ^" J) f2 i: B1 v: u5 x( d2 [0 i
查了以下调用它的地方,有10多个,看来这个游戏所有地方的字幕应该都是调用这个显示函数了," I' b1 {4 F. N! N" |9 A
6 m1 w+ }" h# L+ G( a
以下是一部分0 {* l5 y, S( y/ `$ x8 E
  1. CGLCLayer::Render+97,
    / _3 I/ Z$ n+ U8 u8 L* X4 k
  2. CGameInterface::ShowSentence+2C,
    & s  j3 ?' a" J( P7 `) {
  3. CGameInterface::CloseDiary+1A,
    ! O' t; U" M: F7 A) Z6 S! j( m
  4. CGameInterface::SetDiaryText+6A, 7 o9 N0 l1 `2 e) C
  5. CGameInterface::OpenMainMenu+17, : `1 \1 g1 u8 a9 t
  6. CGameInterface::AddMenu+67,
    6 W5 i- l, M, K
  7. CGameInterface::OnMenuPressed+0AB, M)- C4 r7 T) \+ H! ~
  8. TheAbbey.CFadingText::Set
复制代码
+ Q$ O* d9 i! x& p5 p/ p* h' ~
0 t( O; W/ R* b0 p; n/ _6 Z

5 x6 @% f' I6 k3 m) _0 d, s# d( s+ }, M0 X2 L4 d
: a8 I% K' l' S3 W6 L
分享到:  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日,是全球华人共同的冒险解谜类游戏家园。我们致力于提供各类冒险游戏资讯供大家学习交流。本站所有资源均不用于商业用途。

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