(PS)賭博黙示録カイジ汉化笔记(三)
来源:互联网 发布:er软件 编辑:程序博客网 时间:2024/05/23 14:38
三.文本导出和导入A
这一部分称为A,是因为我最早是用了一个工具进行文本导出和导入。这仅是用来实验,最后我还是编程导出了文本,这个部分放到B来描述。A和B部分都是独立,并不是上下篇。
文本导出导入工具也有不少,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/GBA等ROM的,所以要求选择ROM文件,这里就是选择Course.dat即可。其实地址和结束地址选择只要选择文本较集中的一段即可,我这里设置的是004d5650-004d6230,标尺宽度设为12,游戏中一列最多就显示12个字。优先级设置成控制符优先。码表中最好不要带有ASCII码表,带有的话可以将“MOV01AM.STR”之类的内容也导出,但是由于控制符的存在,R会被翻译成红色。
文本导出之后,下面的步骤是翻译,这个步骤不在技术人员的考虑范围内。当然我为了测试用了下翻译软件大约翻译了第一段文字。然后使用蓝山魔导的码表工具生产新的码表。这里要说明一下的是,我为了不重新制作一些竖排的符号,保留了所有的非汉字部分,这一部分可以称作“保留码表”,在蓝山魔导中加载该码表,然后选择“只生成源码表中没有的字”,同时其实编码就不能从8140开始,必须从889F“亞”开始。此时生成的码表要连接到“保留码表”后面,这张表可以称作“导入码表”。但是从889F“亞”开始的这份码表也不能删除,后面改字库是还要用到,这种表可以称作“新字符表”。
接下来用蓝山魔导的文本检查工具进行检查,检查无误之后导入即可,其间用到的码表都是指“导入码表”。
事情还没有结束,现在字库还没有变化,使用CrystalTile2,找到“亞”字,选中,然后“编辑”-“导入码表”即可,这个码表就是刚刚提到的“新字符表”。导入的文字可能有些大,因为最高才13pt,所以要使用5号字。我试验下来似乎只有宋体能顺利导入,而且也不是很好看。
将修改过的Course.dat和Slps_027.49写入光盘,运行游戏发现文字显示不正确。理由显然是因为文本是由某个指针表控制的,不能随意更改句子的长度。现在只能调整句子的长度,一般来说句子不会超出,只会字数变少,可以使用“魔导工具箱A”,使句子和原文等长。这里还是有一个问题,比如有一句话是“何故?”,只有三个字,要翻译的话符合标准普通话的只有“为什么”,但是问号就加不上去了。
重新调整了一下翻译,再次导入,可以成功显示中文,截图如下:
至此,文本导出导入结束。但现在还是很简单的操作,一行代码没有写,一句指令也没有看。
- (PS)賭博黙示録カイジ汉化笔记(三)
- (PS)賭博黙示録カイジ汉化笔记(一)
- (PS)賭博黙示録カイジ汉化笔记(二)
- (PS)賭博黙示録カイジ汉化笔记(四)
- (PS)賭博黙示録カイジ汉化笔记(五)(完)
- (PS)かまいたちの夜•特別篇 汉化笔记 三
- ps构图(三) 学习笔记
- PS技巧(三)
- PS(三)
- (PS)かまいたちの夜•特別篇 汉化笔记 一
- (PS)かまいたちの夜•特別篇 汉化笔记 二
- (PS)かまいたちの夜•特別篇 汉化笔记 四
- (PS)かまいたちの夜•特別篇 汉化笔记 五
- (PS)かまいたちの夜•特別篇 汉化笔记 六
- (PS)かまいたちの夜•特別篇 汉化笔记 七
- (PS)かまいたちの夜•特別篇 汉化笔记 八
- (PS)かまいたちの夜•特別篇 汉化笔记 九
- (PS)かまいたちの夜•特別篇 汉化笔记 十
- How to popup a UIPickerView from the bottom of a UIScrollView in response to UITextField selection
- WinDbg使用积累
- 探讨:互联网领域还有多少创业机会?
- 关于HibernateDaoSupport类
- 公司文化精髓--正義を軸に判断せよ[可惜日语版本自己不会]
- (PS)賭博黙示録カイジ汉化笔记(三)
- HibernateTemplate的常规用法
- try{} catch(…){}
- Java 版的 Berkeley DB 4.1.6 发布
- int main(int argc,char* argv[])详解
- VC最小化程序到托盘
- CString与const char*转换
- vb/vb6.0/vss/um.dat may be corrupt错误
- 2010年11月8日,早会资料(日本的文化节)。CSDN博客系统出现问题了,这篇我就不改了,留着,在写一个。