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

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

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

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

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

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

以下是英雄无敌四风之战争的汉化分析:& V; |% `) m/ H5 O

/ w) @1 Z* l6 l' f, z00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
5 V- p1 n" P7 V/ @% r+ X00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 9 |7 P- j' u; t
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
6 ~: F; f( f% E  o# _% R" E% Z1 L# o00 00 40 00 00 00 00 00 00 00 00 00 00 30 00
6 T4 R! |6 R; r7 `3 V& C4 A90 F0 F0 54 00 00 00 00 00 00 00 00 F0 F0 03 ) D/ {7 q" M- g0 ]( C/ z& x
B0 F0 F0 F0 45 00 00 00 00 00 00 30 F0 DF 0F ) O2 y# T7 J; f" \8 J/ ?: d6 ]
90 F0 F0 F0 EF 24 00 00 00 00 00 30 F0 BF 0D/ U. B; x1 ^2 u
70 F0 EF F0 F0 EE 22 00 00 00 00 30 F0 BF 0B
( n5 w0 B5 w' s) \' P8 p70 F0 4F 9E F0 F0 EE 22 00 00 00 30 F0 AF 0B 0 D  x% W3 _; h  G/ ]
70 F0 3F 04 99 F0 F0 EE 22 00 00 30 F0 7F 0A
1 b' W$ F. p" [. h70 F0 3F 03 00 99 F0 F0 EE 22 00 30 F0 7F 07 5 J3 w- |) A" f2 F) S7 U$ L: g
70 F0 3F 03 00 00 99 F0 F0 EE 22 30 F0 7F 07
( T/ H" A/ U9 n7 A" w+ M70 F0 3F 03 00 00 00 99 F0 F0 EE 62 F0 7F 07 9 N* t; K/ N  `7 U7 L
70 F0 3F 03 00 00 00 00 99 F0 F0 F0 F0 7F 07 7 k. o" |' ]' S) h5 {" c
90 F0 3F 03 00 00 00 00 00 99 F0 F0 F0 7F 07
9 q- J5 r8 o- lB0 F0 3F 03 00 00 00 00 00 00 99 F0 F0 7F 07  
5 A; E2 \4 d4 c# w: e. BD0 9B 1F 03 00 00 00 00 00 00 00 89 AF 1F 07
. Z- }! o' ?6 U10 0D 09 01 00 00 00 00 00 00 00 00 08 0A 01 - o5 j7 _4 ~0 P1 e8 u# T
00 01 00 00 00 00 00 00 00 00 00 00 00 00 00
3 B. E. e1 m$ j: f) z00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
9 j$ l! _: ?9 b# c6 O! m8 l这是本人从内存中导出N的点阵字库,一个字节表示一个点,数值越大,颜色越深, + r' F6 Y& \. L- z* `/ P$ ~
: {8 F; t4 g! O2 c9 ?
0071BD50  /$  51                    push ecx" J6 _' n8 K  s
0071BD51  |.  53                    push ebx5 {. p2 K! z8 L
0071BD52  |.  55                    push ebp
+ p+ Y. P" n0 n+ x5 O% c; d0071BD53  |.  8B6C24 1C             mov ebp,dword ptr ss:[esp+1C]
* L' u( q. U5 q0 b0071BD57  |.  894C24 08             mov dword ptr ss:[esp+8],ecx
) x( s3 y4 s/ w) D% G0071BD5B  |.  B3 01                 mov bl,1) ~. ?0 G+ O- e- l$ D
0071BD5D  |.  8A45 00               mov al,byte ptr ss:[ebp]1 u7 W" w- Q8 h# A6 W! T5 }
0071BD60  |.  84C0                  test al,al
, ^5 M3 a1 x1 ^5 N+ W$ G0071BD62  |.  74 69                 je short heroes4.0071BDCD
% }1 Y5 _+ g+ C* Q3 l+ B+ L9 N0071BD64  |.  56                    push esi
% m6 A% v8 N. K2 \0 F0071BD65  |.  57                    push edi2 U% {4 f/ a* d5 p
0071BD66  |.  8B7C24 1C             mov edi,dword ptr ss:[esp+1C]9 r# X' z: c2 `# T7 f1 g
0071BD6A  |.  EB 04                 jmp short heroes4.0071BD703 T" I2 \$ g0 Z& c3 V/ v! b: x: Q5 ^
0071BD6C  |>  8B4C24 10             /mov ecx,dword ptr ss:[esp+10]: \' t- h; c# D6 K$ G
0071BD70  |>  8B51 08                mov edx,dword ptr ds:[ecx+8]
- `: ]. b% m0 a2 N9 e3 H( ?, t/ ?0071BD73  |.  25 FF000000           |and eax,0FF
5 {! f  n7 L' `& N0071BD78  |.  2BC2                  |sub eax,edx5 J  ~  `! n# H4 L4 N
0071BD7A  |.  78 05                 |js short heroes4.0071BD81' h4 s$ f- ?: C/ w9 n6 _, E1 V+ x
0071BD7C  |.  3B41 14               |cmp eax,dword ptr ds:[ecx+14]
" D8 V* `! m5 e) q0071BD7F  |.  7C 02                 |jl short heroes4.0071BD83
& S( K  y, W) z0071BD81  |>  33C0                  |xor eax,eax- h0 C" C( t8 c* W+ ?4 y
0071BD83  |>  8B49 18               |mov ecx,dword ptr ds:[ecx+18]
# G3 O7 M* u$ b0 Y' v0071BD86  |.  8D1480                |lea edx,dword ptr ds:[eax+eax*4]        ;  字符编码基地址存到edx8 p( L" g/ h6 V7 z8 D6 _, j8 ^
0071BD89  |.  84DB                  |test bl,bl8 C# B! n6 I" D  T) r' m
0071BD8B  |.  8D0450                |lea eax,dword ptr ds:[eax+edx*2]- F& L! e* g% O1 P: K0 T
0071BD8E  |.  8D3481                |lea esi,dword ptr ds:[ecx+eax*4]/ n7 A- ^6 d$ g
0071BD91  |.  75 03                 |jnz short heroes4.0071BD96/ E" f5 [& s$ ~9 Z, y# x5 @
0071BD93  |.  037E 14               |add edi,dword ptr ds:[esi+14], [, L% J4 ]) i! W
0071BD96  |>  8B5424 30             |mov edx,dword ptr ss:[esp+30]
8 K" a0 d2 D0 T/ q- n% j6 z& X# c8 n0071BD9A  |.  8B4424 2C             |mov eax,dword ptr ss:[esp+2C], ~0 M6 T( j9 W% R8 I
0071BD9E  |.  8B4C24 28             |mov ecx,dword ptr ss:[esp+28]
$ P( x8 {1 g& |  j0071BDA2  |.  52                    |push edx                                ; /Arg6' w5 R% H4 w3 ]/ ?# |
0071BDA3  |.  8B5424 24             |mov edx,dword ptr ss:[esp+24]           ; |) j% B; r  T' _  z% U
0071BDA7  |.  50                    |push eax                                ; |Arg5
/ c) A* Y9 Y% N! w8 G" s' r2 M0071BDA8  |.  8B4424 20             |mov eax,dword ptr ss:[esp+20]           ; |
- F: v% j) J3 M& H: A% {0071BDAC  |.  51                    |push ecx                                ; |Arg4
* A3 R& a% _# N: @$ p  v0071BDAD  |.  52                    |push edx                                ; |Arg3. x4 v; }  ~! @9 y1 p
0071BDAE  |.  57                    |push edi                                ; |Arg2' R* y5 e* ~( ]# D# L/ }8 p0 U$ }/ q
0071BDAF  |.  50                    |push eax                                ; |Arg1
9 z% W: J3 R- Y' O3 m1 p; _' ~0071BDB0  |.  8BCE                  |mov ecx,esi                             ; |" g3 _3 Q: Z' w% d8 b
0071BDB2  |.  32DB                  |xor bl,bl                               ; |
5 d9 \% U- R  \3 Q8 N8 U1 v0071BDB4  |.  E8 67FAFFFF           |call heroes4.0071B820                   ; \字库读取函数8 ?* m* a6 z7 S5 E- Z
0071BDB9  |.  8B4E 18               |mov ecx,dword ptr ds:[esi+18]
" c, v4 d7 V5 U. D0 u& [0071BDBC  |.  8B46 04               |mov eax,dword ptr ds:[esi+4]  H9 z  T5 X. O7 ~& u3 K3 I& `
0071BDBF  |.  03C8                  |add ecx,eax! B% @' f# k" {: [' h+ b
0071BDC1  |.  8A45 01               |mov al,byte ptr ss:[ebp+1]# p1 i7 b0 v9 c" E# x
0071BDC4  |.  03F9                  |add edi,ecx
$ t0 w- N+ d% K. K0071BDC6  |.  45                    |inc ebp9 h: W* H6 I" X: U: @. o
0071BDC7  |.  84C0                  |test al,al: X3 E$ R1 H( i' {! \6 z
0071BDC9  |.^ 75 A1                 \jnz short heroes4.0071BD6C4 @; g# m' V) t4 `9 z1 \
0071BDCB  |.  5F                    pop edi
0 \. s* J+ g7 P+ V8 Q0071BDCC  |.  5E                    pop esi  B0 U/ b6 E/ t1 b& q
0071BDCD  |>  5D                    pop ebp0 b0 E! \% x: x( e0 \- h% l) L
0071BDCE  |.  5B                    pop ebx% D5 b2 j3 r& ?/ j6 h' N
0071BDCF  |.  59                    pop ecx
9 G6 O, E. ?. Z) E0071BDD0  \.  C2 1C00               retn 1C
  |4 G8 i$ r& O; F3 k0 A5 e# r/ h( \1 A* v1 R$ _4 z# Y
edx为字符编码基地址,每个字符占2C个字节,
3 E+ c% z' w: B: k0 j, v5 Bedx+4表示字宽2 \  _/ Y; i8 |" b% G4 ~
edx+8表示字高
0 K9 ^! y$ e6 s* zedx+10表示该字符点阵在内存的地址,
9 V7 D& \, I4 L% kedx+14表示该字符前面的间距
) J0 c, x; a' a9 i: L3 medx+18表示该字符后面的间距& K3 r5 Z* S! i  {0 L
6 Y: r4 \) {0 M! ~1 ^  ^0 O
字库文件位于data目录下的heroes4.h4r,可用H4ResEx解包器打开,打开之的文件名为font.Small Fonts5,font.Small Fonts7,
/ Y1 x+ t1 N8 }; }. }( E+ L但是字库文件的内容与导出点阵对不上,还有待继续分析。。。。。。。。。。。。。。。。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

沙发
发表于 2010-3-15 20:42 | 只看该作者
哇,又来了一位懂汇编的高手。关注中。。。; h0 w. c' Z+ t$ i2 x
对了,楼主,你不妨把字库文件什么的发上来,大家也可以帮你看看。
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2010-3-15 20:46 | 只看该作者
接下来的任务:* p! i( O- b) M% Q8 Q+ r, Y
1、扩充中文字库3 h8 |: b0 b. _3 n: A+ [0 a7 }0 @
2、扩充中文编码表. W3 p* F/ M) M3 R& k. y
3、修改字符读取函数,支持双字节读取
回复 支持 反对

使用道具 举报

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

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

使用道具 举报

6#
发表于 2010-3-15 21:05 | 只看该作者
我感觉有点类似断剑1的字库,你可以看看以下帖子% |0 O. {( K# j7 X. ?5 B
6 p6 T6 l0 D, F7 Q) e  E
【断剑1汉化项目】字体资源文件彻底解说
( V* s/ `, s, ]7 w1 [! ?https://www.chinaavg.com/read.php?tid=18959; i6 F) l7 M) E1 _; S

: M, f+ Q1 X- V6 b( G& D! H& m【断剑1汉化项目】中文字库设计
6 h* g. W9 q. `https://www.chinaavg.com/read.php?tid=18975
回复 支持 反对

使用道具 举报

7#
发表于 2010-3-15 21:22 | 只看该作者
你的字体的头部有一些信息,应该是字符的高度,宽度等信息。. ?1 M9 H! V7 p( _
然后下面是连续存放的一连串字符,每个字符都是n个字节。, U+ l; N/ o7 e& Z8 p" d
0xF0是有色点,其他的颜色,如边框,估计是游戏动态生成的。: w$ X1 O9 s( w: V% h/ Q
就像断剑那样。
回复 支持 反对

使用道具 举报

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

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