汉化探针使用指南
版本0.03A
(发布于2003年7月30日)
版权声名:
汉化探针(以下称为“本软件”)及所附带的所有文档(以下称为“附带文档”)如果没有特别声明,版权均属于WindTank。您可以任意传播本软件及附带文档,但是,您没有权利对本软件及附带文档进行任何形式的修改,所有修改都是违法的。本软件是免费软件。
联系方式:
网络技术支持:
生成一个文件,其中包含所有显示的文本 放弃所有的修改,字符串将返回原值 放弃对当前所选定字符串的修改
功能:只载入准备修改的文件(ROM/软件)
载入文件的同时载入对应的设置
从以前生成的文本对照表载入文本
从文本对照表载入的同时载入对应设置
将本次软件运行以后对ROM/软件所做的所有修改真正作用到文件,如果不进行这一步,所有的修改
将不会生效
仅仅关闭已经打开的(正在等待修改的)ROM/软件
退出汉化探针
功能:设置相关参数
功能:内置的一些实用工具
功能:对汉化时的主要参数进行设置
本软件的所有参数的默认值都是为汉化PC软件准备的,请注意!
如果选择不处理整个文件,则可以选择两种方式:1。给定开始点和停止点,以字节做单位。2。分段处理,需要给定处理的段号,从1到32。本方式可以将文件分成32段,同时只处理其中指定的1段。
修改后长度不变:可以强制使修改后的同一位置字符串与修改前所占空间完全一样,不足的长度用给定的数据填充。
强制双字节编码:强制使汉化探针对所有编码都按双字节处理(默认状态下汉化探针只将第一个字节值大于128且含有汉字
被选中的时候第一个字节才与第二个字节一起被视为双字节编码)。
例子:数据1,12,129,24,2,10(均为字节)
强制双字节模式 ASC码序列:268,33048,522
默认模式(含有汉字) ASC码序列:1,12,33048,2,10
默认模式(不含有汉字) ASC码序列:1,12,129,24,2,10
反向双字节:强制双字节模式的时候,认为高字节在后,低字节在前。
字符串长度下限:只有当搜索到的单个字符串长度不小于此值时,才认为他是一个有效的字符串,否则将弃之不用。
填充空余字节的字符ASC码:当“修改后长度不变”有效时,用此值填充空余字节空间。
载入高阶设置:载入以前生成的高阶设置文件。(目前仅仅载入其中的字库顺序表设置)
默认高阶设置:载入高阶设置的默认值。(目前仅仅载入其中的字库顺序表设置)
确定:返回主界面。
功能:进行设置以确定如何将ROM/软件中的数据转换为文本显示出来
添加映射:添加一条新的映射到映射表中。
删除映射:删除当前所选定的映射。
默认设定:将映射表恢复到默认状态。
保存映射:将当前显示的HEX,ASC值保存到所选定的映射中。
导出映射:将当前映射表保存到文件中,扩展名为“WBT”
载入映射:将以前保存的映射表文件重新载入。
相对查找并添加映射:以相对查找的方式查找所给的字符串并自动生成映射,添加到映射表中。
选定的相应类别(汉字,数字。。。)将扩展到整个类别中。比如查找的是“kill”,“小写字
母”扩展选项有效,则查找成功后,a-z的映射关系都将自动被设定好。
确定:返回主界面。
功能:进行设置以确定如何将修改后的文本转换为数据写入文件
添加映射:添加一条新的映射到映射表中。
删除映射:删除当前所选定的映射。
默认设定:将映射表恢复到默认状态。
保存映射:将当前显示的ASC,HEX值保存到所选定的映射中。
导出映射:将当前映射表保存到文件中,扩展名为“SRT”
载入映射:将以前保存的映射表文件重新载入。
确定:返回主界面。
功能:定义字库中字符的排列顺序,决定如何进行相对查找
功能:制作汉化补丁,以方便汉化作品的发布
附属工具的使用
A。字库导入器
打开要处理的ROM文件(注意作好备份,在导入器里,任何导入操作是立即生效的!),可以看到,其中的字库(图素)已经显示在左上方显示区了。
点击滚动条,找到外文ROM中的字库,算出字库的起始位置编号。(可由显示区下方的编号范围与字库起始字的位置算出。如图中:编号范围是12289 ,第一个字位置在第1行,第3列(即字符“0”)。则字库起始位置编号为
12289 + (1 -1)X 16+ 3-1= 12291)
将字库起始位置填入起始图素位置框中;要导入的汉字填入导入的汉字(一个或多个)框中(可以填入多个汉字,将依次导入。也可以填入其他字符);点击转换为xx按钮,即可将汉字库导入ROM中。(如下图)
如果需要使用其他字体的汉字,可以通过“设置字体”按钮来设置。
注意导入前请先选择好前,背景色。尽量设置为跟原来相同,否则生成的字库风格可能跟原来相差甚远。设置时,可以先单击前景或背景颜色框,再单击右边四个颜色框之一。
如果需要生成映射表,应该填写起始HEX编码,再单击“保存映射表”即可生成。生成的映射表保存为ROM文件名+“.SRT”,存储格式依照汉化探针输入映射表标准。
(小技巧:用鼠标在显示区单击可以自动选定字库起始位置)
起始HEX编码可以由汉化探针住界面中的设置->文本映射设置中的相对查找功能间接得到。具体用法如下:
比如说:游戏运行中得知有一个字符串为“HELLO”,而且字库排列同上图。相对查找结果是“H”的HEX编码为30,则可以计算出“G”的HEX编码为29,依次类推,“0”的HEX编码为13。因为上图中字符“0”既为起始字符,所以上图所示例子的起始
HEX编码为13。
通过两个“浏览...”按钮选择好外文软件与中文软件,按“生成补丁文件按钮”就可以生成汉化补丁了。
如果需要,可以在制作者信息栏里输入想要显示的制作者信息,当补丁被安装时,这些信息将会显示在安装界面里。这些信息一般来说不应该超过64个字。
下图是一个例子。
首先填好参数
生成补丁
这是安装时候的样子
生成的汉化补丁是1个可执行文件“补丁安装.EXE”,位于中文文件所在的文件夹里。
您可以将这个文件压缩后发布。
(与汉化探针一样,补丁安装精灵也是用VB编写的,要运行他必须有VB运行库。如果你已经安装了汉化探针或其他VB编写的软件甚至VB,你就已经有这个东西了,否则,补丁使用者必须专门找一个。他的名字为“msvbvm60.dll”大约有1.4MB,可以到有VB的朋友那里找一个。有能力的朋友可以自己用VC,ASM之类的软件编写一个补丁安装精灵的替代品,我不反对。不过所有替代品也必须是免费使用的!关于补丁文件的格式定义可以跟我联系索取)
高阶设置向导是对一些比较复杂的设置的进行操作时的一种选择,目前仅仅有一个功能:对字库顺序表进行设置。
先单击“设置xxx”按钮以调入xxx类的当前的顺序关系,然后在右边的文本框中依续输入字库中xxx类的位置连续的字符,最后单击“确认设置”按钮,即可将该类字符的字库顺序设置好。
例如:
某ROM的字库中有26个小写字母,在文件中的出现顺序为a-z。则应该单击“设置小写字母”按钮,在右边的文本框中输入“abcdefghijklmnopqrstuvwxyz”,然后单击“确认设置”按钮。
同时其中有20个大写字母,在文件中的出现顺序为T-A。则应该单击“设置大写字母”按钮,在右边的文本框中输入“TSRQPONMLKJIHGFEDCBA”,然后单击“确认设置”按钮。
同时其中还有10个数字,在文件中的出现顺序为1,3,5,2,4,6,7,8,0,9。则应该单击“设置数字”按钮,在右边的文本框中输入“1352467809”,然后单击“确认设置”按钮。
单击“导出”按钮,可以将高阶设置保存为文件。扩展名为“ADS”。导出的设置文件可以在以后重新载入。
“默认xxx”按钮可以将响应设置恢复为默认值(适合与汉化PC软件)。
设置完毕后必须单击“确认设置”按钮,否则本次所有设置将不能生效!单击“确定”按钮可以退出设置向导。
汉化过程
一般来说,汉化一个ROM的过程如下:
1。从高阶设置向导里设置字库顺序表,为相对查找生成文本映射表做准备。(如果字库里的字符排列顺序与默认值相同,可以跳过这一步。不过大多数ROM都不符合这一条件,只有PC软件才具有比较高的符合率)
2。载入带修改文件(虚载),从文本映射设定中通过相对查找建立文本映射表,建立前一般来说应该先清除原有的默认映射。
3。重新载入待修改文件,文件中所有的字符串(文本)将被搜索出来。
4。生成文本对照表文件。
5。根据文本对照表文件得出汉化文本,并同时得出将要使用的是哪一些汉字。
6。用字库导入器导入汉字库到ROM中,同时建立输入映射表文件。
7。从输入映射设定中载入第6步生成的映射文件,一般情况下,应该先清除原由的默认映射。
8。在主界面里通过双击右边列表的条目来将外文文本翻译成对应的中文文本。
9。保存所做修改,使文本的翻译真正生效。
10。制作汉化补丁(可以省略)。
专用名词释义
文本映射表:由若干条文本映射关系构成的表格,用于将ROM中的二进制数据对应到他的真实文本表示。
文本映射关系:ROM中的二进制数据对应到文本的依据。由4部分组成:HEX开始,HEX结束;ASC开始,ASC结束。
比如:二进制的12到14分别表示A,B,C。则4部分分别为:12,14;65,67。
二进制的55表示z则4部分分别为:55,55;122,122。
输入映射表:由若干条输入映射关系构成的表格,用于将真实文本对应到他在ROM中的二进制数据表示。
输入映射关系:文本对应到ROM中的二进制数据的依据。由4部分组成:ASC开始,ASC结束;HEX开始,HEX结束。
比如:A,B,C表示为二进制的12到14。则4部分分别为:65,67;12,14。
z表示为二进制的55则4部分分别为:122,122;55,55。
字库顺序表:ROM中的字库的特性表示,由6组的顺序字符串构成。
顺序字符串:按在ROM字库中出现顺序由前到后紧邻排列的真实字符组成的字符串。字符串中的字符ASC码可以不相
邻,但是同组的顺序字符串在ROM字库中必须是紧邻存储的。
比如:
字库中有一段紧邻的字符:ABCD你我他。则可以将6组顺序字符串中的一组设置为:ABCD你我他。
软件更新历史
0.03A 加入了GB/GBC字库导入器,并优化了字库导入器的效率。修正
了一些不明显的BUG。生成的补丁变成单个可执行文件的形式。
0.03 加入了FC/NES字库导入器,补丁制作器。
0.02B 增加了列表中的右键菜单,并修正了此前的几乎所有BUG。
0.02A 修正了一些BUG,同时增加了一份说明文档。
0.02 支持了更多的功能(包括反向汉化及双字节编码游戏的汉化)。
0.01 基本上可以用了。。。
WindTank作于龙城
2003年7月30日