看了一下Ankh - Heart of Osiris 这个游戏,觉得很适合用来作为第1个被汉化的大型图片字库AVG。 & l @4 Z" K2 B1 R0 m, O
下面对这个游戏做一下简单的汉化分析。
; g3 N! c1 \% H( l9 y
" I9 v6 {" D/ q这是一个Directx9的游戏,用代理DLL已经试验过了,可以起作用。 ( H% x- m5 p6 b3 z! J( U" Y' s2 j
字幕文件在\media\shared\speech\english下面的各个目录里,都是.bin文件,里面保存的是明文的字幕ID和字幕文本。
' M6 l2 S. _1 m& g% o4 Y4 Q1 a) r ?6 P; [0 b! A1 p
这个游戏的各种字幕画面可以参考这个帖子。 ( {' M9 o. S1 O, I# b1 p+ O
https://www.chinaavg.com/read.php?tid=17368
" p2 Y- k" @+ ^ Q* _下面简单说一下汉化字幕的方法。
' ^$ E/ |! X: F7 F) b4 p( F这个游戏有不少dat文件其实是zip文件,比如以下这个。 ' k' q, N; D0 i3 T! A9 Z5 B
\media\shared\local.dat 解开后可以发现一些字体文件。 , l* M# v" O4 x5 n) a* y0 f; V# w
一般一个字体包括一个.tga 和2个同名的配置文件。 ! f3 b: R y9 ?6 B2 ]
游戏中用的字体都是不等高和等宽的,我们要先修改配置文件,使其等高和等宽。
2 M! R4 x# C6 J+ j6 q$ E1 E
1 F( F, Q% W) H4 I菜单画面 1 ^, R2 D/ p- @+ z0 R, z/ ?
看了游戏字幕画面,我们发现,菜单是单独使用一种字体的,这样我们只要把tga中的字体样子修改一下就行了。
8 H) I" n, u* d4 L2 @( k
# n9 v U' P+ d底部多行对话选择画面, 底部单行对话画面,底部单行提示字幕画面
% g* \: H5 F4 x4 z6 g% T% p对于这3种字幕画面,由于背景是纯黑色的,比较简单,我们用像下面的这种变种条形码和自制的码表,配合图形识别技术就能显示出字幕。 & E8 J7 H7 \- m/ ?& ^
方块 空格 方块 方块 方块 空格 方块 空格 5 P9 k/ {% I/ n, ]0 l7 d
. u' K6 {- v% c: S4 k) `3 l画面中部字幕 0 V1 p" ^3 y/ ^" \/ \% _$ i& ?
对于这种字幕,由于有背景,我们可以显示一个像素级的2维码,判断之后,显示字幕,并进行一些位置调整,让我们显示出来的字幕把像素级的2维码遮盖掉。
+ a! R# h5 \- K: ^$ ^( z( U0 N; Z0 [' E0 p1 o, h
像素级2维码大致是这样子的
# ?3 D }8 }0 `6 F" c( h: S+ ^% S. N |/ L6 R
黄像素 透明像素 黄像素
' k1 _3 I1 _1 ?5 Z0 z# p# K黄像素 黄像素 透明像素 3 _% {7 i4 i/ l- N7 T) I: A
黄像素 透明像素 透明像素
* g. O& |* t0 R2 M
6 v6 m1 Y% H: e" u# z! Q下面先放上这个游戏的部分字幕文件 $ E$ [# Y' U4 Y4 L2 b% e% U3 d: H* I
---------------------------------------------
6 n# L4 Q8 t4 x, n1 }2009.6.3 更新 ; q# w2 K* e' o- d) @* @
看了一下ANKH 1 ,的确字幕位置和ANKH 2完全一样。
/ r( F% K. t, p N9 N. R; q% B$ i
字幕文件TGA文件的格式如下
{0 E! ~5 x( J, ?! K; J/ t头部 18 字节
6 O3 G# i6 S5 s1 `* L数据部 宽X高X4 字节 BGRA 格式存放 |0 X" Z; U* J0 d0 c$ D3 p
尾部 26 字节
, f. r% Y) S8 E# N" g$ j---------------------------------------------
# f4 `: U# S; M9 K/ ?1 o2009.6.3 第2次更新
. i, w4 U7 P1 s( S7 I W7 r放上ANKH 2 的另一个字幕文件Interface_english.bin。
$ @8 o W2 N% r/ H主菜单的字幕都在里面。 p* ], L9 {) o
以及ANKH 1 的字幕文件 ankhEnglishStringTable.bin。 , @$ T$ f" F, j1 c& R2 [3 m% {. [
--------------------------------------------- Q' i$ p; z6 r7 t% A* [
2009.6.3 第3次更新
. J0 [" O2 p8 B' C# u, Z6 o补上一个 ANKH 1 的字幕文件 conversations.bin2 d) m5 F0 k+ p! V# N# N
+ M, ~* k4 M1 m% a2 G! w$ P J字幕ID前缀说明
' @) a: ?$ d4 w) K* B4 LCFG_CHAR ANKH 1 屏幕中央字幕
4 o; d3 i; S2 O$ r: W2 pID_MENU ANKH 1,2 主菜单字幕
0 t' W1 M& S, @. c* y$ Z/ XCHAR_ ANKH 2 屏幕中央字幕 |