看了一下Ankh - Heart of Osiris 这个游戏,觉得很适合用来作为第1个被汉化的大型图片字库AVG。
8 o2 {0 U3 r7 G' t: {5 @下面对这个游戏做一下简单的汉化分析。
t$ f# Z1 n6 a
. `, v) P- y7 z$ P; U* H这是一个Directx9的游戏,用代理DLL已经试验过了,可以起作用。 ! s. n- w2 j* w% J: e$ u& d& r
字幕文件在\media\shared\speech\english下面的各个目录里,都是.bin文件,里面保存的是明文的字幕ID和字幕文本。 $ g) O% O. ]6 s; u6 y8 @9 u/ g
7 h9 l8 M/ c: o( j g. V
这个游戏的各种字幕画面可以参考这个帖子。
$ P7 L9 x% ~9 m" E7 Ohttps://www.chinaavg.com/read.php?tid=17368
Z3 y0 ?8 h4 u9 e; k下面简单说一下汉化字幕的方法。
9 o- ?- U' z- }- }, Y: {) c这个游戏有不少dat文件其实是zip文件,比如以下这个。
6 E2 i# l2 W( @2 m: _\media\shared\local.dat 解开后可以发现一些字体文件。 : h! w6 U0 u; R% `# l7 z; i1 L+ w
一般一个字体包括一个.tga 和2个同名的配置文件。 $ {" a) E4 N. V, k7 K+ }
游戏中用的字体都是不等高和等宽的,我们要先修改配置文件,使其等高和等宽。 + T3 \5 @; }( f% z. p* X
8 E4 b% S7 t. k6 ^8 C! u
菜单画面
9 r4 A+ c2 ]* k; Z* D看了游戏字幕画面,我们发现,菜单是单独使用一种字体的,这样我们只要把tga中的字体样子修改一下就行了。 " D9 U4 w% S% z9 v
8 Q' C J& ?, R0 [% k5 ?; R: Q8 f
底部多行对话选择画面, 底部单行对话画面,底部单行提示字幕画面 1 D0 b5 s, n' Q2 B: ~; h1 o3 y
对于这3种字幕画面,由于背景是纯黑色的,比较简单,我们用像下面的这种变种条形码和自制的码表,配合图形识别技术就能显示出字幕。 ' T/ e1 U! v# A. Y0 t
方块 空格 方块 方块 方块 空格 方块 空格
$ W% m. M) c% H9 q$ Y
+ i& K* v. X2 ~3 }" U画面中部字幕 ( D8 e' ?6 m' ]7 o' |! n
对于这种字幕,由于有背景,我们可以显示一个像素级的2维码,判断之后,显示字幕,并进行一些位置调整,让我们显示出来的字幕把像素级的2维码遮盖掉。 # ]+ Z4 y: d) O
( ~6 @0 a" F: U1 w+ @6 ]5 E像素级2维码大致是这样子的 & n: v0 K* a+ _; ]4 }5 {$ x
8 a- X7 O; ~* a; ^
黄像素 透明像素 黄像素
" {# t! k7 m! W' B' J1 U黄像素 黄像素 透明像素 6 m0 H- I9 H& [8 y' d% Y. E
黄像素 透明像素 透明像素
" j5 @ c) K \
6 @& E: ?6 u w# Y5 k下面先放上这个游戏的部分字幕文件
* j" W7 P) S( W, e% C6 A--------------------------------------------- 7 t `) L {" R" S0 v/ b
2009.6.3 更新 & n1 a" Z) J9 d1 ~% g1 V% d
看了一下ANKH 1 ,的确字幕位置和ANKH 2完全一样。
2 _' k2 ^% H4 I8 [6 {8 c+ y1 y
: Z3 ^5 d! O; A/ {字幕文件TGA文件的格式如下
4 C# P0 @9 I2 q" r头部 18 字节
& Z0 Y" J, g# o1 [" e5 ]数据部 宽X高X4 字节 BGRA 格式存放 ' L* Z) w/ @+ i3 ^- o% x
尾部 26 字节
8 [) c- F; t1 d( @* O, A- ^# q4 a---------------------------------------------
# g1 m r! }- Q& e: p9 h2009.6.3 第2次更新
3 f3 g7 |+ B- E$ J7 G5 p! z2 M放上ANKH 2 的另一个字幕文件Interface_english.bin。
( k A2 a* W: M) G3 E主菜单的字幕都在里面。
- X6 N1 G3 R5 {' w4 \7 T以及ANKH 1 的字幕文件 ankhEnglishStringTable.bin。
: G. p% u9 W0 V---------------------------------------------
, p R3 m H- Q1 m# d; ~0 d) A2009.6.3 第3次更新
4 |( z/ r k( `) `! V9 f3 W7 L补上一个 ANKH 1 的字幕文件 conversations.bin
3 e7 l) y1 K* J) W& M6 y
% q# H ?! Z( R! k7 ?, J字幕ID前缀说明
- b5 w/ r/ ~' j) uCFG_CHAR ANKH 1 屏幕中央字幕6 z. @% _+ U& G4 w$ f2 a! F
ID_MENU ANKH 1,2 主菜单字幕
( K% t% W1 }) M; C$ DCHAR_ ANKH 2 屏幕中央字幕 |