在图片字库上添加完中文字符以后,我们就要在文件的末尾添加图片字库定义分析 。
; U+ `- w( G. s" M/ i( |由于添加的中文字符较多,所以需要增加一个新的节。 }0 }/ P6 T2 \1 H9 I, h7 o
: b- a) X7 b# w$ x
zhang336970 的原话是这样的
/ a1 A1 P. A/ [1 b! T编码表在执行文件中。在原来的节中没有多余位置,只好添加了一个新节,把新编码表放在这个新节中,并修改了相应的偏移地址。
6 u+ Y, R5 F1 C& e' v/ P% r: r e+ ~8 t% b) ?( N
对执行文件添加新节的方法,大家可以到看雪学院去学习一下,在网上google一下也可以找到不少资料。
_4 K9 M6 q( f3 ]$ l! h3 i& d8 P% A3 R& c9 ^
以下是修改前文件末尾的样子,大家可以看到文件到00867FFE这个虚拟地址就结束了。
0 F6 M; Z! ^7 O0 Z1 c
% h2 r& M( f' Y; _以下是修改后文件末尾的样子,在00867FFE后面加了一个新的节。 8 w! x* Y+ T( |! e. n5 D
' ]& m1 ?9 N& l9 D* y3 b+ c% I其中每个中文字符用20个字节来定义。 7 X1 e; x* } T0 e( N8 ~8 F
例如: 对“%”(25H)这个字符的解释就用了20字节的空间。其中25 00 00 00 是编码,紧随后面的16字节是%字符在图片1中的坐标。也就是说要显示%,就要取图片上从起点(22H,0H)到终点(33H,14H)(像素点)的矩形区域送去显示。
% \& U# w- Y, L' e& K8 r n: T1 [& l& m! \7 k1 i. z% ~8 W
以下问题请zhang336970朋友指教,谢谢!
$ f. \) a( Z9 t! ~( Z9 [ l$ e2 S3 T5 d/ L6 k
问题1" e# ~" k' X5 ^- }7 V
原来的游戏应该有英文字符和符号等的定义。这些定义在哪,如何寻找呢?) e* w7 H/ K& S4 R* s4 `6 J
问题2
& ~; U# j% T+ i6 A7 ~游戏读取这些定义的地方在哪,如何寻找呢?
% T r, K2 k, q- c# L请谈谈通用的思路。 |