分析了一下hca.Configuration.xml这个文件,发现这个游戏只是普通的zip文件打包。 7 {. G5 X. K- K2 A' O
把PAK为后缀的文件改为zip后,用一般的解压缩软件就可以解开。解开以后可以以目录的形式存在
, X! c% h" Z7 v8 c2 G; e不需要再次打包。 $ F( a$ O% N/ o4 M, Z. u- G
hca.Configuration.xml的相关语句修改为如下的形式就可以了,这个和通古斯这个游戏的情况很相似。 P% t6 e7 J1 P" k6 A5 { E
<ResourceLocation Group="General" Idx="0" Type="DirArchive" Value="..\core"/>
* K& w2 S; w" K8 m5 Q+ O9 {6 s9 i8 o% F G L
汉化的主要文件包含在core.pak这个文件里。
7 l) M |: ^ s主要有字体TTF文件,.font字体配置文件等 ' B$ v ^8 p8 Y- G5 t9 m* b5 @' v X
字体文件可以用中文字体文件替换,只要文件名和.font字体配置文件里的设定一致就行。
# h' J; u+ u. Y. e' V3 _- Z( c9 x1 @& Z/ R8 w3 V9 p9 Y
对话文件包含在以下这个文件里 ( _# D$ K2 {) T. O
HCA - The Ugly Prince Duckling\localization\English.StringTable.xml
^) E5 S8 j; q% m$ c# V/ B7 |# D" B
( `- o7 y% _8 h9 z% o: {& d7 J& Y.font字体配置文件的内容如下,其中的关键问题在于LastCodepoint的值好像有限制到约8000左右就不行了,游戏无法进入。8000的16进制编码是1F40,中文字体里的中文字模的编码都大于这个值,所以中文字体替换成功以后中文字模也无法显示,因为被LastCodepoint限制住了。 5 |! d* \8 N5 t% r, ^! Q
<?xml version="1.0" encoding="utf-8"?> : X; z& ]& j2 s I5 g2 n$ Y1 L# h! P
<Font
: V/ b% Q V, E; V# J# {Name="bodinib-24" 8 b# r! P7 O) ]% i% b. ?
Filename="BOD_B.TTF"
/ f/ F' m0 C I2 j8 pFirstCodepoint="1"
( b' L6 ~5 S& s& b# H* ~LastCodepoint="1300" - b) U* _2 P( r* Y5 A8 d* N
Type="Dynamic"
2 m( R/ g9 T* p9 I" ZSize="24" 4 u! o& e- r, i; `$ ~2 K. u/ ~0 k
NativeHorzRes="1024"
9 I" F: m0 E# |- p. p- c G BNativeVertRes="768"
8 V6 V7 ?+ }; W# |7 JAutoScaled="true"/> 1 E: v6 {! F) l9 ~# t W! L( I
0 f3 q9 \, T7 M. S, n V9 G
解决办法的猜想,1F40的范围还是很大的,我们说不定可以在这个1F40的范围内自己构造一个TTF字库,编码都是1F40以前的,同时English.StringTable.xml里字幕文字也要用相同的编码写入,这样也许可以实现汉化。 2 G% h8 U2 F* k, d" i0 u8 I
6 ]" ^1 V6 Y d8 L& _! H+ W
! u6 e: Y) _1 p' C. {( Y
|