看了一下Ankh - Heart of Osiris 这个游戏,觉得很适合用来作为第1个被汉化的大型图片字库AVG。
? g* }4 L$ j* i0 N- z下面对这个游戏做一下简单的汉化分析。 8 A# [4 h* k' S7 _ ?) W
) x/ {1 c! q9 u0 M- n
这是一个Directx9的游戏,用代理DLL已经试验过了,可以起作用。 G; H& o$ K6 `. R( [/ o* d9 O
字幕文件在\media\shared\speech\english下面的各个目录里,都是.bin文件,里面保存的是明文的字幕ID和字幕文本。
" @( D$ S" Q E" H: F1 h2 E1 N! D1 ~' B1 m' A9 E# c' s
这个游戏的各种字幕画面可以参考这个帖子。 ( J! V8 `4 c. S1 F9 Y! P
https://www.chinaavg.com/read.php?tid=17368
$ ]" V, ~/ f6 S# q' J下面简单说一下汉化字幕的方法。 5 G+ G7 H2 M5 E, k) ]% T
这个游戏有不少dat文件其实是zip文件,比如以下这个。 , {( k+ k2 |4 y4 i" g- k/ ]5 y
\media\shared\local.dat 解开后可以发现一些字体文件。
$ P1 f/ ?7 D0 T一般一个字体包括一个.tga 和2个同名的配置文件。
; ~( a# o) V2 _" k# O; v+ X+ _/ j游戏中用的字体都是不等高和等宽的,我们要先修改配置文件,使其等高和等宽。
6 _/ v' p! _8 p) O4 q0 \, p# A, _4 x$ o3 U
菜单画面
- b% s6 h+ j, s4 z: }+ {3 G看了游戏字幕画面,我们发现,菜单是单独使用一种字体的,这样我们只要把tga中的字体样子修改一下就行了。
4 l! h6 r2 |5 F. q: H
' _5 [9 D" Y: Z$ \4 \1 G底部多行对话选择画面, 底部单行对话画面,底部单行提示字幕画面 , ~9 g, k. f8 r: i, W) W( v
对于这3种字幕画面,由于背景是纯黑色的,比较简单,我们用像下面的这种变种条形码和自制的码表,配合图形识别技术就能显示出字幕。
3 y0 }2 M1 h/ H f8 n方块 空格 方块 方块 方块 空格 方块 空格 : \, ?1 v$ E9 E, _3 S9 M
2 c7 Y( o5 a* y4 V; J5 S6 `0 B/ H画面中部字幕
8 a$ l+ j- | _3 g( ~" Y对于这种字幕,由于有背景,我们可以显示一个像素级的2维码,判断之后,显示字幕,并进行一些位置调整,让我们显示出来的字幕把像素级的2维码遮盖掉。
' r8 r5 `% [# [/ p# Q; B1 _& r+ X* d! Z6 g
像素级2维码大致是这样子的
7 ]" g5 t( p& Y/ A9 Y" m
4 E( d- P: D: u! M* D黄像素 透明像素 黄像素 ' ~& H" S% h6 O; Y! E
黄像素 黄像素 透明像素 * I5 |: D+ ^ b, e8 U
黄像素 透明像素 透明像素
; \* y* T) Q* |
7 _4 X0 \; F' a1 }; S下面先放上这个游戏的部分字幕文件 9 c" G8 a ?" M( G; d
--------------------------------------------- ( r6 r. x g5 M2 R
2009.6.3 更新 ! f5 _7 m% M0 z- j8 ~7 G. K3 d
看了一下ANKH 1 ,的确字幕位置和ANKH 2完全一样。
- [/ R; F1 _8 \! w+ u9 s- G4 }( a P3 E5 O, y% D# t
字幕文件TGA文件的格式如下 ! z( y% w) F* w
头部 18 字节
; Z5 P( O$ E/ F; ~: k+ x8 i数据部 宽X高X4 字节 BGRA 格式存放
2 _. f: L! l# y, h8 T% A3 W尾部 26 字节
( G1 g# l% _. O, V0 d---------------------------------------------
/ {# h5 @2 I `7 ^0 w2009.6.3 第2次更新 3 b/ Z1 p/ M6 [2 b2 B3 w/ k) ~3 b
放上ANKH 2 的另一个字幕文件Interface_english.bin。
6 J/ j" m- |1 ~8 Q9 j; w主菜单的字幕都在里面。 4 N6 ~3 N, q6 ^7 K) G. `1 w- C
以及ANKH 1 的字幕文件 ankhEnglishStringTable.bin。
2 s% m2 C: f/ t---------------------------------------------
+ }4 `9 i5 B7 g/ f2009.6.3 第3次更新 ! ~; ?$ G/ X7 v% M$ x* W3 ^/ P
补上一个 ANKH 1 的字幕文件 conversations.bin
@" G+ i8 L& [* T4 i% U- f: _$ R- T( c5 v8 z( B
字幕ID前缀说明' M0 Z7 D+ m4 ~) ^0 `; f, y z0 h
CFG_CHAR ANKH 1 屏幕中央字幕
l# B1 F7 e$ b6 j/ g% SID_MENU ANKH 1,2 主菜单字幕
: j0 {$ y8 ]0 _2 L! @/ m [4 E" FCHAR_ ANKH 2 屏幕中央字幕 |