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

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

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

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

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

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

以下这个本论坛的下载贴中,由于有个字符串在中文系统中不能正常显示,导致游戏不能正常 运行。
( ?* h& o* g+ i/ I; I# P$ Y修道院:导演剪辑版(The Abbey: Director's cut)
9 d) X" v$ _( X; T, zhttps://www.chinaavg.com/forum.php?mod=viewthread&tid=147967
/ P" q) z( H1 F  N/ O/ x
1 j% D1 t4 e1 a6 }具体信息可以参考Messages.log。修改正确后的字符串为Tomas。; m* P& y% H* l
修改处7 j* z8 W- _; z# B1 p
《1》以下文件的内容
+ Q# p! m2 @8 u5 x1 G  [" C\The Abbey Directors Cut\English\Data\Game\Game.xmb
: w# O" r2 H1 |& k* T$ @《2》所有游戏的文件和目录名,只要含有那个字符串的都要修改为Tomas
; g+ y' |! l4 r/ A; A    比如\English\Data\Models\Tomas
. j0 W6 P5 _0 m. N' V; C9 ~4 l2 a5 I
用ida pro 进行简单分析后,确定游戏是directx9的游戏,4 q: h3 p7 X8 P
  1. .text:004F8D3B                 push    20h             ; SDKVersion9 `& M% p+ {; O  t
  2. .text:004F8D3D                 mov     esi, ecx! H; D! Y; |" f; v. X
  3. .text:004F8D3F                 call    Direct3DCreate9
复制代码

% {) Z" J, ~5 V) B1 s) h
# |$ j: T2 U" G+ }) u7 J) e2 d: n2 F( `
播放动画的时候,好像用了direct draw
6 d% j, Q# o) h" V! Q$ Z4 i
  1. .text:004F4200 ; int __thiscall CVideo::Create(CVideo *__hidden this)6 r3 g& D' k  }' I  c9 o) T. M$ I( w0 }
  2. .text:004F4200                 public ?Create@CVideo@@QAEHXZ6 e0 k0 }* @9 U% l" G7 m, j- R" {
  3. .text:004F4200 ?Create@CVideo@@QAEHXZ proc near        ; CODE XREF: CSystem::Create(HINSTANCE__ *,int,char *,char *,CWorld *,char const *)+380↑p+ r* g7 y4 s! m6 S, b3 J" g4 \
  4. .text:004F4200                                         ; DATA XREF: .rdata:off_5C6668↓o" z7 c9 G/ o2 P: x
  5. .text:004F4200                 push    esi
    1 ]( g# D$ {' E% M, w, X9 e
  6. .text:004F4201                 push    edi! M1 _6 {$ b/ U- `; j
  7. .text:004F4202                 mov     esi, ecx1 H- S* ]& |/ F7 h, S5 s* p5 x
  8. .text:004F4204                 push    0               ; pUnkOuter
    2 ~; R: u& r/ y8 E* v) V. {( f  l
  9. .text:004F4206                 lea     edi, [esi+54h]
    & y& z8 Z* V& Z8 q! g. m! U5 C
  10. .text:004F4209                 push    edi             ; lplpDD
    , H) \( S  e5 @& f7 Y
  11. .text:004F420A                 push    0               ; lpGUID
    5 o: x% i/ V( L7 b
  12. .text:004F420C                 mov     byte ptr [esi+79h], 01 K3 P: D6 t# j
  13. .text:004F4210                 call    DirectDrawCreate
复制代码

: I* ?+ \7 r5 s  v. ?
3 i8 S8 G* w0 c. D/ A+ ~
3 `$ R9 Q# S: E# s0 |本游戏可以窗口化,比较容易调试。
' b' o; M6 t! T/ G找一句画面有的字符串the son of ,找到显示函数。
6 Y! v0 E: c! ^& w0 [1 R以后我们用自己的函数替换它即可。
, N4 ?6 Z) v7 C% Y) I5 d% C" @. Q7 u! G/ ~
对话字幕断点处
5 u# c* e+ N+ Z2 r, T" _004B5AF3  |> /8A08          /mov     cl, byte ptr [eax]
% O+ B- g; X. h9 C! a8 a, \  l& z# n6 p0 R. }

, `3 m9 l% a5 G( gchar __thiscall CFadingText::Set
- ~6 s( L6 S6 d4 j; k(CFadingText *this, char *a2, int a3, int a4, bool a5, bool a6)- w; w0 r; n- c% s  U: f; \, M

3 }2 o5 ?* j0 C3 r& X! S1 R查了以下调用它的地方,有10多个,看来这个游戏所有地方的字幕应该都是调用这个显示函数了,
2 O( o& u% c6 C6 E
$ z( F' j8 x" A- I% ~. _( I9 l) x" a以下是一部分! u. _% D8 D4 D% C5 W
  1. CGLCLayer::Render+97, / E7 Z9 G4 O5 A8 f% Y, I
  2. CGameInterface::ShowSentence+2C, ; Y' Y, `2 b* L$ L( f# F
  3. CGameInterface::CloseDiary+1A, 4 c5 A1 Q6 ~6 w0 g5 A% \
  4. CGameInterface::SetDiaryText+6A, : p2 B8 W% A( o5 [
  5. CGameInterface::OpenMainMenu+17,
    6 ~! z! Y9 z, R5 s, m5 ?; }3 q
  6. CGameInterface::AddMenu+67,
    7 H6 p6 T% O% t8 x" O3 I
  7. CGameInterface::OnMenuPressed+0AB, M)
    $ @! ]# t7 l" J7 m" W5 V% l
  8. TheAbbey.CFadingText::Set
复制代码
6 s$ W" T1 w: N
$ ]* e8 }% T' v* ?
+ r3 _7 C0 a8 N3 b: R+ e

2 Y6 x+ V3 y: s
& M6 q/ ]1 j, C  X$ o- K8 ?* t
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 很美好很美好1 很差劲很差劲
回复

使用道具 举报

沙发
发表于 2025-4-14 09:33 | 只看该作者
学习学习一下
回复 支持 反对

使用道具 举报

高级模式
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日,是全球华人共同的冒险解谜类游戏家园。我们致力于提供各类冒险游戏资讯供大家学习交流。本站所有资源均不用于商业用途。

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