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

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

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

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

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

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

以下是英雄无敌四风之战争的汉化分析:( Q, y" _! i# o& e7 x

3 \6 p/ h1 n& ?0 l- `* X. i6 a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00) P; }- Q; s" F* A
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ) ^! B# d5 q) V! ]- Y
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
% j' }" r. @' z+ @( @: ~, S00 00 40 00 00 00 00 00 00 00 00 00 00 30 00
/ f7 u) s6 }3 [( R  j1 s: M90 F0 F0 54 00 00 00 00 00 00 00 00 F0 F0 03
7 u& z$ _$ h; f$ ?) \$ N  ?7 G3 Q- JB0 F0 F0 F0 45 00 00 00 00 00 00 30 F0 DF 0F ( z9 T7 t" @: i) ~
90 F0 F0 F0 EF 24 00 00 00 00 00 30 F0 BF 0D. ?" k1 s. v# d! j* T6 P, T- O
70 F0 EF F0 F0 EE 22 00 00 00 00 30 F0 BF 0B
; n& h3 d- r; q. y5 V( r, M, Q70 F0 4F 9E F0 F0 EE 22 00 00 00 30 F0 AF 0B 6 J) n# H' ?% P0 B, S, e
70 F0 3F 04 99 F0 F0 EE 22 00 00 30 F0 7F 0A
; [4 U2 H. z' g( |5 f( L70 F0 3F 03 00 99 F0 F0 EE 22 00 30 F0 7F 07
1 D5 _0 h$ k( G$ d# t7 b, {70 F0 3F 03 00 00 99 F0 F0 EE 22 30 F0 7F 07
+ i$ h+ V1 y" ^4 ]. s  V0 Z0 |70 F0 3F 03 00 00 00 99 F0 F0 EE 62 F0 7F 07
. ~3 I0 Y1 K0 w2 a0 R70 F0 3F 03 00 00 00 00 99 F0 F0 F0 F0 7F 07
" [1 y+ A7 Q1 p4 B90 F0 3F 03 00 00 00 00 00 99 F0 F0 F0 7F 07
! |& h. \  a1 s( d' KB0 F0 3F 03 00 00 00 00 00 00 99 F0 F0 7F 07  1 p2 O; c1 M0 _
D0 9B 1F 03 00 00 00 00 00 00 00 89 AF 1F 07 , M( u0 Q, U& O- Q7 _8 B& f. o- B
10 0D 09 01 00 00 00 00 00 00 00 00 08 0A 01
5 [  M. R( ]* Y4 y, ?# I3 e+ {00 01 00 00 00 00 00 00 00 00 00 00 00 00 00
4 e! g  U& z. H3 Z! g5 s' _( s00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 # y# H. L. d. i: F
这是本人从内存中导出N的点阵字库,一个字节表示一个点,数值越大,颜色越深,
' `; k7 Y0 O8 W* v8 v' Z
3 J  h8 H4 o5 N/ A* ]( j  t8 Q5 a0071BD50  /$  51                    push ecx
% r  `2 U7 N0 U0 N& ^/ q8 a0071BD51  |.  53                    push ebx$ V. A" }# k3 n' u( `% M4 K
0071BD52  |.  55                    push ebp
1 k! u8 _6 E) E2 v& R) V0071BD53  |.  8B6C24 1C             mov ebp,dword ptr ss:[esp+1C]
3 x9 n  V2 w$ x  |0071BD57  |.  894C24 08             mov dword ptr ss:[esp+8],ecx
2 A/ m, O, w% c2 e( S; o0 Q( H0071BD5B  |.  B3 01                 mov bl,16 v" A  z/ k7 _! `" w
0071BD5D  |.  8A45 00               mov al,byte ptr ss:[ebp]
% ~+ F6 T: s/ A7 ~9 V- \, ?' C0071BD60  |.  84C0                  test al,al
5 e, @0 `4 _5 ?( a( k2 O0071BD62  |.  74 69                 je short heroes4.0071BDCD
6 E/ p+ T# a; l0071BD64  |.  56                    push esi
0 D/ N% w, ^* Y0071BD65  |.  57                    push edi
  ]7 P4 `" n, k! L% l0071BD66  |.  8B7C24 1C             mov edi,dword ptr ss:[esp+1C]# E  u: ]9 R, q; o
0071BD6A  |.  EB 04                 jmp short heroes4.0071BD70; P; s  S! o* V& p! b4 q( b
0071BD6C  |>  8B4C24 10             /mov ecx,dword ptr ss:[esp+10]
0 {- I+ G: [% s) r0071BD70  |>  8B51 08                mov edx,dword ptr ds:[ecx+8]
2 Z  J+ y) c* b2 V1 z0071BD73  |.  25 FF000000           |and eax,0FF. W* E" p* O) p, a( Z" }& T& |/ y; k* T7 f
0071BD78  |.  2BC2                  |sub eax,edx# R( I! t9 E" D) k
0071BD7A  |.  78 05                 |js short heroes4.0071BD81  g6 ?! ^: ?& p" ?
0071BD7C  |.  3B41 14               |cmp eax,dword ptr ds:[ecx+14]7 {3 q) @8 P" W5 Y/ s# M
0071BD7F  |.  7C 02                 |jl short heroes4.0071BD83+ J5 O; @- E- M9 X+ n; W7 e
0071BD81  |>  33C0                  |xor eax,eax- X9 e$ i( T, f8 d4 y
0071BD83  |>  8B49 18               |mov ecx,dword ptr ds:[ecx+18]
# l9 k( f$ |* ~9 }6 d* }( ~6 S0071BD86  |.  8D1480                |lea edx,dword ptr ds:[eax+eax*4]        ;  字符编码基地址存到edx/ Q& z6 o1 T+ E. I3 l( L
0071BD89  |.  84DB                  |test bl,bl1 f  }+ a+ J& L# A# n$ E
0071BD8B  |.  8D0450                |lea eax,dword ptr ds:[eax+edx*2]- q, T! l! M1 G+ Q, g
0071BD8E  |.  8D3481                |lea esi,dword ptr ds:[ecx+eax*4]5 U- d# h  b& N& o8 b! b5 c% o) ^
0071BD91  |.  75 03                 |jnz short heroes4.0071BD96+ u' ]2 g/ k7 }! u% j/ R
0071BD93  |.  037E 14               |add edi,dword ptr ds:[esi+14]
- w9 C6 ?1 Q6 M2 ^( E0071BD96  |>  8B5424 30             |mov edx,dword ptr ss:[esp+30]: X9 ]7 u4 {/ d& S# h4 J9 l  w
0071BD9A  |.  8B4424 2C             |mov eax,dword ptr ss:[esp+2C]
- n9 V1 V% |& F9 h0071BD9E  |.  8B4C24 28             |mov ecx,dword ptr ss:[esp+28]
& f" F" ~, ^' y0071BDA2  |.  52                    |push edx                                ; /Arg6- p* Q+ t# j, T% |2 B6 Z8 C
0071BDA3  |.  8B5424 24             |mov edx,dword ptr ss:[esp+24]           ; |. u! z3 j; j5 \  M
0071BDA7  |.  50                    |push eax                                ; |Arg5; ?* |: b# y3 [. K6 _
0071BDA8  |.  8B4424 20             |mov eax,dword ptr ss:[esp+20]           ; |# w* T" d5 l/ d& G- ~1 q1 b3 F7 v
0071BDAC  |.  51                    |push ecx                                ; |Arg48 q# F/ x/ f/ e( h6 c
0071BDAD  |.  52                    |push edx                                ; |Arg3
0 w3 p- b- G9 {2 T% \( L: I0 \0071BDAE  |.  57                    |push edi                                ; |Arg2
7 p" b, e7 z& Z6 ^/ b0071BDAF  |.  50                    |push eax                                ; |Arg1
* K+ d) B" \5 r0071BDB0  |.  8BCE                  |mov ecx,esi                             ; |
( ]4 _' P: C  ?# ^0071BDB2  |.  32DB                  |xor bl,bl                               ; |
9 T" M( g  x) ?- @" w% W0071BDB4  |.  E8 67FAFFFF           |call heroes4.0071B820                   ; \字库读取函数) S& ?( v; d9 D: q
0071BDB9  |.  8B4E 18               |mov ecx,dword ptr ds:[esi+18]
- T# {3 g6 v( H* d6 L" V0071BDBC  |.  8B46 04               |mov eax,dword ptr ds:[esi+4]5 |* m! O! @+ e9 @; w
0071BDBF  |.  03C8                  |add ecx,eax
# p# y$ v3 y* a0 r- r0071BDC1  |.  8A45 01               |mov al,byte ptr ss:[ebp+1]0 C* H  ?' x8 `6 ~
0071BDC4  |.  03F9                  |add edi,ecx
% I6 E# h' S9 z2 @6 X0071BDC6  |.  45                    |inc ebp9 }. t7 W+ G5 a: W3 _+ q
0071BDC7  |.  84C0                  |test al,al1 r& f- \( [+ ?; l" m% ~9 B8 ^4 B  l
0071BDC9  |.^ 75 A1                 \jnz short heroes4.0071BD6C
; u) w" w9 H, I# \" N) X+ K$ f( y0071BDCB  |.  5F                    pop edi; f) l4 L3 y2 |4 n! S$ ?: m( [
0071BDCC  |.  5E                    pop esi
# W) I8 h: t& i0071BDCD  |>  5D                    pop ebp
! H  Y1 c) t/ z2 j4 P0071BDCE  |.  5B                    pop ebx
. t% y' X4 x5 Y4 S8 _4 Z0071BDCF  |.  59                    pop ecx
1 ^8 E+ t+ m" k/ g6 s: h' Q9 g0071BDD0  \.  C2 1C00               retn 1C: ]! q3 G4 v9 u% b" ]9 h
2 {& C+ d6 ?8 H1 T5 n  n+ H, X/ c
edx为字符编码基地址,每个字符占2C个字节,
3 \- v+ c- s$ i$ K- P$ wedx+4表示字宽
+ F& g2 N* a" wedx+8表示字高& m8 p8 {5 O8 G: s7 _) m3 v
edx+10表示该字符点阵在内存的地址,1 ?) A7 P1 q" s1 {
edx+14表示该字符前面的间距% ]; Q, v1 p# E& u: ?" h! r; q) i" J
edx+18表示该字符后面的间距) m3 ^4 c4 t0 r  {# n' {
) W7 a7 v7 X: f- ^) C
字库文件位于data目录下的heroes4.h4r,可用H4ResEx解包器打开,打开之的文件名为font.Small Fonts5,font.Small Fonts7,
5 @6 W$ ~0 n% B4 g7 B0 Y" I1 ?5 Y但是字库文件的内容与导出点阵对不上,还有待继续分析。。。。。。。。。。。。。。。。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

