分析了一下hca.Configuration.xml这个文件,发现这个游戏只是普通的zip文件打包。 * v( C& k1 Z& H; O( B' {6 ?- ~
把PAK为后缀的文件改为zip后,用一般的解压缩软件就可以解开。解开以后可以以目录的形式存在
7 ^9 d$ ?% ~& d# T4 C8 O4 K不需要再次打包。
9 X" p! Z2 X0 C: hhca.Configuration.xml的相关语句修改为如下的形式就可以了,这个和通古斯这个游戏的情况很相似。
/ K1 `+ [# m& K0 c0 ]4 p<ResourceLocation Group="General" Idx="0" Type="DirArchive" Value="..\core"/>
# S2 V- V% c( j
7 i, T+ i$ |: W; O) h, F2 h' `汉化的主要文件包含在core.pak这个文件里。
# _/ h- v a m- t$ O* C主要有字体TTF文件,.font字体配置文件等
# R1 w ~' L! Q2 d1 B3 o$ m0 l/ p# ?字体文件可以用中文字体文件替换,只要文件名和.font字体配置文件里的设定一致就行。 4 S+ W$ }; d# J
; p4 n# L) N ? t% s对话文件包含在以下这个文件里
. s8 f& b2 k nHCA - The Ugly Prince Duckling\localization\English.StringTable.xml : e0 e4 Y0 C, T7 A4 x4 l
1 o/ n7 p$ S( ?2 H, h.font字体配置文件的内容如下,其中的关键问题在于LastCodepoint的值好像有限制到约8000左右就不行了,游戏无法进入。8000的16进制编码是1F40,中文字体里的中文字模的编码都大于这个值,所以中文字体替换成功以后中文字模也无法显示,因为被LastCodepoint限制住了。
) u( O* {$ O( X) J% s<?xml version="1.0" encoding="utf-8"?> ; X3 m7 T; l. x; C4 C
<Font
9 ^; |; h, I. N+ V# f$ oName="bodinib-24"
8 G2 r0 @+ o0 c. o: K0 v4 V% xFilename="BOD_B.TTF"
) h! L I) w0 a0 y4 h4 _3 RFirstCodepoint="1" , U& u; j3 F8 \+ @# D
LastCodepoint="1300"
& d6 G# X0 w/ V! {7 hType="Dynamic" # g) m- X4 e1 K' m; [; ~: G: o5 A
Size="24" ) I% n6 B9 F. ?7 o7 m2 p
NativeHorzRes="1024"
( l, j7 U1 F4 Z1 K: LNativeVertRes="768" 8 i/ s9 L$ J. Z/ m, c
AutoScaled="true"/>
% F7 H9 R# y* u! x2 n I s% H$ T5 D; n3 Q: k
解决办法的猜想,1F40的范围还是很大的,我们说不定可以在这个1F40的范围内自己构造一个TTF字库,编码都是1F40以前的,同时English.StringTable.xml里字幕文字也要用相同的编码写入,这样也许可以实现汉化。
0 t" X; s( v% t& D2 T. Z4 g- ~( s5 _: _# x7 G, r! Y
1 g# h9 W7 W# P2 ], V1 l5 A
|