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

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

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

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

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

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

以下这个本论坛的下载贴中,由于有个字符串在中文系统中不能正常显示,导致游戏不能正常 运行。
" k! _: L! B6 t5 C  ^修道院:导演剪辑版(The Abbey: Director's cut)
+ t* X& U" w* Q. K2 y; Hhttps://www.chinaavg.com/forum.php?mod=viewthread&tid=1479679 Z' t! z  D9 {" y" x+ s
6 I! R' S% y7 }2 X# L- o7 _4 P6 @
具体信息可以参考Messages.log。修改正确后的字符串为Tomas。$ d( p  T: A6 n/ I( k. z
修改处- x& l/ R  B' n3 n( b
《1》以下文件的内容+ H+ a2 P* |1 B5 n( ^( U0 @9 x
\The Abbey Directors Cut\English\Data\Game\Game.xmb( j! E; ^# |7 U$ f$ [0 d5 F
《2》所有游戏的文件和目录名,只要含有那个字符串的都要修改为Tomas
% G  w, Q3 g/ s0 T    比如\English\Data\Models\Tomas/ ^$ k9 O0 p3 p

- D* ~8 _" ?2 ]7 l用ida pro 进行简单分析后,确定游戏是directx9的游戏,
( d4 Y  `3 u* D3 X% b# u
  1. .text:004F8D3B                 push    20h             ; SDKVersion+ ]/ M8 \$ r- }9 K
  2. .text:004F8D3D                 mov     esi, ecx
    9 |# `1 y. u) S, h9 Z8 V
  3. .text:004F8D3F                 call    Direct3DCreate9
复制代码
* u1 {# m" g6 Y2 U

0 l  n+ X( b1 R2 F
$ Z. |' ]+ O! N- a! P播放动画的时候,好像用了direct draw: m/ L$ W! }1 s9 U2 t4 Y& `2 [
  1. .text:004F4200 ; int __thiscall CVideo::Create(CVideo *__hidden this)6 h' l" q7 Q! U& F
  2. .text:004F4200                 public ?Create@CVideo@@QAEHXZ
      [+ S7 }- Z3 q3 g& r9 A
  3. .text:004F4200 ?Create@CVideo@@QAEHXZ proc near        ; CODE XREF: CSystem::Create(HINSTANCE__ *,int,char *,char *,CWorld *,char const *)+380↑p
    * f7 l! N- x& G
  4. .text:004F4200                                         ; DATA XREF: .rdata:off_5C6668↓o
    ( I9 ?' z1 c8 Z2 P% s# C
  5. .text:004F4200                 push    esi9 q! c9 t. h" ?1 ]" W6 `% G4 r
  6. .text:004F4201                 push    edi: F4 k: R; P0 i; H! b( D. [- q
  7. .text:004F4202                 mov     esi, ecx; ?' ]) T; N: A  @! W, p" Y7 @
  8. .text:004F4204                 push    0               ; pUnkOuter: u' e# F: i" ~8 w( c# ]! V
  9. .text:004F4206                 lea     edi, [esi+54h]& b9 F. m: X$ Z6 t
  10. .text:004F4209                 push    edi             ; lplpDD7 i2 r% h9 o' d# s0 D
  11. .text:004F420A                 push    0               ; lpGUID- I5 g3 Z8 l* N( E$ K
  12. .text:004F420C                 mov     byte ptr [esi+79h], 0: _* _% G9 E! J0 h. O% U
  13. .text:004F4210                 call    DirectDrawCreate
复制代码
- i# p" J! {) B. f1 A# D! d, C& A
' U" f5 q4 n; T1 B/ w
. K) ~4 q& P! m: \, _# W$ T
本游戏可以窗口化,比较容易调试。2 C& _; Q% f5 P' ?
找一句画面有的字符串the son of ,找到显示函数。- }0 I) N& B' w; C* i6 ~1 r6 i
以后我们用自己的函数替换它即可。
* J; v, E% T8 D# H. J/ n$ b* u
' T* h  P6 R" g% N6 g- ?! t对话字幕断点处
) C* F8 p" P8 o. P! |+ g2 O7 _004B5AF3  |> /8A08          /mov     cl, byte ptr [eax]
, F% v$ a1 X4 {% {$ Z, C2 {# y+ D8 W/ Q3 b5 r

7 R( S  ^& J  X1 u' Cchar __thiscall CFadingText::Set
) Q( g3 a% i# E(CFadingText *this, char *a2, int a3, int a4, bool a5, bool a6)" m5 y0 [- e7 D% J) H! i
! W4 A" g1 A; d/ V( I
查了以下调用它的地方,有10多个,看来这个游戏所有地方的字幕应该都是调用这个显示函数了,) E# Y  L' v5 z

! M0 m! r* o1 _+ ]( w. s* |以下是一部分
+ v* n  j1 k( g  q( i% z! C
  1. CGLCLayer::Render+97,
    - ^; m2 D/ q3 ^6 W: z" y' m) j6 b6 `
  2. CGameInterface::ShowSentence+2C,
    5 W  J" V: z* s. |7 a1 Y+ j% P: f
  3. CGameInterface::CloseDiary+1A, * x4 V* J' L& @
  4. CGameInterface::SetDiaryText+6A,
    % X# B1 {; b9 z
  5. CGameInterface::OpenMainMenu+17, 3 O: N. b5 a9 ^) k
  6. CGameInterface::AddMenu+67,
    2 c: j( c. u. \# i
  7. CGameInterface::OnMenuPressed+0AB, M)/ h2 ~4 t8 J4 M8 A
  8. TheAbbey.CFadingText::Set
复制代码

3 c' y: X7 A' a; w
; ?, O1 p" H: @; a
, ^6 m; V0 h" u3 Q* N4 l' }/ I, L- _
0 v4 h' [6 D/ V6 V8 x: J9 r7 \0 O
' k" f& D# W3 E* G  r: {4 S$ v
分享到:  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日,是全球华人共同的冒险解谜类游戏家园。我们致力于提供各类冒险游戏资讯供大家学习交流。本站所有资源均不用于商业用途。

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