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

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

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

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

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

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

以下是英雄无敌四风之战争的汉化分析:
' x& e  `! P' {0 F6 @0 i6 _8 O% i6 h8 `. u
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00- d$ P7 @& k" m$ J6 B
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1 ~7 q3 a, N; f% J2 l0 X5 B4 ~# P& ~: h00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
- k2 [1 b- ?* B4 W* w00 00 40 00 00 00 00 00 00 00 00 00 00 30 00  e4 K! j. o  r* H
90 F0 F0 54 00 00 00 00 00 00 00 00 F0 F0 03 2 @) n, O9 o+ m( ]
B0 F0 F0 F0 45 00 00 00 00 00 00 30 F0 DF 0F
: [' D* |- K% e90 F0 F0 F0 EF 24 00 00 00 00 00 30 F0 BF 0D
* \& Y9 x9 l  @: e6 M+ v70 F0 EF F0 F0 EE 22 00 00 00 00 30 F0 BF 0B ! A7 a9 T" P; t
70 F0 4F 9E F0 F0 EE 22 00 00 00 30 F0 AF 0B
2 x+ }  V- D+ Z. L6 t  g70 F0 3F 04 99 F0 F0 EE 22 00 00 30 F0 7F 0A " G6 @% h5 g* ^3 n- l* e
70 F0 3F 03 00 99 F0 F0 EE 22 00 30 F0 7F 07 $ f+ a0 ~/ S/ \
70 F0 3F 03 00 00 99 F0 F0 EE 22 30 F0 7F 07 0 X8 q7 z  i. ^9 W0 u
70 F0 3F 03 00 00 00 99 F0 F0 EE 62 F0 7F 07
3 V) ^6 B. Q9 z7 v* b. H70 F0 3F 03 00 00 00 00 99 F0 F0 F0 F0 7F 07
6 H+ `; k/ ?" f" D% h90 F0 3F 03 00 00 00 00 00 99 F0 F0 F0 7F 07
+ o  ]$ O7 c# A0 e1 f3 k$ j7 ~% O  @B0 F0 3F 03 00 00 00 00 00 00 99 F0 F0 7F 07  
2 O" T3 f# [4 b' ]- aD0 9B 1F 03 00 00 00 00 00 00 00 89 AF 1F 07
+ l& o& C- n0 v$ {* Z* R10 0D 09 01 00 00 00 00 00 00 00 00 08 0A 01 3 n2 _" G3 k4 e7 o5 q
00 01 00 00 00 00 00 00 00 00 00 00 00 00 00
" o  c( H( f* j: k00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - y( R$ h: e3 j& e: Q
这是本人从内存中导出N的点阵字库,一个字节表示一个点,数值越大,颜色越深,
: r: o( ]1 F4 ^/ g$ @. q; Z0 x7 W
- a% Z  I& l* ?0071BD50  /$  51                    push ecx8 ^  t/ U% X# @: p: w4 u: S
0071BD51  |.  53                    push ebx
1 g" U" v! Z% q$ K0 T0071BD52  |.  55                    push ebp: g" y9 i3 {+ M) \! e" H; d
0071BD53  |.  8B6C24 1C             mov ebp,dword ptr ss:[esp+1C]8 }9 A, ~6 v) Q8 ]5 s
0071BD57  |.  894C24 08             mov dword ptr ss:[esp+8],ecx! |! c/ ?% t; b7 t" X
0071BD5B  |.  B3 01                 mov bl,1! [4 Z/ |" |9 e/ {
0071BD5D  |.  8A45 00               mov al,byte ptr ss:[ebp]4 g$ R* N7 b- g( e/ ]& L
0071BD60  |.  84C0                  test al,al/ D8 D5 X+ e  v+ J, v
0071BD62  |.  74 69                 je short heroes4.0071BDCD7 D. a% ]3 e) f" m1 ~: z7 Z
0071BD64  |.  56                    push esi
2 @( R% U- I4 i7 h0071BD65  |.  57                    push edi. n8 g( U' `" S6 U# r3 ]) a) k
0071BD66  |.  8B7C24 1C             mov edi,dword ptr ss:[esp+1C]. ~5 M) ~6 l/ c! h
0071BD6A  |.  EB 04                 jmp short heroes4.0071BD70) F, P; j: v' a, M1 |/ Z; U
0071BD6C  |>  8B4C24 10             /mov ecx,dword ptr ss:[esp+10]0 N" W7 D! J5 B! [; t
0071BD70  |>  8B51 08                mov edx,dword ptr ds:[ecx+8]
7 e1 c8 b% _0 R$ K+ y0071BD73  |.  25 FF000000           |and eax,0FF: E( o3 I  Y/ e; g, G1 d( g$ b5 @
0071BD78  |.  2BC2                  |sub eax,edx
3 U3 q4 `: C% s; F0071BD7A  |.  78 05                 |js short heroes4.0071BD81* u! ?% X7 V7 D# O0 d
0071BD7C  |.  3B41 14               |cmp eax,dword ptr ds:[ecx+14]
: i  R# f7 y3 X. p/ I# T% o1 j0071BD7F  |.  7C 02                 |jl short heroes4.0071BD83
0 y$ d7 Q- G/ g* j3 \0071BD81  |>  33C0                  |xor eax,eax) K9 x" r! V( P+ q% e% ~8 v
0071BD83  |>  8B49 18               |mov ecx,dword ptr ds:[ecx+18]+ n! M* T7 ]5 O
0071BD86  |.  8D1480                |lea edx,dword ptr ds:[eax+eax*4]        ;  字符编码基地址存到edx
+ g4 v: X* h- M1 L2 p0071BD89  |.  84DB                  |test bl,bl8 b& g( C* `) ~
0071BD8B  |.  8D0450                |lea eax,dword ptr ds:[eax+edx*2]3 C! {& `" P7 r4 L- _9 v
0071BD8E  |.  8D3481                |lea esi,dword ptr ds:[ecx+eax*4]
% N4 ~& s) v" l6 O/ v0071BD91  |.  75 03                 |jnz short heroes4.0071BD965 G1 x3 U$ Q4 U( C! ^+ @
0071BD93  |.  037E 14               |add edi,dword ptr ds:[esi+14]$ B, s" r3 t5 V* d# J. q
0071BD96  |>  8B5424 30             |mov edx,dword ptr ss:[esp+30]
2 c  r! i3 E; q" w0 _0071BD9A  |.  8B4424 2C             |mov eax,dword ptr ss:[esp+2C]* C$ l: v: j9 Z' }5 a
0071BD9E  |.  8B4C24 28             |mov ecx,dword ptr ss:[esp+28]7 d; C; V: p3 n3 L
0071BDA2  |.  52                    |push edx                                ; /Arg6
1 B' l1 P- {  J0071BDA3  |.  8B5424 24             |mov edx,dword ptr ss:[esp+24]           ; |2 C7 _0 D1 M0 B# l
0071BDA7  |.  50                    |push eax                                ; |Arg57 a1 {0 G! c9 f: B
0071BDA8  |.  8B4424 20             |mov eax,dword ptr ss:[esp+20]           ; |! T- s" W+ K8 v4 H8 K
0071BDAC  |.  51                    |push ecx                                ; |Arg4
0 z; T- v. r4 t1 Q0071BDAD  |.  52                    |push edx                                ; |Arg3
1 O! n; p  j  o# o8 ?0071BDAE  |.  57                    |push edi                                ; |Arg20 R2 R" t. R0 P% M/ B
0071BDAF  |.  50                    |push eax                                ; |Arg15 W8 l' M# u, I% |% c5 h
0071BDB0  |.  8BCE                  |mov ecx,esi                             ; |( ]/ u7 s9 ]9 |% M9 l8 Z. h
0071BDB2  |.  32DB                  |xor bl,bl                               ; |
$ {6 O8 N, P( x: _0 H0071BDB4  |.  E8 67FAFFFF           |call heroes4.0071B820                   ; \字库读取函数
( e1 e2 B5 J, [2 {: n+ l0071BDB9  |.  8B4E 18               |mov ecx,dword ptr ds:[esi+18]0 k! {) \$ m, l3 @3 R" {$ f
0071BDBC  |.  8B46 04               |mov eax,dword ptr ds:[esi+4]
, w8 j: u) y( \0071BDBF  |.  03C8                  |add ecx,eax
$ s, y5 _2 {! `0071BDC1  |.  8A45 01               |mov al,byte ptr ss:[ebp+1]
( e/ ?2 c+ I7 q, g/ V7 E' J0071BDC4  |.  03F9                  |add edi,ecx
$ f9 w8 l8 u9 P! f0071BDC6  |.  45                    |inc ebp/ j% b  s7 R; ~# z$ R, l6 A
0071BDC7  |.  84C0                  |test al,al
, Q) D& s1 C* Y- t4 n5 |+ w0071BDC9  |.^ 75 A1                 \jnz short heroes4.0071BD6C
2 |/ o& r- G$ s& P# ~0 k0071BDCB  |.  5F                    pop edi$ u/ ^0 `! I' n6 U6 h! `" v$ M- @
0071BDCC  |.  5E                    pop esi. N. ?2 `; O4 D# l
0071BDCD  |>  5D                    pop ebp* u5 A, X; G, `9 u# k0 s
0071BDCE  |.  5B                    pop ebx
2 z6 ^& z8 E, U$ \0071BDCF  |.  59                    pop ecx% J; K% `8 P$ z# a7 V9 _$ J% x
0071BDD0  \.  C2 1C00               retn 1C
2 U; ^  T4 o" C7 y! j' ^2 N# r7 @6 D
edx为字符编码基地址,每个字符占2C个字节,
1 j7 |, M7 R) {edx+4表示字宽
* W+ ]5 u8 d' Q8 d6 i0 Y% Cedx+8表示字高
1 v5 l: D- ], l$ `edx+10表示该字符点阵在内存的地址,* I  t7 o+ _2 A( D. K7 {; P" L
edx+14表示该字符前面的间距( c: J/ U/ Q9 q- ^* `+ c6 j7 U, s
edx+18表示该字符后面的间距; n# @2 x- ^4 j, X. Y( a* ?/ x
# ?0 y! A" K- i
字库文件位于data目录下的heroes4.h4r,可用H4ResEx解包器打开,打开之的文件名为font.Small Fonts5,font.Small Fonts7,0 F9 v! U4 u; h" L3 U
但是字库文件的内容与导出点阵对不上,还有待继续分析。。。。。。。。。。。。。。。。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

沙发
发表于 2010-3-15 20:42 | 只看该作者
哇,又来了一位懂汇编的高手。关注中。。。
% a- q9 E5 l4 [& y- e7 z! I对了,楼主,你不妨把字库文件什么的发上来,大家也可以帮你看看。
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2010-3-15 20:46 | 只看该作者
接下来的任务:- c* ]0 Q) |6 Q( G* h4 ^" R  U
1、扩充中文字库
8 d  e! ]5 a3 K+ j4 |2、扩充中文编码表- v. g6 q% p; Z' o9 Z
3、修改字符读取函数,支持双字节读取
回复 支持 反对

使用道具 举报

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

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

使用道具 举报

6#
发表于 2010-3-15 21:05 | 只看该作者
我感觉有点类似断剑1的字库,你可以看看以下帖子
! U" O& V% {4 Z' O
" r3 \  N' T4 I- i4 E【断剑1汉化项目】字体资源文件彻底解说1 l* k3 P% k5 Q
https://www.chinaavg.com/read.php?tid=189595 {6 ?8 r8 L9 X, K/ T3 n2 p. n; P* ^

8 c7 D+ x9 R8 F! z4 e【断剑1汉化项目】中文字库设计
" u0 o, n! {# Q" Ghttps://www.chinaavg.com/read.php?tid=18975
回复 支持 反对

使用道具 举报

7#
发表于 2010-3-15 21:22 | 只看该作者
你的字体的头部有一些信息,应该是字符的高度,宽度等信息。5 K% ~" j: n$ |5 s7 H
然后下面是连续存放的一连串字符,每个字符都是n个字节。
4 P" ?" c' U. H0xF0是有色点,其他的颜色,如边框,估计是游戏动态生成的。
* u& I! z3 J$ F3 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日,是全球华人共同的冒险解谜类游戏家园。我们致力于提供各类冒险游戏资讯供大家学习交流。本站所有资源均不用于商业用途。

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