看了一下Ankh - Heart of Osiris 这个游戏,觉得很适合用来作为第1个被汉化的大型图片字库AVG。
5 ?) ~, r: m2 Z3 I* |) {下面对这个游戏做一下简单的汉化分析。
4 ]1 e. F, l1 W
0 D5 U3 I" Y2 J" J+ e* L这是一个Directx9的游戏,用代理DLL已经试验过了,可以起作用。 5 C5 b3 v7 l- T
字幕文件在\media\shared\speech\english下面的各个目录里,都是.bin文件,里面保存的是明文的字幕ID和字幕文本。
# q) i# _, ]" n! @/ _# w' n3 M' \% B( x+ E+ r5 s/ Y
这个游戏的各种字幕画面可以参考这个帖子。
( I1 Y4 j( L+ n) q' c2 a/ ~https://www.chinaavg.com/read.php?tid=17368 " a3 E' X+ I2 A9 ^% n
下面简单说一下汉化字幕的方法。 " P) r" M7 F; [1 ~
这个游戏有不少dat文件其实是zip文件,比如以下这个。
; O* a! {! t, P2 U/ v\media\shared\local.dat 解开后可以发现一些字体文件。 . G5 g- v- U& l$ F
一般一个字体包括一个.tga 和2个同名的配置文件。
" Y9 Q3 C* x' W) v1 E游戏中用的字体都是不等高和等宽的,我们要先修改配置文件,使其等高和等宽。
; S! A4 @1 @6 @4 l' c/ y: W8 Y* U
菜单画面
1 h: D9 w, b) I' } J$ n* ^% L/ t看了游戏字幕画面,我们发现,菜单是单独使用一种字体的,这样我们只要把tga中的字体样子修改一下就行了。
8 }1 N. i$ w4 [! }4 ~0 ~) }4 t2 s. @1 b* Q
底部多行对话选择画面, 底部单行对话画面,底部单行提示字幕画面
6 d' Y2 ?, G i7 u" W对于这3种字幕画面,由于背景是纯黑色的,比较简单,我们用像下面的这种变种条形码和自制的码表,配合图形识别技术就能显示出字幕。
+ x* [& s* P. g方块 空格 方块 方块 方块 空格 方块 空格
8 y. `; W$ f. F$ Z* D9 ]* @! T7 q' G0 b8 o' p- B! L
画面中部字幕
' `$ ]1 S! o! o1 |; w对于这种字幕,由于有背景,我们可以显示一个像素级的2维码,判断之后,显示字幕,并进行一些位置调整,让我们显示出来的字幕把像素级的2维码遮盖掉。
+ w, |% v! R, H! y9 Z$ |0 j6 x: x: q# v( ~: c
像素级2维码大致是这样子的 ; I9 }5 R7 u1 S( p( y' K7 }
% c5 @, X8 B: R4 v* p
黄像素 透明像素 黄像素
?2 d2 H3 U+ M q+ I7 a- w. n黄像素 黄像素 透明像素 5 N, [: m2 ~, b1 |( z0 X4 T
黄像素 透明像素 透明像素 7 P2 d ?/ f: ^- B
7 }/ h3 E" b9 n/ v. O下面先放上这个游戏的部分字幕文件
3 \% F$ b3 a# o2 l---------------------------------------------
7 \+ M# I1 w! o3 d2 g6 Z1 O2009.6.3 更新 6 N: P9 W- k+ }8 V3 U+ v' ^
看了一下ANKH 1 ,的确字幕位置和ANKH 2完全一样。
- \' f9 m; z& Y4 b0 a7 y8 T( |
8 V2 K- [: \( Q, B$ ^5 g) N& M; f, g字幕文件TGA文件的格式如下
8 h% \* g& G ^1 W; w6 }' j" y% E头部 18 字节 ' |; ]$ I Y$ L Z2 `! k2 ^
数据部 宽X高X4 字节 BGRA 格式存放
# U$ {2 B* I) s7 @- \尾部 26 字节
- v4 ? ~# ^2 L# C* @---------------------------------------------
1 E' K" v# i' q% M2009.6.3 第2次更新
2 a3 n' e- M$ q放上ANKH 2 的另一个字幕文件Interface_english.bin。 - J$ G- @- I5 B
主菜单的字幕都在里面。 8 m" h: ^% w" N/ u% i' V
以及ANKH 1 的字幕文件 ankhEnglishStringTable.bin。
: X8 j0 I* D7 V1 w--------------------------------------------- $ ]- G ]7 d4 W6 K: b$ z
2009.6.3 第3次更新
2 _/ X+ t; D. d. }" N4 V补上一个 ANKH 1 的字幕文件 conversations.bin
/ p6 r/ z2 Z6 k8 U/ r! s7 F c$ o- J: v- [/ x
字幕ID前缀说明
0 E2 c9 M0 Z! Q; ZCFG_CHAR ANKH 1 屏幕中央字幕
8 N3 z6 x Y! q7 ^ID_MENU ANKH 1,2 主菜单字幕
" k/ y5 ?; U* U( N# h d$ cCHAR_ ANKH 2 屏幕中央字幕 |