五、文本编辑
得到游戏的码表之后,就可以做很多工作。
首先我们看一下,如何查看游戏的文本。还是在CrystalTile2中的“十六进制编辑器”模式下。点击上方菜单栏码表,选择码表,找到我们刚才保存的码表,然后勾选启用码表。

这时我们就可以看到刚才F4480这一块,右边已经显示出了可以识别的文本,确实对应着游戏中开场第一段对话框中的文本。如果不能正常显示的话,可以试试切换其他的编码方式。

同时也可以看到其他位置也有游戏中的文本。当然也会有大量的乱码。这时就要凭借我们对游戏的了解,找出真实文本的位置。可以看到这个游戏的文本大概是按照关卡,分布在不同的位置。记录下这些文本的起始地址和简单的信息方便后面定位。
我们再结合游戏中实际的显示来仔细看看这些文本有些什么特点。首先我们看到两句话之间有个编码00FE没有对应的文字,反映到游戏中,这里是两句之间的换行,因此00FE就是控制换行的控制代码,类似于Word中的回车。

游戏中在显示完下面这句话之后,会跳到另一个对话框中,并且后面的文本并没有在这里出现。

对应到编码中,这一句的结尾有一个00FF没有对应的文字。

因此这里的00FF大概就是表示这段文本结束的控制代码。
观察游戏中这一页显示的文字,一行最多可以显示9个字符。

所以我们现在对这种对话框中的文本的规则有了大概的了解,每页可以显示两行,每行最多9个字符,换行有控制代码00FE,文本结束用控制代码00FF。
之前我们在测试码表时,采用的是直接修改编码的方法。还有一个方法是直接编辑文本。比如这里我们要把“银河”两个字改为“生活”。我们直接点击右边的“银”字,在这里输入“生活”,就会发现这两个字被改为了“生活”,同时,左边的编码也修改为“生活”两个字对应的编码6003 6103。保存后,游戏中的字也会跟着被修改。

看到这里,你应该明白,如果我们有一个新的中文字库,以及对应的码表,那么我们就可以按照当前文本的规则,把原先的日文文本更换为我们想要的中文文本了。
现在就有两种方法:
一种是我们直接把原先字库中的字体换成我们需要的字,这样只需要修改原先这些编码对应的文字,这些编码还可以继续使用,这样理论上没有引入新的编码,字库位置也没有变,不需要修改读写文本的程序就可以实现。
另一种方法是我们在游戏中新建一个字库,并重新给它们编码,这时就需要修改读写文本的程序,让程序能识别我们新添加的编码,同时能够读出我们新增加的字库中的字符。
如果你不了解GB的Z80编码,也不想去学,那你可以试着用第一种方法来修改这一段文本。但要注意每一段话开头的位置一定不要改动,就是说你翻译完的每一段文本的长度一定不能超过原来文本的长度。并且结尾一定要有表示文本结束的控制代码00FF。
上一篇:
Retroarch模拟ps2么?原来有现在怎么都没了?下一篇:
xbox360软破,非永久性