分析了一下hca.Configuration.xml这个文件,发现这个游戏只是普通的zip文件打包。 * \1 I( d* Y. }/ q& [5 Z. U2 G
把PAK为后缀的文件改为zip后,用一般的解压缩软件就可以解开。解开以后可以以目录的形式存在
0 W, I$ C. O. d0 {0 c. \$ P不需要再次打包。
" u: t% H' l4 f. ]hca.Configuration.xml的相关语句修改为如下的形式就可以了,这个和通古斯这个游戏的情况很相似。 9 Z( O! ^& A6 V
<ResourceLocation Group="General" Idx="0" Type="DirArchive" Value="..\core"/>
9 J2 U+ A8 K- w
# s4 I7 r( G& Z% G汉化的主要文件包含在core.pak这个文件里。
# |* L2 N- [( s# f* Z5 E主要有字体TTF文件,.font字体配置文件等
/ u6 M: ?0 z* [& F- g字体文件可以用中文字体文件替换,只要文件名和.font字体配置文件里的设定一致就行。
7 x( R3 T; M* g1 I7 X+ ?
1 d3 k. q9 }: x# S5 E+ F对话文件包含在以下这个文件里 1 g& `/ R3 l8 p Z6 u* O
HCA - The Ugly Prince Duckling\localization\English.StringTable.xml 6 v9 \7 G' E; |' g
* z7 ?6 q C0 l
.font字体配置文件的内容如下,其中的关键问题在于LastCodepoint的值好像有限制到约8000左右就不行了,游戏无法进入。8000的16进制编码是1F40,中文字体里的中文字模的编码都大于这个值,所以中文字体替换成功以后中文字模也无法显示,因为被LastCodepoint限制住了。 ; v: Y& z* |7 |# Z" z
<?xml version="1.0" encoding="utf-8"?>
7 N8 M5 Y, t& `* p+ I4 l/ E<Font
' c0 V; O3 }9 B8 C' S1 U m, ^Name="bodinib-24"
2 c* j1 g7 o; |. vFilename="BOD_B.TTF"
4 b, u3 A! I5 E, {/ ^FirstCodepoint="1" H- X* U+ }* D$ G; i, T
LastCodepoint="1300"
; T7 x2 x2 u1 A; _Type="Dynamic"
+ r# u5 i+ n8 B3 D+ _9 [% v% vSize="24"
- W; l; a- ]% g2 B/ ~NativeHorzRes="1024" ' _) `2 R% F: x7 N
NativeVertRes="768" 2 q* o+ ]; i# m9 S
AutoScaled="true"/>
: f# Z! p) s5 r% T& B0 {1 q9 e8 T3 O4 F* d4 g: k4 D
解决办法的猜想,1F40的范围还是很大的,我们说不定可以在这个1F40的范围内自己构造一个TTF字库,编码都是1F40以前的,同时English.StringTable.xml里字幕文字也要用相同的编码写入,这样也许可以实现汉化。
: d! D0 V% d! u/ k4 t! P( w# D' j+ I& ]1 P/ J
) p; i$ J" ~" D" q9 q0 s3 |% p o$ R |