分析了一下hca.Configuration.xml这个文件,发现这个游戏只是普通的zip文件打包。 - F( i! H* c: y+ B- x1 v
把PAK为后缀的文件改为zip后,用一般的解压缩软件就可以解开。解开以后可以以目录的形式存在 * k# @) v. _0 _$ \
不需要再次打包。 8 N; w! J8 i) Z3 ^& g/ ~
hca.Configuration.xml的相关语句修改为如下的形式就可以了,这个和通古斯这个游戏的情况很相似。
# F1 I6 y# w( R8 J- ~! L% Q$ o<ResourceLocation Group="General" Idx="0" Type="DirArchive" Value="..\core"/> 4 r- T. }0 j0 a3 L; V! B
% k+ J9 @% _: L8 {( _
汉化的主要文件包含在core.pak这个文件里。 # F7 L5 r1 [1 V5 T) e
主要有字体TTF文件,.font字体配置文件等
3 p) ~% `" L' ~字体文件可以用中文字体文件替换,只要文件名和.font字体配置文件里的设定一致就行。
$ m# a/ q! n6 i6 t, D$ p1 Z7 ~3 E4 m; D# k
对话文件包含在以下这个文件里 9 @) U% ?1 c0 V# h% l
HCA - The Ugly Prince Duckling\localization\English.StringTable.xml
3 D4 z4 r5 _# X& `
0 G6 b+ M/ }8 T& |4 L% H.font字体配置文件的内容如下,其中的关键问题在于LastCodepoint的值好像有限制到约8000左右就不行了,游戏无法进入。8000的16进制编码是1F40,中文字体里的中文字模的编码都大于这个值,所以中文字体替换成功以后中文字模也无法显示,因为被LastCodepoint限制住了。
8 g! S* Z. C# s& p" u. A& ]<?xml version="1.0" encoding="utf-8"?> / n2 W, X6 ]1 _. B7 C7 j
<Font
: r& ` [( `; a2 nName="bodinib-24" `1 X Q7 ^2 w5 F; f7 j T
Filename="BOD_B.TTF" 5 `; E: k% ~8 t6 O" X. p# B( \
FirstCodepoint="1"
% R$ s# i- } ^" Q6 iLastCodepoint="1300"
7 {& M2 l& M7 M7 J! G* c) a9 ZType="Dynamic"
! b0 B6 v- u# a' tSize="24"
1 I* A+ J- ^3 f+ w; l5 SNativeHorzRes="1024" # b& T8 {' s5 j# p6 H
NativeVertRes="768"
3 @5 x- }' ^# z: S2 dAutoScaled="true"/> - }8 h2 s+ Q* Z
5 p8 G: B5 C( D' n$ V Y- Y
解决办法的猜想,1F40的范围还是很大的,我们说不定可以在这个1F40的范围内自己构造一个TTF字库,编码都是1F40以前的,同时English.StringTable.xml里字幕文字也要用相同的编码写入,这样也许可以实现汉化。
/ x3 {/ W' K9 H! E) t0 ^1 z6 W3 t& Y& h! D
1 `# l" z `9 v5 _) @8 ]' i |