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

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

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

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

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

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

以下这个本论坛的下载贴中,由于有个字符串在中文系统中不能正常显示,导致游戏不能正常 运行。$ c& J; r3 o( a2 h; I# H9 H
修道院:导演剪辑版(The Abbey: Director's cut)% e! {8 u2 ~' _
https://www.chinaavg.com/forum.php?mod=viewthread&tid=147967
9 V; C8 P' Z3 G* g  W# M( M
* i  ?/ D1 O) e7 o具体信息可以参考Messages.log。修改正确后的字符串为Tomas。' \6 Z3 u/ Z! S+ {
修改处
# Y, |' |+ `& r" }7 U《1》以下文件的内容
  w/ G0 h0 N8 t, E: V3 N\The Abbey Directors Cut\English\Data\Game\Game.xmb
$ B4 y) s# }# S《2》所有游戏的文件和目录名,只要含有那个字符串的都要修改为Tomas
7 `/ m- |" ]5 M4 C+ H    比如\English\Data\Models\Tomas0 p$ I5 P5 p1 I* u4 y

( F, J2 i- t# I  w% S" f用ida pro 进行简单分析后,确定游戏是directx9的游戏,
# I% `: }5 u% Y4 c" }0 e& b
  1. .text:004F8D3B                 push    20h             ; SDKVersion
    ( m# T1 N; t# p
  2. .text:004F8D3D                 mov     esi, ecx2 _$ M; Q5 t$ x( l: \! g
  3. .text:004F8D3F                 call    Direct3DCreate9
复制代码
5 c! D3 H5 V+ g4 v! X* R
/ B- x" I) ?/ U
& m6 G$ ^( N- |' ~
播放动画的时候,好像用了direct draw
6 o; e9 k8 |0 Y( y0 C6 \
  1. .text:004F4200 ; int __thiscall CVideo::Create(CVideo *__hidden this)
    8 W" J! I# g* i/ O5 |
  2. .text:004F4200                 public ?Create@CVideo@@QAEHXZ' U4 p7 V( @! I7 h% N
  3. .text:004F4200 ?Create@CVideo@@QAEHXZ proc near        ; CODE XREF: CSystem::Create(HINSTANCE__ *,int,char *,char *,CWorld *,char const *)+380↑p: `' Q" i0 B& p8 p8 p
  4. .text:004F4200                                         ; DATA XREF: .rdata:off_5C6668↓o0 c1 q1 c! K+ c5 m  ^: i" F- o
  5. .text:004F4200                 push    esi
    ; l2 R" \; Q) O* S6 z/ W: m
  6. .text:004F4201                 push    edi, U5 @5 }; n( v* P4 L1 u% K  e8 j9 _6 Z
  7. .text:004F4202                 mov     esi, ecx
    3 l; i/ a# p3 ^' R( O' L+ y
  8. .text:004F4204                 push    0               ; pUnkOuter  l1 _* Z6 I% O
  9. .text:004F4206                 lea     edi, [esi+54h]- m$ Q# |- S$ |, K# |+ J) m
  10. .text:004F4209                 push    edi             ; lplpDD/ X' Y+ L$ O4 v+ {3 G3 d9 h
  11. .text:004F420A                 push    0               ; lpGUID& Y$ [# v  A) Y+ z% T/ ]( w0 G
  12. .text:004F420C                 mov     byte ptr [esi+79h], 0
    7 B' ?1 w- C/ O  c: q  B( I0 H! `
  13. .text:004F4210                 call    DirectDrawCreate
复制代码

( O) R; d  Q* d* R0 S& r: g' l9 X4 v' o# i4 k! V" ]1 J" v, R8 p
& U& N" h/ F/ J" g, G, `, d! X
本游戏可以窗口化,比较容易调试。
1 h. o# x  P# A找一句画面有的字符串the son of ,找到显示函数。
8 m" h/ w2 X0 ]1 o. c' k以后我们用自己的函数替换它即可。" @6 ^8 `- Q) C4 H) C# _' }

* e4 ]- C  r% z对话字幕断点处) a# \, O! C+ |
004B5AF3  |> /8A08          /mov     cl, byte ptr [eax]
9 ?! G4 S9 x0 s9 Y4 B( }
; G; ~) T" W- o7 K4 \9 G" L% ~. V  ^" V' v) J& x; \
char __thiscall CFadingText::Set
4 C" k/ O7 g6 X5 u(CFadingText *this, char *a2, int a3, int a4, bool a5, bool a6)( v7 q5 f2 A- l- M' A

7 n' z9 M9 q' {6 R) t1 V+ l查了以下调用它的地方,有10多个,看来这个游戏所有地方的字幕应该都是调用这个显示函数了,6 o9 F- \1 I  _% h0 G- J/ q

, p! l4 {' K* m) h- }以下是一部分- ~* B, n  Y3 T* w2 h
  1. CGLCLayer::Render+97, % m! n# E) o# X' z
  2. CGameInterface::ShowSentence+2C,
    & t+ y# _: l2 z3 Z0 z( [/ m2 C  @' X
  3. CGameInterface::CloseDiary+1A,
    ! S# \0 ~7 @, B2 P: f
  4. CGameInterface::SetDiaryText+6A, 7 y! d) x7 g4 n% F
  5. CGameInterface::OpenMainMenu+17, ! k8 C$ V% V) ^/ W; c3 D0 E
  6. CGameInterface::AddMenu+67, % V6 {2 }: ^$ O3 n! t: j
  7. CGameInterface::OnMenuPressed+0AB, M)/ A* p( x* v( p( a6 ^/ d
  8. TheAbbey.CFadingText::Set
复制代码

( i  ~" M$ C4 {$ Z2 |3 s* m$ R0 f9 x% X! C

# A) ]: b; A8 L2 h; s% t, V& Y! k/ h" }* {
% ]: W) j! k. _' Z7 z' v. i- @
分享到:  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日,是全球华人共同的冒险解谜类游戏家园。我们致力于提供各类冒险游戏资讯供大家学习交流。本站所有资源均不用于商业用途。

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