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

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

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

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

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

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

以下是英雄无敌四风之战争的汉化分析:
$ L5 b5 q& ~+ J
# ]* [7 ]7 K" l, g9 A+ x- }  ~2 K00 00 00 00 00 00 00 00 00 00 00 00 00 00 00% _! z% x* b% b0 K# h
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
- P/ P$ K9 I: Y9 B7 B00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : M) ~! }- B! e& L7 k" r/ f
00 00 40 00 00 00 00 00 00 00 00 00 00 30 00
0 q, E! H) n; V. X6 `; H6 i' v8 {90 F0 F0 54 00 00 00 00 00 00 00 00 F0 F0 03
8 J! x* X: a$ _B0 F0 F0 F0 45 00 00 00 00 00 00 30 F0 DF 0F 8 W7 k9 W: X/ M: E
90 F0 F0 F0 EF 24 00 00 00 00 00 30 F0 BF 0D
0 i" K8 n* ?7 A, C* t2 n2 A70 F0 EF F0 F0 EE 22 00 00 00 00 30 F0 BF 0B
& y8 g) J/ i4 a# L& w% X70 F0 4F 9E F0 F0 EE 22 00 00 00 30 F0 AF 0B 7 F# s9 [1 e4 m% M2 s
70 F0 3F 04 99 F0 F0 EE 22 00 00 30 F0 7F 0A
5 |- ]6 j- c& E) w! J4 i& E70 F0 3F 03 00 99 F0 F0 EE 22 00 30 F0 7F 07 % p& |/ W2 @) S, D  N1 k
70 F0 3F 03 00 00 99 F0 F0 EE 22 30 F0 7F 07 ( l- J3 q6 G) P2 x" p* S$ l' U5 v  F
70 F0 3F 03 00 00 00 99 F0 F0 EE 62 F0 7F 07 ; o1 f$ B' r3 k. q6 R/ N" k. e
70 F0 3F 03 00 00 00 00 99 F0 F0 F0 F0 7F 07 ! z% V8 y2 T  t2 W2 r
90 F0 3F 03 00 00 00 00 00 99 F0 F0 F0 7F 07
0 F( @* z' b; g( Q0 |# |B0 F0 3F 03 00 00 00 00 00 00 99 F0 F0 7F 07  4 `/ T3 g/ g, H  T# ^
D0 9B 1F 03 00 00 00 00 00 00 00 89 AF 1F 07 * L: X. k% E8 ~! X+ b, J5 u6 a, h+ @
10 0D 09 01 00 00 00 00 00 00 00 00 08 0A 01 9 R1 D  s9 M6 m& |8 u- N" A
00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 ! m1 L$ f( d* Y# k6 r* |, n0 {
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 8 F$ x2 g: m7 a( C" I9 I
这是本人从内存中导出N的点阵字库,一个字节表示一个点,数值越大,颜色越深, : B- f  H, e7 z1 [# T: v

' o* ^. p$ b1 B9 B; _- g0 o0071BD50  /$  51                    push ecx
  O9 h/ B: b& m# ]. q- ?0071BD51  |.  53                    push ebx8 X" Y: p" @# N/ }
0071BD52  |.  55                    push ebp3 a4 V6 c+ N4 ^0 u3 C
0071BD53  |.  8B6C24 1C             mov ebp,dword ptr ss:[esp+1C]: k- [, W$ O/ v/ V7 b) a+ Z$ X
0071BD57  |.  894C24 08             mov dword ptr ss:[esp+8],ecx
! ^) Y) C; c2 w8 c; c0071BD5B  |.  B3 01                 mov bl,1
) D5 m; y! V$ ?; u8 q0071BD5D  |.  8A45 00               mov al,byte ptr ss:[ebp]& S3 |6 a) C" g; ^! i0 k. E4 r. K
0071BD60  |.  84C0                  test al,al' i2 Y$ K+ }1 h% N2 T9 u
0071BD62  |.  74 69                 je short heroes4.0071BDCD2 c- n: m; ]5 g+ I3 x
0071BD64  |.  56                    push esi
$ K2 i4 {4 X8 b; g) u; o0071BD65  |.  57                    push edi
9 _0 l. C$ u$ ]# I; t. k. ~0071BD66  |.  8B7C24 1C             mov edi,dword ptr ss:[esp+1C]
4 f$ A4 r; ]) l& w  g3 \0071BD6A  |.  EB 04                 jmp short heroes4.0071BD70& ?' Y" E: |2 a/ [3 d
0071BD6C  |>  8B4C24 10             /mov ecx,dword ptr ss:[esp+10]
/ f4 v8 k! H9 K6 I8 ]' |0071BD70  |>  8B51 08                mov edx,dword ptr ds:[ecx+8]4 a9 K/ J) j9 k6 ~# P7 Z
0071BD73  |.  25 FF000000           |and eax,0FF5 a' J* ]5 |5 Q* r6 x- ]
0071BD78  |.  2BC2                  |sub eax,edx
2 P: Q3 G0 f1 ^, Y, o0071BD7A  |.  78 05                 |js short heroes4.0071BD819 d$ p! E3 N/ N9 x# _
0071BD7C  |.  3B41 14               |cmp eax,dword ptr ds:[ecx+14], s: x* L, [2 w6 ^  ]* L8 k# M
0071BD7F  |.  7C 02                 |jl short heroes4.0071BD83
, C- m1 p1 h6 P6 C" [* b+ _% q0071BD81  |>  33C0                  |xor eax,eax9 ^: S) |7 l, V( K+ B$ n7 j
0071BD83  |>  8B49 18               |mov ecx,dword ptr ds:[ecx+18]
' c$ ]7 j) E8 `. T0 Z0 U0 ~0071BD86  |.  8D1480                |lea edx,dword ptr ds:[eax+eax*4]        ;  字符编码基地址存到edx# D, q3 o+ Y. }1 A  R# a
0071BD89  |.  84DB                  |test bl,bl) o+ P- Y* d2 `) a2 w
0071BD8B  |.  8D0450                |lea eax,dword ptr ds:[eax+edx*2]
1 u' m- @" ?" m# ^) C0071BD8E  |.  8D3481                |lea esi,dword ptr ds:[ecx+eax*4]4 f1 i& P& ~' O
0071BD91  |.  75 03                 |jnz short heroes4.0071BD96+ H$ ^  Q. c, a: |1 u3 \2 K
0071BD93  |.  037E 14               |add edi,dword ptr ds:[esi+14]& r- d2 f1 \  ~& q: b
0071BD96  |>  8B5424 30             |mov edx,dword ptr ss:[esp+30]
6 Z. m' I; j& m0071BD9A  |.  8B4424 2C             |mov eax,dword ptr ss:[esp+2C]
1 k7 h, [7 }$ _, c0071BD9E  |.  8B4C24 28             |mov ecx,dword ptr ss:[esp+28]
% k8 J7 w* }- @# t% `0071BDA2  |.  52                    |push edx                                ; /Arg62 _# s) S4 t6 V9 U
0071BDA3  |.  8B5424 24             |mov edx,dword ptr ss:[esp+24]           ; |
4 f4 ~( Q! s2 U5 r% |$ {0071BDA7  |.  50                    |push eax                                ; |Arg55 O& o) Z: q; r' q; Z
0071BDA8  |.  8B4424 20             |mov eax,dword ptr ss:[esp+20]           ; |
* ?9 l$ W5 _  P8 n5 T0071BDAC  |.  51                    |push ecx                                ; |Arg4$ _3 Q* l' U" a. R% A
0071BDAD  |.  52                    |push edx                                ; |Arg3
3 ~3 W8 i/ V0 o0071BDAE  |.  57                    |push edi                                ; |Arg2% \* j! S+ z8 z. ]
0071BDAF  |.  50                    |push eax                                ; |Arg1  L! V4 C& K, ?8 [% R% H# d
0071BDB0  |.  8BCE                  |mov ecx,esi                             ; |
* ^+ f* N" i7 J! u- C5 e0071BDB2  |.  32DB                  |xor bl,bl                               ; |
1 X# w+ q/ N3 c8 f0071BDB4  |.  E8 67FAFFFF           |call heroes4.0071B820                   ; \字库读取函数6 I5 x# |% B3 A0 n. G7 ]
0071BDB9  |.  8B4E 18               |mov ecx,dword ptr ds:[esi+18]9 U8 w: `0 e3 f+ W; f# @
0071BDBC  |.  8B46 04               |mov eax,dword ptr ds:[esi+4]
( X' U: p% l" ?% H, k* E$ N2 G0071BDBF  |.  03C8                  |add ecx,eax
" G" Y* V1 v/ _% m! \4 i" v0071BDC1  |.  8A45 01               |mov al,byte ptr ss:[ebp+1]
, R. s3 e/ x& ~0 Q* }1 R1 X# c0071BDC4  |.  03F9                  |add edi,ecx
, c* a' Y9 C9 k8 }0071BDC6  |.  45                    |inc ebp% M7 }5 y7 I6 L. B
0071BDC7  |.  84C0                  |test al,al2 T+ g. m; p4 L+ I/ ~2 V8 C
0071BDC9  |.^ 75 A1                 \jnz short heroes4.0071BD6C
1 j7 z  l" o- Y: x% V' m3 f0071BDCB  |.  5F                    pop edi/ @& V) X9 J! f+ k8 l; c0 ]$ b' J
0071BDCC  |.  5E                    pop esi# d6 O/ m8 a4 a9 W9 R3 Z9 l7 S" ^
0071BDCD  |>  5D                    pop ebp% {4 \7 \2 Q; O- y. R/ I7 A8 {
0071BDCE  |.  5B                    pop ebx+ _+ A( E: O# A( ^  e2 ?4 J5 `8 @
0071BDCF  |.  59                    pop ecx
- E( W  V; r3 b) ?, o0071BDD0  \.  C2 1C00               retn 1C# E, t+ N9 C4 \5 d) b+ {
: A5 w& |0 E3 F& u4 Q7 k3 r
edx为字符编码基地址,每个字符占2C个字节,' z6 C, l8 D) r  I
edx+4表示字宽
( p7 h% e: ^' D& [3 Gedx+8表示字高9 \$ E: ?3 ^' v
edx+10表示该字符点阵在内存的地址,% ]( f# l% `0 s! m" I  m
edx+14表示该字符前面的间距# ]1 r" x2 E; u8 N5 f2 P( m
edx+18表示该字符后面的间距7 H7 F/ G; ^9 Y6 q
7 m, p! }, S1 e5 K& \6 w
字库文件位于data目录下的heroes4.h4r,可用H4ResEx解包器打开,打开之的文件名为font.Small Fonts5,font.Small Fonts7,( J! f4 _# m1 R
但是字库文件的内容与导出点阵对不上,还有待继续分析。。。。。。。。。。。。。。。。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

沙发
发表于 2010-3-15 20:42 | 只看该作者
哇,又来了一位懂汇编的高手。关注中。。。
3 T( ]2 m! B! Z! I+ n对了,楼主,你不妨把字库文件什么的发上来,大家也可以帮你看看。
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2010-3-15 20:46 | 只看该作者
接下来的任务:
+ z" [6 v7 q$ x- z) `/ _; E+ q1、扩充中文字库
/ w8 G' N" {' b* Y7 ^: i9 o" o: O2、扩充中文编码表
; D! C, y% b7 f& F! A5 p3、修改字符读取函数,支持双字节读取
回复 支持 反对

使用道具 举报

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

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

使用道具 举报

6#
发表于 2010-3-15 21:05 | 只看该作者
我感觉有点类似断剑1的字库,你可以看看以下帖子  O% a) P  U3 J! I
! D# [) Z# D$ s" S; J
【断剑1汉化项目】字体资源文件彻底解说7 N) l+ u- m0 `4 h6 K
https://www.chinaavg.com/read.php?tid=18959
* N: h8 a4 o- l7 R( D1 i5 Y- y& ]* Q4 C9 _4 y( P, ]
【断剑1汉化项目】中文字库设计
2 g6 h3 G1 |3 S' nhttps://www.chinaavg.com/read.php?tid=18975
回复 支持 反对

使用道具 举报

7#
发表于 2010-3-15 21:22 | 只看该作者
你的字体的头部有一些信息,应该是字符的高度,宽度等信息。
9 @# p  U2 X6 X+ Q2 e* E然后下面是连续存放的一连串字符,每个字符都是n个字节。
7 [, g0 @: d( M* U; b) o# N0xF0是有色点,其他的颜色,如边框,估计是游戏动态生成的。
1 D& p2 P+ u4 C$ x就像断剑那样。
回复 支持 反对

使用道具 举报

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

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