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

汉化工具 英雄无敌四风之战争的汉化分析

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

[汉化工具] 英雄无敌四风之战争的汉化分析

跳转到指定楼层
楼主
发表于 2010-3-15 20:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

英雄无敌四风之战争的汉化分析

以下是英雄无敌四风之战争的汉化分析:
! Y& S$ w) \  [" G) {$ u
% q% A3 o3 J2 }$ x00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
/ X+ N+ j0 Q, w7 P! R' ]) g00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1 A4 e; M6 i0 [; I! g3 d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0 i9 f: e5 K% e2 e( y& A00 00 40 00 00 00 00 00 00 00 00 00 00 30 00
4 {: B& K: `7 Y2 j- u+ r. d90 F0 F0 54 00 00 00 00 00 00 00 00 F0 F0 03
1 y9 D' ~& B8 I1 TB0 F0 F0 F0 45 00 00 00 00 00 00 30 F0 DF 0F
/ `$ @' n  x- o1 d; {2 ]90 F0 F0 F0 EF 24 00 00 00 00 00 30 F0 BF 0D  @5 v/ e" @# M1 `
70 F0 EF F0 F0 EE 22 00 00 00 00 30 F0 BF 0B ! O  v5 N. |4 X, @/ o3 M
70 F0 4F 9E F0 F0 EE 22 00 00 00 30 F0 AF 0B
* u2 Q. I0 j- I* z: f, b; T8 H70 F0 3F 04 99 F0 F0 EE 22 00 00 30 F0 7F 0A
, T; V3 t$ t8 Z1 t$ n70 F0 3F 03 00 99 F0 F0 EE 22 00 30 F0 7F 07
! S& k+ l1 o, S# a. S! {70 F0 3F 03 00 00 99 F0 F0 EE 22 30 F0 7F 07
. S( I6 _" G( x70 F0 3F 03 00 00 00 99 F0 F0 EE 62 F0 7F 07 9 J1 v# @+ P" x0 [3 Y: G
70 F0 3F 03 00 00 00 00 99 F0 F0 F0 F0 7F 07
0 X) m6 `1 k& M" j4 R/ B90 F0 3F 03 00 00 00 00 00 99 F0 F0 F0 7F 07
0 G$ L: t& r$ h/ k( DB0 F0 3F 03 00 00 00 00 00 00 99 F0 F0 7F 07  
% k- q4 m& r6 Z8 nD0 9B 1F 03 00 00 00 00 00 00 00 89 AF 1F 07 7 P# m, Z3 ]! t  W3 \! q
10 0D 09 01 00 00 00 00 00 00 00 00 08 0A 01
: s, J% O! O; T- ^  q  r. t00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 ( }/ E: d* t! q& j$ J/ U3 g1 E  I% @
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
7 K2 c* |% t/ s. B" ]9 m4 _这是本人从内存中导出N的点阵字库,一个字节表示一个点,数值越大,颜色越深,
3 Z' w  s; W& i) I- g7 H# c7 X% t( m' H
0071BD50  /$  51                    push ecx  t1 P0 V* Z, ^+ T! Y
0071BD51  |.  53                    push ebx
; Q. R5 }" r7 O6 R0 j0071BD52  |.  55                    push ebp; f! h2 `$ Z% H$ U! P3 L; H; }, T  L( X
0071BD53  |.  8B6C24 1C             mov ebp,dword ptr ss:[esp+1C]
2 ~! K( l  T3 @: E  x; Q+ m0071BD57  |.  894C24 08             mov dword ptr ss:[esp+8],ecx5 N9 u- I% U) s  L, I1 z0 u* v
0071BD5B  |.  B3 01                 mov bl,1
- _, @7 k! L1 H% q0071BD5D  |.  8A45 00               mov al,byte ptr ss:[ebp]
: ]! |* w: B4 S8 F% L0071BD60  |.  84C0                  test al,al
7 I, J+ j# M" _% D0071BD62  |.  74 69                 je short heroes4.0071BDCD
$ x' V+ J* B. `- x$ T2 w0071BD64  |.  56                    push esi
' g' I1 }' X, T0 A! q  v- A0071BD65  |.  57                    push edi
6 Q3 g( e  h8 x1 H8 M7 W0071BD66  |.  8B7C24 1C             mov edi,dword ptr ss:[esp+1C]
/ b- ?& A& c: o7 j0071BD6A  |.  EB 04                 jmp short heroes4.0071BD707 p& v7 `; A) ]
0071BD6C  |>  8B4C24 10             /mov ecx,dword ptr ss:[esp+10]
2 `0 ?' n6 Q$ q2 [0071BD70  |>  8B51 08                mov edx,dword ptr ds:[ecx+8]
4 p$ h8 c5 N. E7 f& N- s0071BD73  |.  25 FF000000           |and eax,0FF
0 y" c2 A) x* I% Q0 R! @: i: g4 }" y% g0071BD78  |.  2BC2                  |sub eax,edx2 E* I6 \( V  F' M3 p- @! ~! n, u& C* [
0071BD7A  |.  78 05                 |js short heroes4.0071BD81+ M" F/ l2 E1 |5 [3 v- N/ o9 _8 f
0071BD7C  |.  3B41 14               |cmp eax,dword ptr ds:[ecx+14]
9 ~, Q- ^; E/ L3 q* F0071BD7F  |.  7C 02                 |jl short heroes4.0071BD83( [+ s4 @& y4 j6 B% x
0071BD81  |>  33C0                  |xor eax,eax& _" }1 b! D( _) b
0071BD83  |>  8B49 18               |mov ecx,dword ptr ds:[ecx+18]
+ N* U( I" O0 |) T8 \0071BD86  |.  8D1480                |lea edx,dword ptr ds:[eax+eax*4]        ;  字符编码基地址存到edx  a9 \1 C, u, h- r7 w
0071BD89  |.  84DB                  |test bl,bl; z6 f$ M6 `+ y5 B! Z; p
0071BD8B  |.  8D0450                |lea eax,dword ptr ds:[eax+edx*2]
+ o7 [  x8 k" f! c- j" D0071BD8E  |.  8D3481                |lea esi,dword ptr ds:[ecx+eax*4]
: _  {* ]  B0 [7 B0071BD91  |.  75 03                 |jnz short heroes4.0071BD96
1 w: L7 ~0 m; n0071BD93  |.  037E 14               |add edi,dword ptr ds:[esi+14]
  Z1 z9 S2 \( E7 f6 s0071BD96  |>  8B5424 30             |mov edx,dword ptr ss:[esp+30]1 N: Y, U$ i! D' ^2 _* S
0071BD9A  |.  8B4424 2C             |mov eax,dword ptr ss:[esp+2C]8 f" |% j4 G3 Z3 ]. O& \
0071BD9E  |.  8B4C24 28             |mov ecx,dword ptr ss:[esp+28]
+ A4 O2 R5 ~0 A1 u3 K" j0071BDA2  |.  52                    |push edx                                ; /Arg6
6 E$ t! D5 k6 [* b! x0071BDA3  |.  8B5424 24             |mov edx,dword ptr ss:[esp+24]           ; |
4 B8 ^- u; r% X- J9 h7 f6 y0071BDA7  |.  50                    |push eax                                ; |Arg5
8 z! ?3 E8 j% R0071BDA8  |.  8B4424 20             |mov eax,dword ptr ss:[esp+20]           ; |
$ X0 w- I3 H% j1 P0071BDAC  |.  51                    |push ecx                                ; |Arg4
, k* r8 G$ R6 q3 Z, f' l0071BDAD  |.  52                    |push edx                                ; |Arg3- g* I$ ~3 W' b: p. j
0071BDAE  |.  57                    |push edi                                ; |Arg2
1 i0 S5 N- n, e4 h: Q- f8 q2 R0071BDAF  |.  50                    |push eax                                ; |Arg1
6 |: p- R+ e$ k( _4 E0071BDB0  |.  8BCE                  |mov ecx,esi                             ; |! t, b1 ~; P+ B3 n3 `
0071BDB2  |.  32DB                  |xor bl,bl                               ; |+ f1 i# C+ t8 `% f: d
0071BDB4  |.  E8 67FAFFFF           |call heroes4.0071B820                   ; \字库读取函数$ h2 g, n* b6 U
0071BDB9  |.  8B4E 18               |mov ecx,dword ptr ds:[esi+18]$ u. Y6 k6 Q& J) a+ o5 A6 j# Y
0071BDBC  |.  8B46 04               |mov eax,dword ptr ds:[esi+4]& K! P0 t1 J1 Q2 B) C
0071BDBF  |.  03C8                  |add ecx,eax3 V" ~7 I8 i$ l. y0 S
0071BDC1  |.  8A45 01               |mov al,byte ptr ss:[ebp+1]
" v, J. H. u& @- ], C; _3 d" }/ R0071BDC4  |.  03F9                  |add edi,ecx
* s- I: N6 p1 L8 M+ }& U# R) P0071BDC6  |.  45                    |inc ebp' `7 D& S9 C( v/ @  |) i
0071BDC7  |.  84C0                  |test al,al
$ S+ k8 g' Q. b; y% I0071BDC9  |.^ 75 A1                 \jnz short heroes4.0071BD6C
9 l; `$ o! @8 a9 z  A0071BDCB  |.  5F                    pop edi
, j2 D* h2 w% E; B8 @0071BDCC  |.  5E                    pop esi/ A# c6 r3 J: o7 H( F  ]* m
0071BDCD  |>  5D                    pop ebp
& o5 l- |2 p# q6 k8 B. ~9 {0071BDCE  |.  5B                    pop ebx  y, G) C3 s0 @6 a: ?" j
0071BDCF  |.  59                    pop ecx, e/ V8 ~+ P$ x' J3 P: N& k
0071BDD0  \.  C2 1C00               retn 1C1 t( n: F9 l6 K" S) A% `  ~. o- n
. k1 W( [9 ]/ h* D) y8 w
edx为字符编码基地址,每个字符占2C个字节,
) K  m' i' d( H: ^! Z8 U6 q" nedx+4表示字宽
7 z& h9 W7 W) v& ]; A! Y" `1 O' O! d1 Qedx+8表示字高
3 U0 E2 W; A4 I4 Z( e  c7 ]! _; P/ wedx+10表示该字符点阵在内存的地址,
! v4 ]* m* ]$ T: W7 K" _. o8 Xedx+14表示该字符前面的间距4 B6 K" v% j" _3 Z3 S+ S& F! @
edx+18表示该字符后面的间距& f4 b) O  I. n3 C

