看了一下Ankh - Heart of Osiris 这个游戏,觉得很适合用来作为第1个被汉化的大型图片字库AVG。
1 J8 w) k% K/ S: j- K下面对这个游戏做一下简单的汉化分析。 ; [4 W1 L$ u3 u3 P) w: s$ L) ?* e
+ P1 k/ G; D8 v$ U- E: V0 i* z" u
这是一个Directx9的游戏,用代理DLL已经试验过了,可以起作用。 ( z0 R7 w Q# x0 j* X
字幕文件在\media\shared\speech\english下面的各个目录里,都是.bin文件,里面保存的是明文的字幕ID和字幕文本。 3 B! p2 p; |% {! O! o5 t/ ?: S' B
6 Y) c& q" t( G( Q) `
这个游戏的各种字幕画面可以参考这个帖子。 * o2 ~& V& h) G6 D( b1 k# e0 q
https://www.chinaavg.com/read.php?tid=17368
9 _8 l! O+ h- }% m) \下面简单说一下汉化字幕的方法。 % f; D! q7 `3 ^8 q) S
这个游戏有不少dat文件其实是zip文件,比如以下这个。 0 v; s0 ]6 M# m6 I. ? p0 D* L0 V1 F
\media\shared\local.dat 解开后可以发现一些字体文件。 # L' Y: f) n( }
一般一个字体包括一个.tga 和2个同名的配置文件。 " K4 ^7 C. |! H- e
游戏中用的字体都是不等高和等宽的,我们要先修改配置文件,使其等高和等宽。
) {5 k, I$ ]$ ?# D. L( m& S7 @+ L3 |9 s
菜单画面 $ r0 Q% P4 v0 [# D& [, M
看了游戏字幕画面,我们发现,菜单是单独使用一种字体的,这样我们只要把tga中的字体样子修改一下就行了。
4 I7 ?$ _, J! u' r8 e7 i
4 q0 Z9 m3 A3 S: p底部多行对话选择画面, 底部单行对话画面,底部单行提示字幕画面
! F3 D8 M4 ~6 ]. ?, |" r! G对于这3种字幕画面,由于背景是纯黑色的,比较简单,我们用像下面的这种变种条形码和自制的码表,配合图形识别技术就能显示出字幕。 : P- D! I, j: W/ Q
方块 空格 方块 方块 方块 空格 方块 空格 * x# _8 H6 P6 n+ r& C4 @- ^
1 a. K l! L! W+ G
画面中部字幕 ( @- e9 R x7 S" }
对于这种字幕,由于有背景,我们可以显示一个像素级的2维码,判断之后,显示字幕,并进行一些位置调整,让我们显示出来的字幕把像素级的2维码遮盖掉。 7 r( r* ]' E+ O
& ?) H$ d5 D9 t5 C
像素级2维码大致是这样子的
9 k0 C4 A% I$ d$ h3 d0 k7 {9 Q
) W! }7 y/ S5 ?4 I5 ^' `: p* ~1 }: ?黄像素 透明像素 黄像素
6 P" @2 i5 V1 O% m$ C9 i% n黄像素 黄像素 透明像素
" B& U1 H' z+ H3 g+ r: Z2 l黄像素 透明像素 透明像素
# l: @% ]% I% P
* x0 m& p# i7 e下面先放上这个游戏的部分字幕文件
8 ^: t: G+ L1 p" G---------------------------------------------
' Z+ X" y4 V8 X% j2009.6.3 更新
9 e D7 E ]5 Z( G3 N看了一下ANKH 1 ,的确字幕位置和ANKH 2完全一样。
$ Z" X6 [; U. k7 y8 \: E0 l. z4 _
2 g4 y; L" g# q0 e- S字幕文件TGA文件的格式如下
$ w" V+ Y6 T" a+ _3 o& l* {! ^头部 18 字节
6 R& Z# V) n- w& E- x3 J% U数据部 宽X高X4 字节 BGRA 格式存放
( [, c" b9 K; C: |: P8 S! ]# W( X尾部 26 字节
$ i" c$ o; \- ?/ W5 O2 f% h" U$ p---------------------------------------------
( G" }5 Q+ e8 j- ~# ]# r' t2009.6.3 第2次更新 / o% u* X3 ~9 ?3 L
放上ANKH 2 的另一个字幕文件Interface_english.bin。
# |1 f0 r& G, ?主菜单的字幕都在里面。 8 r+ N# X4 ~- U5 ?8 g) C
以及ANKH 1 的字幕文件 ankhEnglishStringTable.bin。
7 q7 a9 l! E. c! Z8 \- N+ Y! g---------------------------------------------
. S: F& C7 w9 I# H. c; H1 a- ^% u2009.6.3 第3次更新
* k3 Y1 Q! F; r5 O1 \7 N, j/ o补上一个 ANKH 1 的字幕文件 conversations.bin5 c; i+ V& v1 ?- j
1 A( O! U, C J) l字幕ID前缀说明
: S: t' q1 \! _! E+ V/ O4 c8 _CFG_CHAR ANKH 1 屏幕中央字幕2 m$ b& Y" K% P
ID_MENU ANKH 1,2 主菜单字幕
* D+ M% d2 s8 X+ yCHAR_ ANKH 2 屏幕中央字幕 |