在图片字库上添加完中文字符以后,我们就要在文件的末尾添加图片字库定义分析 。 9 x1 @5 P% x; i8 T8 j$ y {
由于添加的中文字符较多,所以需要增加一个新的节。
2 _+ b, w4 U3 s& k7 \& p
! ?' X' y) g. Q$ Q: Z0 k# qzhang336970 的原话是这样的 # o! Z+ X0 _( m$ k
编码表在执行文件中。在原来的节中没有多余位置,只好添加了一个新节,把新编码表放在这个新节中,并修改了相应的偏移地址。 9 y J. R) r2 M; i+ o7 k6 v2 M
: [7 h/ h _7 b( b对执行文件添加新节的方法,大家可以到看雪学院去学习一下,在网上google一下也可以找到不少资料。 0 P3 [) v+ F) c; _
7 i: K% v7 M' K5 ^' t! J# F
以下是修改前文件末尾的样子,大家可以看到文件到00867FFE这个虚拟地址就结束了。
! G. K# G& `0 R+ Q3 Y, k2 F Q% r/ e/ T5 k2 H0 `
以下是修改后文件末尾的样子,在00867FFE后面加了一个新的节。
, _# ~$ x0 g7 \3 F
" H8 Y1 `; L4 R; O) O其中每个中文字符用20个字节来定义。
4 v, ~0 o" R9 a, C- s. R; p! o例如: 对“%”(25H)这个字符的解释就用了20字节的空间。其中25 00 00 00 是编码,紧随后面的16字节是%字符在图片1中的坐标。也就是说要显示%,就要取图片上从起点(22H,0H)到终点(33H,14H)(像素点)的矩形区域送去显示。
3 ]& M" ?/ x/ R3 Z$ _" {/ i" Y
8 M1 j2 N% j0 ~# d7 e5 U" q C以下问题请zhang336970朋友指教,谢谢!
- ]( D B: d( v" Q, m$ }8 N# \
/ }. a p! V6 m! e问题1
) h5 l* v% B( J) | h5 X) ~原来的游戏应该有英文字符和符号等的定义。这些定义在哪,如何寻找呢?$ G3 T7 ~# ?( @! ^0 L! X
问题2' w$ X. W; j5 C) p9 S- K+ N
游戏读取这些定义的地方在哪,如何寻找呢?) }; }- e8 q$ I' P5 R
请谈谈通用的思路。 |