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

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

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

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

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

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

以下是英雄无敌四风之战争的汉化分析:: r- B  C5 c( F- ?

; Z* e' h! K; T* M* J* L00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
, e. G# n- a. h0 ~7 }8 i) a7 s% I00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2 @4 W! `( R8 p00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ~6 T$ W7 S0 A+ J
00 00 40 00 00 00 00 00 00 00 00 00 00 30 00
, H0 N- B. l8 O2 _* x* M90 F0 F0 54 00 00 00 00 00 00 00 00 F0 F0 03 5 Y% @  ~9 J& @9 P
B0 F0 F0 F0 45 00 00 00 00 00 00 30 F0 DF 0F
: w; R0 p& o5 x4 e* J90 F0 F0 F0 EF 24 00 00 00 00 00 30 F0 BF 0D$ x# ~6 `' _+ f* Q0 _, G, f
70 F0 EF F0 F0 EE 22 00 00 00 00 30 F0 BF 0B ! B$ q* w! A+ C1 X1 Z# o! [
70 F0 4F 9E F0 F0 EE 22 00 00 00 30 F0 AF 0B
. Q' R5 C! j) j$ ?70 F0 3F 04 99 F0 F0 EE 22 00 00 30 F0 7F 0A / }3 C# g- U& u  W
70 F0 3F 03 00 99 F0 F0 EE 22 00 30 F0 7F 07 # n. n3 D! l# T. b7 E
70 F0 3F 03 00 00 99 F0 F0 EE 22 30 F0 7F 07 & a) W2 J: W; ]- u
70 F0 3F 03 00 00 00 99 F0 F0 EE 62 F0 7F 07 - S8 n2 R/ q0 H6 S/ s4 ~5 E7 ~* Y
70 F0 3F 03 00 00 00 00 99 F0 F0 F0 F0 7F 07
# @- P2 h# P/ P& }4 V90 F0 3F 03 00 00 00 00 00 99 F0 F0 F0 7F 07
$ R+ Z4 D3 m* }6 n! l! L6 DB0 F0 3F 03 00 00 00 00 00 00 99 F0 F0 7F 07  
' E4 H- f, ^) v) q3 _! U4 zD0 9B 1F 03 00 00 00 00 00 00 00 89 AF 1F 07
; J5 i* e6 g+ w2 m1 x5 [10 0D 09 01 00 00 00 00 00 00 00 00 08 0A 01
! b  y1 R7 r2 k# v7 |, U00 01 00 00 00 00 00 00 00 00 00 00 00 00 00
% ]9 V- K: B" [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  Z- a+ R( f4 M, \这是本人从内存中导出N的点阵字库,一个字节表示一个点,数值越大,颜色越深, 9 D# C- Q5 B3 X% u

