看了一下Ankh - Heart of Osiris 这个游戏,觉得很适合用来作为第1个被汉化的大型图片字库AVG。
% K' q9 x+ S) P下面对这个游戏做一下简单的汉化分析。 % [" O4 N9 U9 d6 k( k$ N; a
! u. ?1 ~. E: J5 j& z7 L
这是一个Directx9的游戏,用代理DLL已经试验过了,可以起作用。 % j, a7 g8 b$ E7 l- {& X6 f7 p
字幕文件在\media\shared\speech\english下面的各个目录里,都是.bin文件,里面保存的是明文的字幕ID和字幕文本。 % W6 k, _; p. k" |
" u& z8 m- L, }+ c! t' X" s这个游戏的各种字幕画面可以参考这个帖子。
( x- K" \/ B0 f/ s, Shttps://www.chinaavg.com/read.php?tid=17368 2 B/ f L# u8 ^/ @
下面简单说一下汉化字幕的方法。
- `5 } Z% x `$ ?' O这个游戏有不少dat文件其实是zip文件,比如以下这个。 2 e6 b6 }6 A& ?) b6 p/ L
\media\shared\local.dat 解开后可以发现一些字体文件。 6 Y/ y+ o. Z) s4 q, }
一般一个字体包括一个.tga 和2个同名的配置文件。 , C3 b3 f& t$ F8 D
游戏中用的字体都是不等高和等宽的,我们要先修改配置文件,使其等高和等宽。 2 B J$ A1 v/ z" o; v
! \3 d$ t1 ?/ J+ l2 d/ U
菜单画面 5 n& `1 o) Z& S
看了游戏字幕画面,我们发现,菜单是单独使用一种字体的,这样我们只要把tga中的字体样子修改一下就行了。 6 s% _, i3 v- r5 u
1 e$ h6 H2 K# C/ ?( B Y# d/ j
底部多行对话选择画面, 底部单行对话画面,底部单行提示字幕画面
6 G; E0 }" E9 h& c对于这3种字幕画面,由于背景是纯黑色的,比较简单,我们用像下面的这种变种条形码和自制的码表,配合图形识别技术就能显示出字幕。 8 W$ W% \# l8 `+ S6 X
方块 空格 方块 方块 方块 空格 方块 空格 " q, x W# O+ j* @! F! s
" x' o5 j) G1 e# z画面中部字幕 ; g. s! f! d; r/ B
对于这种字幕,由于有背景,我们可以显示一个像素级的2维码,判断之后,显示字幕,并进行一些位置调整,让我们显示出来的字幕把像素级的2维码遮盖掉。 $ G. u" ?7 d- ]3 d' S/ F+ n
, U: _% W- T* |. S( f9 B像素级2维码大致是这样子的
1 S# h" N; I8 h7 Y. @4 t; e) u9 t+ R9 J2 ?& H1 k
黄像素 透明像素 黄像素 3 l1 k8 m, Q6 I% Y
黄像素 黄像素 透明像素 7 t! \& @: Z. h: ^+ _
黄像素 透明像素 透明像素
$ h9 Y/ j9 H$ d4 G
! j3 y A( v3 j, w# M, D' W下面先放上这个游戏的部分字幕文件
) @' N' b! s' k5 H& C$ ?7 j--------------------------------------------- 9 ~4 C% R& Z8 W2 r U
2009.6.3 更新 - w; z1 B6 i% }
看了一下ANKH 1 ,的确字幕位置和ANKH 2完全一样。
4 T2 L0 T5 `7 g. q! c$ b) k# d) v' g) h8 W9 t) D% K6 b Q
字幕文件TGA文件的格式如下
0 M. W4 h6 g# j0 {头部 18 字节
1 r I) g {$ T. @数据部 宽X高X4 字节 BGRA 格式存放
1 u$ s6 B6 a! {+ T) {尾部 26 字节 ; j6 k7 P) C% e* ]9 W/ @/ E
---------------------------------------------
" y8 o4 c9 t( w$ {2009.6.3 第2次更新
' s9 v- |' `9 i4 v) m: B7 I/ K放上ANKH 2 的另一个字幕文件Interface_english.bin。 7 q) \* i# Q6 q! Z: r* J) U7 y) c1 Z
主菜单的字幕都在里面。 4 W" B2 r' N( ~, \2 X
以及ANKH 1 的字幕文件 ankhEnglishStringTable.bin。
/ \ ?9 x* B1 }% H--------------------------------------------- & J+ B. U/ ^3 W s6 O/ e$ g& R& I
2009.6.3 第3次更新 & C6 [/ |2 ]% T! r# l# q4 ^) {% T
补上一个 ANKH 1 的字幕文件 conversations.bin
8 ~4 | e6 Z( v% f, Z! s+ u, u- J$ c& g! e* u1 A
字幕ID前缀说明
+ q5 [+ C8 N* _6 u) NCFG_CHAR ANKH 1 屏幕中央字幕 ?+ l+ l0 Y5 x
ID_MENU ANKH 1,2 主菜单字幕$ h' U# w% l* o: z* a
CHAR_ ANKH 2 屏幕中央字幕 |