分析了一下hca.Configuration.xml这个文件,发现这个游戏只是普通的zip文件打包。
1 q$ \( c8 r9 Z! {8 @把PAK为后缀的文件改为zip后,用一般的解压缩软件就可以解开。解开以后可以以目录的形式存在 ! e+ b; P+ B& }' _
不需要再次打包。 8 S, d$ }% _0 \* O3 V
hca.Configuration.xml的相关语句修改为如下的形式就可以了,这个和通古斯这个游戏的情况很相似。 ! [; F9 Y9 Y1 J+ v& B& \
<ResourceLocation Group="General" Idx="0" Type="DirArchive" Value="..\core"/>
, q% H4 F. s/ d7 C. @: ?: V# r; ^8 i7 e& Q! z8 j& [% ^8 W
汉化的主要文件包含在core.pak这个文件里。
+ T$ U9 Z Z, B. A% J8 `主要有字体TTF文件,.font字体配置文件等 + j) j2 A! ]! v1 s
字体文件可以用中文字体文件替换,只要文件名和.font字体配置文件里的设定一致就行。
2 d( \" X, [. }
$ g2 c& u: d1 f; z* D/ ^- T对话文件包含在以下这个文件里
. S1 D# p$ t' T; k$ EHCA - The Ugly Prince Duckling\localization\English.StringTable.xml t0 I2 L1 }: P. ^% c2 Q' R' R( a
& d( d: m5 T" L.font字体配置文件的内容如下,其中的关键问题在于LastCodepoint的值好像有限制到约8000左右就不行了,游戏无法进入。8000的16进制编码是1F40,中文字体里的中文字模的编码都大于这个值,所以中文字体替换成功以后中文字模也无法显示,因为被LastCodepoint限制住了。 % C; ^$ i3 b; W2 ]2 C; v0 j
<?xml version="1.0" encoding="utf-8"?>
% ]2 V- a" ^5 W5 ^' q5 o* T& [<Font , ], H4 W, C2 w d; P
Name="bodinib-24"
0 z+ L( A+ |! p: A3 r8 qFilename="BOD_B.TTF"
2 u' i- t3 I/ C# K( B* w5 eFirstCodepoint="1"
& H& ]& h8 b+ o4 c, rLastCodepoint="1300"
4 L4 c) K; S" Z1 ~# @Type="Dynamic"
3 s: q$ ]* n' v% ~1 {/ X; `8 USize="24"
( K1 q+ R( T+ ]8 ENativeHorzRes="1024"
% F, V* R# k' }3 S/ h% B0 l tNativeVertRes="768" , Y7 _2 M1 w; M1 d# H { }
AutoScaled="true"/>
; b0 j) V3 @* i: n* |2 q1 T% W7 U6 P2 L' b
解决办法的猜想,1F40的范围还是很大的,我们说不定可以在这个1F40的范围内自己构造一个TTF字库,编码都是1F40以前的,同时English.StringTable.xml里字幕文字也要用相同的编码写入,这样也许可以实现汉化。 " H* O$ i* g9 m! Y* ?3 j
& f- R, L7 d. W! m% l; X8 C6 R B3 z) S" r; ^3 @
|