看了一下Ankh - Heart of Osiris 这个游戏,觉得很适合用来作为第1个被汉化的大型图片字库AVG。
: \3 s4 Q0 S- Y F- o" Q# ~+ d下面对这个游戏做一下简单的汉化分析。
7 f- M. a) A( \2 o6 N$ |
2 t9 t7 f/ n$ Z+ k- z这是一个Directx9的游戏,用代理DLL已经试验过了,可以起作用。
6 x; l3 D1 Q1 Y. z ~. c字幕文件在\media\shared\speech\english下面的各个目录里,都是.bin文件,里面保存的是明文的字幕ID和字幕文本。
% M7 r, T Q. ^5 W l: c' u& w, T9 m- c* \3 m) {" C3 N
这个游戏的各种字幕画面可以参考这个帖子。 ! b4 C% R7 w2 ]" d6 O
https://www.chinaavg.com/read.php?tid=17368
) C- h, ~" p; f A M: m下面简单说一下汉化字幕的方法。 ; T0 ?0 p4 j ~
这个游戏有不少dat文件其实是zip文件,比如以下这个。 + ^. O$ c9 N# \3 t$ v2 [
\media\shared\local.dat 解开后可以发现一些字体文件。
) Q2 E: f, q* `2 X W2 O( a. S一般一个字体包括一个.tga 和2个同名的配置文件。
, @2 G2 z5 E( m" T/ p8 M u游戏中用的字体都是不等高和等宽的,我们要先修改配置文件,使其等高和等宽。
/ n0 P6 V$ b$ x. P% Y1 P9 u0 N- w" k- D+ E9 I
菜单画面
, K2 N/ B1 K7 Y: E! ` w' v看了游戏字幕画面,我们发现,菜单是单独使用一种字体的,这样我们只要把tga中的字体样子修改一下就行了。
+ e0 W& N; K2 A3 m+ H' I% H. Y6 N. j- z
底部多行对话选择画面, 底部单行对话画面,底部单行提示字幕画面
- N: S5 Y. L6 G对于这3种字幕画面,由于背景是纯黑色的,比较简单,我们用像下面的这种变种条形码和自制的码表,配合图形识别技术就能显示出字幕。
2 c/ t& h f5 k- T0 e方块 空格 方块 方块 方块 空格 方块 空格
) h: Y3 F! [- J2 h" e9 c" K- ^
& d/ T5 Q1 h; ?画面中部字幕
) d: j9 e0 X& q+ k; C/ q对于这种字幕,由于有背景,我们可以显示一个像素级的2维码,判断之后,显示字幕,并进行一些位置调整,让我们显示出来的字幕把像素级的2维码遮盖掉。 " H8 K. ?( r% @. a/ h8 q3 P( k
/ B$ H; h& p! o7 Q6 U( v
像素级2维码大致是这样子的 0 L! C% Y1 ~2 i7 F9 Z5 s
0 h* F, s. Z/ F4 ]+ Y黄像素 透明像素 黄像素
3 U% R8 C, W L4 c* R7 @6 _2 j$ o黄像素 黄像素 透明像素 5 s- Z, {6 ^) C) {$ I
黄像素 透明像素 透明像素 9 j U6 _% B4 u) ?8 U8 r# j W
9 Z8 x0 M4 K9 [& e- v. g0 v下面先放上这个游戏的部分字幕文件 , a1 e2 r2 l3 t! m3 i7 \) B1 ^
--------------------------------------------- ) N# E! A+ \ m/ d4 L
2009.6.3 更新 8 I% ~& d+ v# ~
看了一下ANKH 1 ,的确字幕位置和ANKH 2完全一样。
3 Q8 t/ c0 q* ~1 R; A
: O' z: p. }$ k/ R _1 h4 ]: P字幕文件TGA文件的格式如下
5 A0 } c) g( `头部 18 字节
/ T2 L4 m0 J0 _4 a6 n9 |, v/ P数据部 宽X高X4 字节 BGRA 格式存放
9 }; {8 S' D* A) V尾部 26 字节
3 l- o5 O6 I" E6 ]---------------------------------------------
( m4 J+ T- l: N; N0 i' S* |2009.6.3 第2次更新
$ f+ E+ O/ u3 X; |放上ANKH 2 的另一个字幕文件Interface_english.bin。
9 z/ p0 E1 n3 P/ j4 m T2 j# J+ u9 ^; H主菜单的字幕都在里面。 2 y0 J( M. |, Z8 `* N
以及ANKH 1 的字幕文件 ankhEnglishStringTable.bin。 1 k" a- H/ Q. d5 ]5 {1 z% V
--------------------------------------------- / d/ S+ _& a# c9 D) ^% l
2009.6.3 第3次更新
1 `& w' K8 t; [% J- R- ~/ }3 i0 I补上一个 ANKH 1 的字幕文件 conversations.bin3 O5 r; `7 k2 B( I5 v* C
# b& _0 E% }3 ^) f) ]3 q字幕ID前缀说明
- E1 n0 Y3 Q- g* A( N, z+ c8 i4 }! N: `CFG_CHAR ANKH 1 屏幕中央字幕
1 ]+ e6 u$ @ V# M3 i7 ^ID_MENU ANKH 1,2 主菜单字幕
7 [! a8 U- }2 d( DCHAR_ ANKH 2 屏幕中央字幕 |