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

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

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

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

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

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

以下是英雄无敌四风之战争的汉化分析:  D* {0 T7 e- _% p1 f! A4 n: [

6 `  O4 q* P# r* u9 s! D" U5 K00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
* d& k/ ?2 Q# g+ i" }( G. H6 `00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
6 x* B) q0 @% G; j% `* X00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
7 {0 Q4 g/ v/ `( H' k! B00 00 40 00 00 00 00 00 00 00 00 00 00 30 00$ o- Y  v- y9 ~( x& e7 b
90 F0 F0 54 00 00 00 00 00 00 00 00 F0 F0 03
4 P7 ~  L  }1 J" w+ h" f% MB0 F0 F0 F0 45 00 00 00 00 00 00 30 F0 DF 0F
( b) M/ w8 g7 a: h- ^! i2 Z$ t/ t90 F0 F0 F0 EF 24 00 00 00 00 00 30 F0 BF 0D& e2 E/ W- x; k! L9 f
70 F0 EF F0 F0 EE 22 00 00 00 00 30 F0 BF 0B 4 M! k; w- \6 _+ c5 j3 Z+ ]
70 F0 4F 9E F0 F0 EE 22 00 00 00 30 F0 AF 0B 1 _9 J* j9 P' O7 w: W( a
70 F0 3F 04 99 F0 F0 EE 22 00 00 30 F0 7F 0A : q, @2 ?8 P1 X7 E
70 F0 3F 03 00 99 F0 F0 EE 22 00 30 F0 7F 07
( `0 i+ t& e* r$ L& c/ K& x70 F0 3F 03 00 00 99 F0 F0 EE 22 30 F0 7F 07 , M0 ]' S/ O/ u# {+ H
70 F0 3F 03 00 00 00 99 F0 F0 EE 62 F0 7F 07
! G1 j- `9 W. \70 F0 3F 03 00 00 00 00 99 F0 F0 F0 F0 7F 07 ! s+ b/ M! ?  V- m: j! H# j: }
90 F0 3F 03 00 00 00 00 00 99 F0 F0 F0 7F 07
1 F5 |1 }5 X( c+ M0 jB0 F0 3F 03 00 00 00 00 00 00 99 F0 F0 7F 07  
5 z+ S1 q4 N( y1 V7 M( JD0 9B 1F 03 00 00 00 00 00 00 00 89 AF 1F 07 4 g( t" H4 O9 T; y
10 0D 09 01 00 00 00 00 00 00 00 00 08 0A 01
0 ^0 D$ Q7 J$ k# F00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 / U$ M! w5 T$ _
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
6 F+ C& t  f( ~  l这是本人从内存中导出N的点阵字库,一个字节表示一个点,数值越大,颜色越深, - I/ h: F1 m+ X. \; G$ L
( \* F* ?* G' R, O3 }/ |
0071BD50  /$  51                    push ecx2 c) y' w% e- D  K' l  `7 C6 o
0071BD51  |.  53                    push ebx
2 i& X1 t0 Z) o/ `0071BD52  |.  55                    push ebp
( x5 a1 U  _; S4 b" h3 \0071BD53  |.  8B6C24 1C             mov ebp,dword ptr ss:[esp+1C]" d/ A, [3 M* u
0071BD57  |.  894C24 08             mov dword ptr ss:[esp+8],ecx
* O% Y! R7 i( _. q7 R0071BD5B  |.  B3 01                 mov bl,1# W$ f; B5 B6 [  Y4 J) o* z
0071BD5D  |.  8A45 00               mov al,byte ptr ss:[ebp]
! B; Z, t1 |- H3 s8 ]: ~1 r' \" Y2 c. p0071BD60  |.  84C0                  test al,al
) p5 Z8 O# C+ r" ^, h+ Y0071BD62  |.  74 69                 je short heroes4.0071BDCD
6 j, i2 x# m3 ^0 @0071BD64  |.  56                    push esi4 f1 q8 x! X/ o  H
0071BD65  |.  57                    push edi
+ i, m: P- p6 x' m( g0071BD66  |.  8B7C24 1C             mov edi,dword ptr ss:[esp+1C]
8 h/ V' C5 {) b, J. u0071BD6A  |.  EB 04                 jmp short heroes4.0071BD70. x3 y* {9 }0 Z9 {  K3 T2 r- W3 c
0071BD6C  |>  8B4C24 10             /mov ecx,dword ptr ss:[esp+10]$ }' |. i* ]6 ~# {( k: j
0071BD70  |>  8B51 08                mov edx,dword ptr ds:[ecx+8], @: }& G) t8 _2 j8 G/ \$ G8 v9 H
0071BD73  |.  25 FF000000           |and eax,0FF$ Q# r9 G" O; w% n; }3 H/ O
0071BD78  |.  2BC2                  |sub eax,edx
; e6 Q/ Q; @8 h$ Z" k0071BD7A  |.  78 05                 |js short heroes4.0071BD81
7 d- V' z3 }1 ^$ a* s- q0071BD7C  |.  3B41 14               |cmp eax,dword ptr ds:[ecx+14]0 g2 P9 ], S/ p- C# X9 I9 d
0071BD7F  |.  7C 02                 |jl short heroes4.0071BD83, d& O- G8 q! P8 T& c
0071BD81  |>  33C0                  |xor eax,eax
3 G+ D, b  r. @( f1 k; O0071BD83  |>  8B49 18               |mov ecx,dword ptr ds:[ecx+18]
# x0 @8 h  f: V4 Z0071BD86  |.  8D1480                |lea edx,dword ptr ds:[eax+eax*4]        ;  字符编码基地址存到edx
  I' r/ m+ ]5 D! Q2 ~" U0071BD89  |.  84DB                  |test bl,bl
2 i. _% @& x, u, x, \7 ]# E! [0071BD8B  |.  8D0450                |lea eax,dword ptr ds:[eax+edx*2]
; J7 P' S8 y) j, f/ y. R0071BD8E  |.  8D3481                |lea esi,dword ptr ds:[ecx+eax*4]! d' C& v; q- W& ]) ]. T" N. K
0071BD91  |.  75 03                 |jnz short heroes4.0071BD966 g) D2 M% v# c0 h5 H' K& X! H; d
0071BD93  |.  037E 14               |add edi,dword ptr ds:[esi+14]8 h: ^) T* F' M7 D5 B' ?/ U
0071BD96  |>  8B5424 30             |mov edx,dword ptr ss:[esp+30]
4 X5 C6 ?' S6 i5 b8 z2 h0 ]8 ?, a0071BD9A  |.  8B4424 2C             |mov eax,dword ptr ss:[esp+2C]3 V- T3 ^$ y2 K, G
0071BD9E  |.  8B4C24 28             |mov ecx,dword ptr ss:[esp+28]
% V0 M7 B/ g) t0071BDA2  |.  52                    |push edx                                ; /Arg6% G! h$ Y5 E( `5 k+ s1 d
0071BDA3  |.  8B5424 24             |mov edx,dword ptr ss:[esp+24]           ; |& J5 T; O! F3 i9 i2 o
0071BDA7  |.  50                    |push eax                                ; |Arg5
7 x0 ~. {; R% {& @; y' U+ X0071BDA8  |.  8B4424 20             |mov eax,dword ptr ss:[esp+20]           ; |5 h+ E; F' D1 N- Z* l
0071BDAC  |.  51                    |push ecx                                ; |Arg4* P1 l: ?( e' @
0071BDAD  |.  52                    |push edx                                ; |Arg3
% P' [3 [' N% k. V  C2 @7 u0071BDAE  |.  57                    |push edi                                ; |Arg2
+ V3 L( |3 A" J$ m6 W, s0071BDAF  |.  50                    |push eax                                ; |Arg1
( X- ]5 }3 _3 _# x: q" W: q0071BDB0  |.  8BCE                  |mov ecx,esi                             ; |( \' r" v  ?1 p! T
0071BDB2  |.  32DB                  |xor bl,bl                               ; |6 I4 p2 R& i# K1 X9 T. y( I1 }
0071BDB4  |.  E8 67FAFFFF           |call heroes4.0071B820                   ; \字库读取函数
! K# O: A" {( m3 x- r6 p0071BDB9  |.  8B4E 18               |mov ecx,dword ptr ds:[esi+18]
+ z+ ~; s" @+ y6 ~7 b* L+ m1 C# {0071BDBC  |.  8B46 04               |mov eax,dword ptr ds:[esi+4]  C$ S. A& X2 }: }0 D; M& E" d
0071BDBF  |.  03C8                  |add ecx,eax
/ c0 H1 V/ R; K/ m  h0 u0071BDC1  |.  8A45 01               |mov al,byte ptr ss:[ebp+1]
8 K! Z& a+ t: l/ I2 T* ]( o0071BDC4  |.  03F9                  |add edi,ecx+ N5 R& N  M; S6 @) D* G4 V
0071BDC6  |.  45                    |inc ebp" q& c& ?. [' T/ o6 Z8 n4 V
0071BDC7  |.  84C0                  |test al,al  [! b0 i/ q* R* ?
0071BDC9  |.^ 75 A1                 \jnz short heroes4.0071BD6C7 l" T  B9 w# w; e2 ?
0071BDCB  |.  5F                    pop edi6 k, z8 m3 y* O9 p/ w
0071BDCC  |.  5E                    pop esi& J0 L  w" p6 L- ~  S- p5 c  T8 E
0071BDCD  |>  5D                    pop ebp' ]- p' _. @0 Y' B
0071BDCE  |.  5B                    pop ebx
# ?( f3 J+ R  f5 @0071BDCF  |.  59                    pop ecx
. R- w: z1 ~2 x0071BDD0  \.  C2 1C00               retn 1C
# T% q+ [, K. G+ E8 O5 `6 {  z
$ R; b/ \$ }+ ]7 B! aedx为字符编码基地址,每个字符占2C个字节,: p( |4 L% ^0 z* S3 M( T5 `
edx+4表示字宽
- z+ B8 l* v' @% S& J1 F" ?8 O5 Sedx+8表示字高
% q. j; p% F0 G% A5 z+ R. Tedx+10表示该字符点阵在内存的地址,
; E) k% Q  [8 j/ Y/ oedx+14表示该字符前面的间距
1 l: I5 ~9 @9 A# B, X- Qedx+18表示该字符后面的间距
/ O; |# M" f& B; l# f$ _& h% }; E) x4 R6 [3 U; U; W' H
字库文件位于data目录下的heroes4.h4r,可用H4ResEx解包器打开,打开之的文件名为font.Small Fonts5,font.Small Fonts7,- P: `1 \* \) _- ^
但是字库文件的内容与导出点阵对不上,还有待继续分析。。。。。。。。。。。。。。。。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

沙发
发表于 2010-3-15 20:42 | 只看该作者
哇,又来了一位懂汇编的高手。关注中。。。4 K4 M! S' {& b' W0 H
对了,楼主,你不妨把字库文件什么的发上来,大家也可以帮你看看。
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2010-3-15 20:46 | 只看该作者
接下来的任务:
3 |& a% b" G- A1 g$ A6 g1、扩充中文字库
0 i$ r5 }' Z% U6 h3 H/ ]' F( T2、扩充中文编码表
. U& y2 e4 y% J" w3 N6 l. M  [3、修改字符读取函数,支持双字节读取
回复 支持 反对

使用道具 举报

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

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

使用道具 举报

6#
发表于 2010-3-15 21:05 | 只看该作者
我感觉有点类似断剑1的字库,你可以看看以下帖子, L, j6 c" k% J

) y% b2 o3 ?' ~; W9 I! q  [【断剑1汉化项目】字体资源文件彻底解说" I3 X; }/ g- q- w$ ^9 ]
https://www.chinaavg.com/read.php?tid=18959
9 t( g, Q9 e2 z: H
/ Q2 T7 g: Q6 m+ v0 F6 |【断剑1汉化项目】中文字库设计
3 ]% Y: U2 W* a' ~https://www.chinaavg.com/read.php?tid=18975
回复 支持 反对

使用道具 举报

7#
发表于 2010-3-15 21:22 | 只看该作者
你的字体的头部有一些信息,应该是字符的高度,宽度等信息。& c% q( a/ J" i. L" z+ k" i+ \" `! J
然后下面是连续存放的一连串字符,每个字符都是n个字节。0 g7 s5 m3 \0 N  }3 C" J9 {9 y
0xF0是有色点,其他的颜色,如边框,估计是游戏动态生成的。
6 P7 X2 R9 Q; e, e4 T  f: A9 K就像断剑那样。
回复 支持 反对

使用道具 举报

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

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