(PS)賭博黙示録カイジ汉化笔记(三)

来源:互联网 发布:er软件 编辑:程序博客网 时间:2024/05/23 14:38

三.文本导出和导入A

 

这一部分称为A,是因为我最早是用了一个工具进行文本导出和导入。这仅是用来实验,最后我还是编程导出了文本,这个部分放到B来描述。AB部分都是独立,并不是上下篇。

 

文本导出导入工具也有不少,oz01的文章中推荐的是CrystalScript、菜鸟工具,我这里推荐一下蓝山魔导,同样是蓝山老妖的作品,将很多工具进行了合成,界面也比较友好。虽然有部分bug,也停止了更新,但还是推荐。

 

蓝山魔导的使用参考说明书,这里就不再介绍。首先设置码表文件,上文提到对某些特殊码字进行修改,其实是在这个步骤中进行的。导出,检查,修改,再导出,重复这个步骤。当然也不一定能把所有的特殊码字都找出来。

 

控制符脚本的话,可以点击窗口左下方的帮助按钮查看。

xxxx=任意字符  ( 用户自定义控制符,输出形式为: {任意字符} )

xxxx=  ( 换行符 )

xxxx=  ( 换页符 )

xxxx=jump:n  ( 跳过该编码后面n字节,并继续该段文本 )

xxxx=finish:n  ( 跳过该编码后面n字节,并结束该段文本 )

xxxx=pass:n  ( 扔掉该编码后面n字节,并继续该段文本 )

其中最重要的还是换行符和换页符。

 

首先来观察刚刚找到的文本,第一部分MOV01AM.STR显然是显示文字前播放的视频,这里可以忽略。之后的文字段落明显都是用00来表示完结,虽然这是标准的String with Zero,但这里不妨认为00就是换行符。

 

结合游戏图片来分析,发现几个问题:

 

 

第一点:“真夜中の雨”到下一句之间应该有两个空行(其实是“列”,但为了方便起见以后都叫做行)。而上图中只有两个连续的00,也就是说只换行了一次。

 

第二点:也就是最关键的一点,“何も聞こえない‥‥”之后本页结束,但是没有发现任何特殊的标记来换页。

 

这里先暂时放过,看看其他控制符。

 

注意到这里有一个ASCII字符“B”,之后还有一个字符“R”,游戏中的显示如下:

 

显然,B代表颜色变成蓝色,R代表颜色变成红色。此类ASCII控制符还有一些,控制符的制作也不是一下子完成的,可以发现一个增加一个。

 

设定好码表和控制脚本,选择ROM文件,因为这个软件是面向NDS/GBAROM的,所以要求选择ROM文件,这里就是选择Course.dat即可。其实地址和结束地址选择只要选择文本较集中的一段即可,我这里设置的是004d5650-004d6230,标尺宽度设为12,游戏中一列最多就显示12个字。优先级设置成控制符优先。码表中最好不要带有ASCII码表,带有的话可以将“MOV01AM.STR”之类的内容也导出,但是由于控制符的存在,R会被翻译成红色。

 

文本导出之后,下面的步骤是翻译,这个步骤不在技术人员的考虑范围内。当然我为了测试用了下翻译软件大约翻译了第一段文字。然后使用蓝山魔导的码表工具生产新的码表。这里要说明一下的是,我为了不重新制作一些竖排的符号,保留了所有的非汉字部分,这一部分可以称作“保留码表”,在蓝山魔导中加载该码表,然后选择“只生成源码表中没有的字”,同时其实编码就不能从8140开始,必须从889F“亞”开始。此时生成的码表要连接到“保留码表”后面,这张表可以称作“导入码表”。但是从889F“亞”开始的这份码表也不能删除,后面改字库是还要用到,这种表可以称作“新字符表”。

 

接下来用蓝山魔导的文本检查工具进行检查,检查无误之后导入即可,其间用到的码表都是指“导入码表”。

 

事情还没有结束,现在字库还没有变化,使用CrystalTile2,找到“亞”字,选中,然后“编辑”-“导入码表”即可,这个码表就是刚刚提到的“新字符表”。导入的文字可能有些大,因为最高才13pt,所以要使用5号字。我试验下来似乎只有宋体能顺利导入,而且也不是很好看。

 

将修改过的Course.datSlps_027.49写入光盘,运行游戏发现文字显示不正确。理由显然是因为文本是由某个指针表控制的,不能随意更改句子的长度。现在只能调整句子的长度,一般来说句子不会超出,只会字数变少,可以使用“魔导工具箱A”,使句子和原文等长。这里还是有一个问题,比如有一句话是“何故?”,只有三个字,要翻译的话符合标准普通话的只有“为什么”,但是问号就加不上去了。

 

重新调整了一下翻译,再次导入,可以成功显示中文,截图如下:

 

 

至此,文本导出导入结束。但现在还是很简单的操作,一行代码没有写,一句指令也没有看。

原创粉丝点击