$ ^! M6 L( {7 Q' a; [3 J1 D字库文件位于data目录下的heroes4.h4r,可用H4ResEx解包器打开,打开之的文件名为font.Small Fonts5,font.Small Fonts7," B/ l( }: C. ?! E, q3 Z: T
但是字库文件的内容与导出点阵对不上,还有待继续分析。。。。。。。。。。。。。。。。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

沙发
发表于 2010-3-15 20:42 | 只看该作者
哇,又来了一位懂汇编的高手。关注中。。。0 D8 K' D* {* {* K
对了,楼主,你不妨把字库文件什么的发上来,大家也可以帮你看看。
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2010-3-15 20:46 | 只看该作者
接下来的任务:
1 D- s! C0 }& P9 a1、扩充中文字库. m0 I9 p$ @' D4 z
2、扩充中文编码表
$ p2 ?% B5 a4 @; H- A3、修改字符读取函数,支持双字节读取
回复 支持 反对

使用道具 举报

地板
 楼主| 发表于 2010-3-15 20:52 | 只看该作者
以下是解压出来的字库文件:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2010-3-15 21:01 | 只看该作者
本游戏的字库是不等宽的点阵字库,一个点用一个字节表示,本人对字库文件不是很了解,希望各位帮我分析一下。
回复 支持 反对

使用道具 举报

6#
发表于 2010-3-15 21:05 | 只看该作者
我感觉有点类似断剑1的字库,你可以看看以下帖子
/ x5 R  `$ F% Y. I8 {/ V
& R3 u4 M! F, P【断剑1汉化项目】字体资源文件彻底解说
$ K" m/ S1 N, }https://www.chinaavg.com/read.php?tid=18959
8 R: `  g5 Y" C, S, \
: k/ `, v7 R+ F9 f  f$ l+ J8 \* m【断剑1汉化项目】中文字库设计* O) @, m5 F" t: A$ a$ [' e
https://www.chinaavg.com/read.php?tid=18975
回复 支持 反对

使用道具 举报

7#
发表于 2010-3-15 21:22 | 只看该作者
你的字体的头部有一些信息,应该是字符的高度,宽度等信息。8 C& c: @! c) }& m+ m
然后下面是连续存放的一连串字符,每个字符都是n个字节。: x. @1 l7 Z: m( G3 g& m, G4 q# b1 s
0xF0是有色点,其他的颜色,如边框,估计是游戏动态生成的。
+ F, a+ {# j# S3 m; l, X3 ^就像断剑那样。
回复 支持 反对

使用道具 举报

8#
 楼主| 发表于 2010-3-16 11:07 | 只看该作者
本人用CrystalTile打开了font.Small Fonts7,宽度、高度调整为8*15,可以很清楚的看到好几个大写字母的图片,其中0F表示字体颜色,F0表示阴影颜色,每个字模前面标有该字模的宽度,高度,文件头部的信息搞不清楚
回复 支持 反对

使用道具 举报

9#
发表于 2010-3-16 11:45 | 只看该作者
是这样的吗?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

10#
 楼主| 发表于 2010-3-16 16:51 | 只看该作者
是的,字符是不等宽的,经过调整大写字母都能看清,其他的就看不清楚了,不知道怎么回事
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

冒险解谜游戏中文网 ChinaAVG

官方微博官方微信号小黑屋 微信玩家群  

(C) ChinaAVG 2004 - 2019 All Right Reserved. Powered by Discuz! X3.2
辽ICP备11008827号 | 桂公网安备 45010702000051号

冒险,与你同在。 冒险解谜游戏中文网ChinaAVG诞生于2004年9月9日,是全球华人共同的冒险解谜类游戏家园。我们致力于提供各类冒险游戏资讯供大家学习交流。本站所有资源均不用于商业用途。

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