看了一下Ankh - Heart of Osiris 这个游戏,觉得很适合用来作为第1个被汉化的大型图片字库AVG。 - t7 C1 Z& Y$ c% h" s+ C7 O( z# R% `
下面对这个游戏做一下简单的汉化分析。
5 w0 X0 G# ?: N6 i( q% d0 m6 _$ s% A7 q( r: F0 R
这是一个Directx9的游戏,用代理DLL已经试验过了,可以起作用。 # s' N Z7 `+ J; R& `' R
字幕文件在\media\shared\speech\english下面的各个目录里,都是.bin文件,里面保存的是明文的字幕ID和字幕文本。
7 c( K X# o9 n( A) f/ Y9 h" A6 b/ a( A% U* B5 e$ g: s4 g
这个游戏的各种字幕画面可以参考这个帖子。
0 O% Z5 p, Q4 {https://www.chinaavg.com/read.php?tid=17368
! w; q/ \4 b5 u9 D下面简单说一下汉化字幕的方法。 9 [" D+ o- K* e, ^5 v5 r
这个游戏有不少dat文件其实是zip文件,比如以下这个。 0 F1 e; X! b" F( y$ R9 v7 r
\media\shared\local.dat 解开后可以发现一些字体文件。
7 T6 M# T* {( I% v- V& H Z一般一个字体包括一个.tga 和2个同名的配置文件。
0 c0 Y2 g2 \# {0 s4 ^游戏中用的字体都是不等高和等宽的,我们要先修改配置文件,使其等高和等宽。 * Q: G- ?# o" \' W% A
) k9 L5 T! T' {* @3 {( K
菜单画面 # L* N+ ?- G2 |2 O% M; b0 p. [* t' y
看了游戏字幕画面,我们发现,菜单是单独使用一种字体的,这样我们只要把tga中的字体样子修改一下就行了。
$ a c& i. d0 ]. M
8 a/ \* `8 e2 b, i' s( z. t5 ]6 S底部多行对话选择画面, 底部单行对话画面,底部单行提示字幕画面 8 B& I ]8 i$ R" B! q5 o( @2 }& ]
对于这3种字幕画面,由于背景是纯黑色的,比较简单,我们用像下面的这种变种条形码和自制的码表,配合图形识别技术就能显示出字幕。 4 |) x3 D" u1 I! i0 O Q
方块 空格 方块 方块 方块 空格 方块 空格 8 L% ?! m) _$ X: I2 D$ u
5 i4 C! u9 Y3 e3 }! d6 V7 ]" n# D画面中部字幕
* O! q: z0 c( P( \9 `0 K. I5 W对于这种字幕,由于有背景,我们可以显示一个像素级的2维码,判断之后,显示字幕,并进行一些位置调整,让我们显示出来的字幕把像素级的2维码遮盖掉。
; u6 I% Y* P( o* n( X3 d
8 ^9 o3 a( S7 _4 x) e像素级2维码大致是这样子的 9 ]$ U# ]( k+ Z5 s
# l/ X- E9 a/ P/ r黄像素 透明像素 黄像素
# S5 l8 f; K& n8 u1 R( i8 g8 M. {黄像素 黄像素 透明像素 : H& {1 k" x. y# D# [
黄像素 透明像素 透明像素 8 x5 ^. U9 W4 ?( T
$ N' D. r9 g) c8 V- R
下面先放上这个游戏的部分字幕文件 . g- K/ R0 h, z
--------------------------------------------- 3 n9 L8 K# v# c- B* a2 i# i. x
2009.6.3 更新 7 L( Q& j6 a1 s8 n- l
看了一下ANKH 1 ,的确字幕位置和ANKH 2完全一样。 / D. P( q- R6 n1 s; x6 W1 g; c. W
* U9 b$ O" Z" k3 J* @& L字幕文件TGA文件的格式如下
" u/ E5 }! ]8 T头部 18 字节 5 K8 @3 b% Z# U: ~: l6 p
数据部 宽X高X4 字节 BGRA 格式存放 , [ N: ?2 r- w0 {6 @
尾部 26 字节 & y1 e- p7 {" V) y' L& S
---------------------------------------------
) F% G# F+ L2 U# V& u7 @9 m2009.6.3 第2次更新
( h, B3 J) p) M放上ANKH 2 的另一个字幕文件Interface_english.bin。
- e# O/ I* }: N) o1 m" v主菜单的字幕都在里面。 5 P" A v/ `5 K3 R' N# z
以及ANKH 1 的字幕文件 ankhEnglishStringTable.bin。
* P( b1 M% v2 o) F---------------------------------------------
- L$ F" ?3 j2 v( J$ t) U2009.6.3 第3次更新 & W/ d% X+ e+ `! J
补上一个 ANKH 1 的字幕文件 conversations.bin
p# C% E4 F, [! ~/ H& R9 K
S% k8 M2 F- Y( ^$ W1 A字幕ID前缀说明8 y* ?; ]: @$ n! W
CFG_CHAR ANKH 1 屏幕中央字幕
: {4 J' m1 W1 q5 \9 m9 H x# e" WID_MENU ANKH 1,2 主菜单字幕
+ e0 W8 v. G+ H4 s" q5 F9 `CHAR_ ANKH 2 屏幕中央字幕 |