沙发
发表于 2010-3-15 20:42 | 只看该作者
哇,又来了一位懂汇编的高手。关注中。。。9 ^5 N! `% f+ U. y. n7 M: S+ h9 b
对了,楼主,你不妨把字库文件什么的发上来,大家也可以帮你看看。
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2010-3-15 20:46 | 只看该作者
接下来的任务:8 Y8 L6 ^9 C# ]9 J' U
1、扩充中文字库
& y6 k1 ?  s) z2 x( k& V- ]2、扩充中文编码表; s4 B" _1 j2 `* |# Z+ a
3、修改字符读取函数,支持双字节读取
回复 支持 反对

使用道具 举报

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

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

使用道具 举报

6#
发表于 2010-3-15 21:05 | 只看该作者
我感觉有点类似断剑1的字库,你可以看看以下帖子
! j; L5 U0 o: v7 P9 D& D5 j. Z* p( I; l" T" g" D
【断剑1汉化项目】字体资源文件彻底解说
8 M2 o( {" `+ R; {* `8 u7 dhttps://www.chinaavg.com/read.php?tid=18959: q  u8 O9 F% B9 c! {" k/ z

2 @# w1 W! L" ]" N( K/ p. z- [【断剑1汉化项目】中文字库设计
0 P3 I( K1 S$ X. bhttps://www.chinaavg.com/read.php?tid=18975
回复 支持 反对

使用道具 举报

7#
发表于 2010-3-15 21:22 | 只看该作者
你的字体的头部有一些信息,应该是字符的高度,宽度等信息。
3 o4 v" J1 M8 ]; Y/ i0 Y: q然后下面是连续存放的一连串字符,每个字符都是n个字节。
# f! ?3 k$ Z0 T+ H3 W0xF0是有色点,其他的颜色,如边框,估计是游戏动态生成的。
' G! q0 U3 y1 c5 y8 c' `/ L就像断剑那样。
回复 支持 反对

使用道具 举报

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

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