看了一下Ankh - Heart of Osiris 这个游戏,觉得很适合用来作为第1个被汉化的大型图片字库AVG。
+ @* A6 [5 R( j* t# e下面对这个游戏做一下简单的汉化分析。 ' A4 L7 O6 A; |( ?2 P
5 n" Q9 O& v) o( {+ @% [
这是一个Directx9的游戏,用代理DLL已经试验过了,可以起作用。 1 r$ m# {& Q4 C% I, Q
字幕文件在\media\shared\speech\english下面的各个目录里,都是.bin文件,里面保存的是明文的字幕ID和字幕文本。 $ U' n9 J' x! u; n# f- k: V7 J
8 C9 V7 u/ b. F这个游戏的各种字幕画面可以参考这个帖子。
& O$ s: w7 V2 M* k& C! Nhttps://www.chinaavg.com/read.php?tid=17368 * ~/ w! ?0 N/ b8 F
下面简单说一下汉化字幕的方法。
4 H' o9 Y2 q, n3 e% u这个游戏有不少dat文件其实是zip文件,比如以下这个。 $ a9 i- _& X4 @3 n- B' U& {% O
\media\shared\local.dat 解开后可以发现一些字体文件。 8 l. M" h7 ?% W9 L# @
一般一个字体包括一个.tga 和2个同名的配置文件。
5 b+ v: h% E9 ]9 k1 M2 n& d2 h! d8 v游戏中用的字体都是不等高和等宽的,我们要先修改配置文件,使其等高和等宽。 1 Z( @! S; a% d s% w5 N4 Q4 z) W
) `) ^0 A" P$ R7 D# k6 H: m- _
菜单画面
( v: H$ s0 G3 Q1 h看了游戏字幕画面,我们发现,菜单是单独使用一种字体的,这样我们只要把tga中的字体样子修改一下就行了。 * w1 D" S/ }4 T0 S
9 J8 I# L. d- h; @- A9 [. x
底部多行对话选择画面, 底部单行对话画面,底部单行提示字幕画面
7 Q/ I( t& O2 u" Q6 P: y对于这3种字幕画面,由于背景是纯黑色的,比较简单,我们用像下面的这种变种条形码和自制的码表,配合图形识别技术就能显示出字幕。 # e4 Y* z: c0 M. n8 ]4 {% Q* ~0 i: U
方块 空格 方块 方块 方块 空格 方块 空格 ( N) a E% O$ A7 _
5 m- S* s# i) ?6 P8 b% v/ Y9 \
画面中部字幕
7 o! ]! M8 \& j8 r6 E对于这种字幕,由于有背景,我们可以显示一个像素级的2维码,判断之后,显示字幕,并进行一些位置调整,让我们显示出来的字幕把像素级的2维码遮盖掉。
5 g. Z) l: E& b/ h9 |; _8 g0 ^7 g8 w6 D; h6 F- _
像素级2维码大致是这样子的 5 {. H4 _6 x' J5 V( Q: r8 z
v/ u3 M) H$ v& c i* I黄像素 透明像素 黄像素
8 F7 N) X7 C0 J s0 v$ M黄像素 黄像素 透明像素 / `" O9 R6 X+ C% S, i' O
黄像素 透明像素 透明像素 , n! V. `0 h6 T8 j1 S( ?) |# O
& y0 o p2 Y+ M! |) X8 O/ T
下面先放上这个游戏的部分字幕文件
7 j/ X! _7 X7 p! _--------------------------------------------- % _6 j( @+ r# ~% I x
2009.6.3 更新
* r* B6 p+ M) S U看了一下ANKH 1 ,的确字幕位置和ANKH 2完全一样。
' I& O6 m7 q$ {, L6 }3 K% y3 T: V+ ` D! d( j# n
字幕文件TGA文件的格式如下 / R; s# i2 H$ n& y
头部 18 字节
# m: b! I: `, Y9 x7 T. p& h5 {数据部 宽X高X4 字节 BGRA 格式存放 2 R. u7 O ^. Y
尾部 26 字节
; {0 y# |: E$ D) V0 n---------------------------------------------
$ I9 h% E! ?6 Q$ m. x: M2009.6.3 第2次更新
! e; k5 c3 _) S- i放上ANKH 2 的另一个字幕文件Interface_english.bin。
% {9 H H: V. b4 G- A% z4 A主菜单的字幕都在里面。 3 w C6 i8 U& ` c5 ^
以及ANKH 1 的字幕文件 ankhEnglishStringTable.bin。
) P7 o d, u- }% E& `% @+ e) Z---------------------------------------------
' s' h" w, x& y* K2009.6.3 第3次更新 - B. S" `2 E; ]/ z" Q; H- ~
补上一个 ANKH 1 的字幕文件 conversations.bin
" L, |" ?; o& i" ?
# s( |6 }# [# @* Q字幕ID前缀说明. u- _* i6 `: r, z) }
CFG_CHAR ANKH 1 屏幕中央字幕
. v% J- @+ {$ Q- Q; S E" QID_MENU ANKH 1,2 主菜单字幕2 Y+ V* _& G+ H" p
CHAR_ ANKH 2 屏幕中央字幕 |