看了一下Ankh - Heart of Osiris 这个游戏,觉得很适合用来作为第1个被汉化的大型图片字库AVG。 1 q% w: E8 E& o2 B" f
下面对这个游戏做一下简单的汉化分析。
7 r3 ^7 G, f7 B6 U5 S4 f$ ~0 j) P% I: _% f( F7 u
这是一个Directx9的游戏,用代理DLL已经试验过了,可以起作用。
& `0 d8 b4 k7 {8 d1 ^. E/ p字幕文件在\media\shared\speech\english下面的各个目录里,都是.bin文件,里面保存的是明文的字幕ID和字幕文本。
( |8 a9 o6 j% C ?
. l1 t/ l' H; d这个游戏的各种字幕画面可以参考这个帖子。 t& \ _; s' ^ [( [& Q/ Z
https://www.chinaavg.com/read.php?tid=17368 8 u1 K4 }4 m3 y* }4 r6 p
下面简单说一下汉化字幕的方法。 & C/ C. T& z% N4 ^7 X
这个游戏有不少dat文件其实是zip文件,比如以下这个。 - X9 k$ f- w2 M& _6 e& Q6 R
\media\shared\local.dat 解开后可以发现一些字体文件。 $ K" z. a* M/ d. i( Y* ~2 Y0 h
一般一个字体包括一个.tga 和2个同名的配置文件。
5 z5 |4 Q. [3 @9 |: w6 W游戏中用的字体都是不等高和等宽的,我们要先修改配置文件,使其等高和等宽。
0 o6 n" |0 ^0 y3 Q. d; M' {! J4 r1 o8 l" j/ _ l) Y
菜单画面
% q- S" k1 E$ Q看了游戏字幕画面,我们发现,菜单是单独使用一种字体的,这样我们只要把tga中的字体样子修改一下就行了。 $ D& }1 [9 e6 F1 P1 t4 }
4 q% q4 u- R! Q, o1 s* I% X1 B底部多行对话选择画面, 底部单行对话画面,底部单行提示字幕画面 ! @* C/ H" l; ]
对于这3种字幕画面,由于背景是纯黑色的,比较简单,我们用像下面的这种变种条形码和自制的码表,配合图形识别技术就能显示出字幕。 . n( G2 M9 R# O( E) n
方块 空格 方块 方块 方块 空格 方块 空格
7 t' O z& p: }( \
# m2 z5 ]# y5 O) J3 e. J画面中部字幕
1 x- t# q+ f! Y2 ~- b. Q, g M对于这种字幕,由于有背景,我们可以显示一个像素级的2维码,判断之后,显示字幕,并进行一些位置调整,让我们显示出来的字幕把像素级的2维码遮盖掉。
( C$ K8 r3 g0 _ M2 e5 W9 J w. N% C+ k' ?0 Y
像素级2维码大致是这样子的 , c% S1 z# R* K9 M! E- ~' R
0 E' s4 u* L( z ^/ Q, A& |
黄像素 透明像素 黄像素 6 d" @4 W" J9 f7 F) s$ ?; r
黄像素 黄像素 透明像素 , ^7 h6 j7 i$ g1 n& q0 s8 b
黄像素 透明像素 透明像素
" V% ~! o5 D }* g, G% Q. V' p/ `
3 w7 z. [: T6 z! q4 J9 ?8 s下面先放上这个游戏的部分字幕文件
. w9 `) Z8 z5 p) x# L" z--------------------------------------------- , [# U( X3 ~6 t$ ~* @9 U! k, q% ~
2009.6.3 更新
* [; E4 b) i7 @. r. x/ j看了一下ANKH 1 ,的确字幕位置和ANKH 2完全一样。 $ ]* I: g- u) s! }
: g# N$ I+ o7 {2 a
字幕文件TGA文件的格式如下 1 A: o+ u2 ^, t- s0 g& D+ } m7 H
头部 18 字节
% L _2 ]# m! M) i Z数据部 宽X高X4 字节 BGRA 格式存放
9 g/ N7 v5 @+ z- L尾部 26 字节 o4 H* ]7 P' N7 d7 H8 R& N$ \
--------------------------------------------- K. S9 c( M, ^2 C
2009.6.3 第2次更新 ' c( X% g; y X$ C$ W
放上ANKH 2 的另一个字幕文件Interface_english.bin。
* G- @- t' M* h1 Q. i主菜单的字幕都在里面。
0 r# r- v! z- N4 {2 p0 o& m以及ANKH 1 的字幕文件 ankhEnglishStringTable.bin。 - G5 q$ V L {: N8 J0 \
---------------------------------------------
% @- ^" j& l+ _2 e2009.6.3 第3次更新
# Y; e4 m3 `) L) J+ j补上一个 ANKH 1 的字幕文件 conversations.bin
; A$ X$ P! J- E. F9 E
0 }' p( H# Q/ x# I) d字幕ID前缀说明
4 g. a, o6 K, ^& }1 m8 ?CFG_CHAR ANKH 1 屏幕中央字幕
5 J5 ?; U+ G6 X# C9 |ID_MENU ANKH 1,2 主菜单字幕; ^2 m+ d; w$ c i& d
CHAR_ ANKH 2 屏幕中央字幕 |