, A) O1 Y% o7 l1 ]0071BD50  /$  51                    push ecx& l; \" |0 {# D. @
0071BD51  |.  53                    push ebx
# ~/ Z; p3 t; r/ Y, ~9 _) R" Z( a0071BD52  |.  55                    push ebp# U/ G0 ^/ h" F( A# |9 @
0071BD53  |.  8B6C24 1C             mov ebp,dword ptr ss:[esp+1C], U+ D" p  P2 ^% Z8 r
0071BD57  |.  894C24 08             mov dword ptr ss:[esp+8],ecx4 k  |' t' R3 b2 Q5 X) y6 t
0071BD5B  |.  B3 01                 mov bl,1  k" _  ?" V" i8 d
0071BD5D  |.  8A45 00               mov al,byte ptr ss:[ebp]
/ ~' y3 ]. t1 J) t( Q0071BD60  |.  84C0                  test al,al
( J1 f. q! o" l# L2 z; r0071BD62  |.  74 69                 je short heroes4.0071BDCD
" V6 |8 _9 z. E/ H4 Q0071BD64  |.  56                    push esi
) q) k8 f5 ^0 ^6 h* j0071BD65  |.  57                    push edi! ]- R! d" w2 r* X+ z
0071BD66  |.  8B7C24 1C             mov edi,dword ptr ss:[esp+1C]
' q- Z# W; ]; k) h5 L, B- e* e0071BD6A  |.  EB 04                 jmp short heroes4.0071BD70
: C6 B' ^  Y1 Y7 d0071BD6C  |>  8B4C24 10             /mov ecx,dword ptr ss:[esp+10]- C1 O" ~# [- G" ]* w1 f0 W
0071BD70  |>  8B51 08                mov edx,dword ptr ds:[ecx+8]$ n  f- g) p: A7 M6 L
0071BD73  |.  25 FF000000           |and eax,0FF
6 C( I+ L; X6 `: L; }0071BD78  |.  2BC2                  |sub eax,edx* V0 p( A: n$ M; e6 h
0071BD7A  |.  78 05                 |js short heroes4.0071BD81! Q0 \9 O2 f" p% t  z$ _( b% Q9 f7 D
0071BD7C  |.  3B41 14               |cmp eax,dword ptr ds:[ecx+14]2 F, m$ A& o3 n/ H# B- B% C
0071BD7F  |.  7C 02                 |jl short heroes4.0071BD83
( x" K( L* E3 B  D. [, \! i. i0071BD81  |>  33C0                  |xor eax,eax, T- v6 V, U  ^* u# D6 u
0071BD83  |>  8B49 18               |mov ecx,dword ptr ds:[ecx+18]
& s7 g0 j. l# v1 N0071BD86  |.  8D1480                |lea edx,dword ptr ds:[eax+eax*4]        ;  字符编码基地址存到edx
7 O$ {2 B4 C  O0 @0 p* m- g( e+ G0071BD89  |.  84DB                  |test bl,bl: o# h3 o- N! ?1 I2 B& y- ?
0071BD8B  |.  8D0450                |lea eax,dword ptr ds:[eax+edx*2]
- A4 f1 L2 V; q" t) ~0 z0071BD8E  |.  8D3481                |lea esi,dword ptr ds:[ecx+eax*4]
; H8 V/ a3 ~  A& o- R2 \  i0071BD91  |.  75 03                 |jnz short heroes4.0071BD96
) S9 y/ |# n& n* g# l5 @4 }0071BD93  |.  037E 14               |add edi,dword ptr ds:[esi+14]
+ R5 c: A5 D% D% R8 u' S# e% q0071BD96  |>  8B5424 30             |mov edx,dword ptr ss:[esp+30]0 P/ X: N1 j6 D* R. x, t
0071BD9A  |.  8B4424 2C             |mov eax,dword ptr ss:[esp+2C]
" X- {* `3 l2 ~. l( J0071BD9E  |.  8B4C24 28             |mov ecx,dword ptr ss:[esp+28]+ a0 I: O' s! F$ U- W% z$ Q. F! J
0071BDA2  |.  52                    |push edx                                ; /Arg6
6 e1 _1 j  D0 [6 }7 Y( ^0071BDA3  |.  8B5424 24             |mov edx,dword ptr ss:[esp+24]           ; |
- M( Z  ]6 a0 g  ~# B0071BDA7  |.  50                    |push eax                                ; |Arg5
; p: L4 P$ C9 h7 s% S0071BDA8  |.  8B4424 20             |mov eax,dword ptr ss:[esp+20]           ; |. o7 R' {9 n% w( Q# {6 k( p  s
0071BDAC  |.  51                    |push ecx                                ; |Arg4$ A# K8 G, j5 T6 T. H
0071BDAD  |.  52                    |push edx                                ; |Arg3" h* F( e0 X* s" U# l" p
0071BDAE  |.  57                    |push edi                                ; |Arg21 d% ]: {* u: v. @
0071BDAF  |.  50                    |push eax                                ; |Arg1& B3 e. H3 v7 ]- J* s: A" b
0071BDB0  |.  8BCE                  |mov ecx,esi                             ; |
; b5 R9 N( g" o3 B4 n# E0071BDB2  |.  32DB                  |xor bl,bl                               ; |7 G$ k) O% J4 [9 z. c3 j
0071BDB4  |.  E8 67FAFFFF           |call heroes4.0071B820                   ; \字库读取函数
9 ~( D7 \  _3 r" _0071BDB9  |.  8B4E 18               |mov ecx,dword ptr ds:[esi+18]0 [/ o8 o7 H9 h, @5 O# A% v
0071BDBC  |.  8B46 04               |mov eax,dword ptr ds:[esi+4]
0 x9 v% i" c, X3 q+ o0071BDBF  |.  03C8                  |add ecx,eax) {  X7 z0 j' m- l% y9 f1 |
0071BDC1  |.  8A45 01               |mov al,byte ptr ss:[ebp+1]# K2 r$ |' u# ?' T, }9 E7 ]1 u9 M8 `6 M
0071BDC4  |.  03F9                  |add edi,ecx
% T9 O* u' A3 q* I. Q8 y0071BDC6  |.  45                    |inc ebp, n3 g) j! J+ e4 ^  b" A& F
0071BDC7  |.  84C0                  |test al,al4 g7 K3 q  q& [2 \3 {" p* z
0071BDC9  |.^ 75 A1                 \jnz short heroes4.0071BD6C
1 d' N  F# @/ l( v) S0071BDCB  |.  5F                    pop edi1 h: L, q8 D7 K) f3 K: G
0071BDCC  |.  5E                    pop esi% k) a/ g; e, E' D  T
0071BDCD  |>  5D                    pop ebp
( @* t0 e; I( [1 G0071BDCE  |.  5B                    pop ebx
$ l0 a  y$ q& G: X! I0071BDCF  |.  59                    pop ecx5 w9 k) c4 z8 Y9 E7 S/ \
0071BDD0  \.  C2 1C00               retn 1C# `' v+ H/ G( A2 e3 y

2 ?4 A9 X9 r! g1 B; _! Y+ Eedx为字符编码基地址,每个字符占2C个字节," O) S! h" H* B; ?6 ?8 R
edx+4表示字宽( q2 W: b& z+ @# f
edx+8表示字高; V( S  D5 \! }2 \+ K- G+ E/ o9 z
edx+10表示该字符点阵在内存的地址,; u5 B2 P% J4 X" O8 E3 `
edx+14表示该字符前面的间距* J2 V6 M8 ~: G' T: |2 D" j
edx+18表示该字符后面的间距
, F6 p( t. L0 X+ Y' o5 n8 j$ J* u+ S/ g0 K& W8 t
字库文件位于data目录下的heroes4.h4r,可用H4ResEx解包器打开,打开之的文件名为font.Small Fonts5,font.Small Fonts7,7 c" x, ?5 A+ \: H! y/ r" Y
但是字库文件的内容与导出点阵对不上,还有待继续分析。。。。。。。。。。。。。。。。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

沙发
发表于 2010-3-15 20:42 | 只看该作者
哇,又来了一位懂汇编的高手。关注中。。。
+ J* M% ~2 b. u, ]* z, d对了,楼主,你不妨把字库文件什么的发上来,大家也可以帮你看看。
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2010-3-15 20:46 | 只看该作者
接下来的任务:
" u7 I8 @0 |" X* {) {1、扩充中文字库
# G8 ]4 H! o8 I$ s+ r2、扩充中文编码表# e+ @* y/ N  ^  ?: T4 e9 u: A, g  `
3、修改字符读取函数,支持双字节读取
回复 支持 反对

使用道具 举报

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

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

使用道具 举报

6#
发表于 2010-3-15 21:05 | 只看该作者
我感觉有点类似断剑1的字库,你可以看看以下帖子
4 s$ ~0 }, o/ C6 `# t, w6 I& l2 q# r8 R* j
【断剑1汉化项目】字体资源文件彻底解说
0 L4 v% \; c7 ?$ z9 Jhttps://www.chinaavg.com/read.php?tid=18959
8 X$ Y0 g* [! [% q$ q; R- d( m6 u/ a
【断剑1汉化项目】中文字库设计
0 B7 T  Q1 q. F1 y5 fhttps://www.chinaavg.com/read.php?tid=18975
回复 支持 反对

使用道具 举报

7#
发表于 2010-3-15 21:22 | 只看该作者
你的字体的头部有一些信息,应该是字符的高度,宽度等信息。
+ G' v! l& s6 E1 n0 E$ t然后下面是连续存放的一连串字符,每个字符都是n个字节。
# Y" \3 d: R/ \+ w5 K0xF0是有色点,其他的颜色,如边框,估计是游戏动态生成的。
- ~) ]4 W5 f6 T6 v) |, J# n9 x* F$ a就像断剑那样。
回复 支持 反对

使用道具 举报

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

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