GB/GBC汉化经验分享之十三--《圣剑传说》的码表制作 图章 图章 心得研究

六级用户 RangerMarsh 22小时前 270

十三、《圣剑传说》的码表制作


有了大概的思路就要看能不能实现,我们先看看游戏的文本情况。

关于码表的制作我们之前已经讲过了,这里也可以采用类似的方法。简单描述如下,在CT2中找到日文字库,在00022700这里。

13-01.png

给字符按顺序编号,因为字库的字符数量明显少于256,所以应该是单字节编码,从-00-FF。结合游戏的第一句话,使用相对搜索,找出第一句文本在000346F1,确定字符的正确编码,完成码表的制作。

这里再介绍另外一种确定字符编码的方式,利用前面第十节提到的观察点追踪功能。这种方法可以找出原始字库被压缩了的游戏的码表,并且可以让我们先熟悉一下游戏中文本输出的流程,方便后面的修改。

我们在第一个对话框出现之前保存一个即时存档,方便后面快捷地调用。我们看到显示“「”,是要在MAP地址9841,写Tile编号68

13-02.png

把它添加到watchpoints中,重新加载即时存档

13-03.png

游戏停在0:1D72这里

13-04.png

这一步程序是

ld  (hl),b

b中的68写到hl对应的9841这个地址上

我们往回追踪,看这个68是怎么来的,这里就不赘述了,自己慢慢看吧,顺便也熟悉一下这些程序。我就挑关键的来说

13-05.png

到这里,a中的值本来是E8,经过一步

xor  a,80

变成了68xor是异或指令,在这里相当于做了一步减法

E8-80=68

不理解也没关系,后面我们就是要追踪E8是怎么来的

13-06.png

继续往回追踪,到这里我们第一次看到E8出现,对应的程序是

ldi  a,(hl)

这句命令表示,从hl对应的地址上读出值放到a,同时给hl这个地址增加1(注意ldldi的区别)。记下这句命令的位置0:378A,这个是用来读取文本的程序,后面应该还会用得到。

所以E8是从46F1这个地址读出来的(当前hl地址是46F2,因为是加了1之后的,所以E8对应的地址是46F1)。按我们第十一节提到的,地址46F1要看具体的Bank,此时寄存器右下角rom=D,所以是从Bank D46F1这个地址读出的E8。地址D:46F1对应的确实是我们用相对搜索找到的地址000346F1。这种方法找出来的地址和编码都是确定的,不像相对搜索,会有多个结果,而且还要重新去对应编码。

所以“「”对应的代码就是E8,这样我们也一样可以确定码表中各个字符的编码,从H对应的70到最后空白对应的FF

那么70之前呢?因为这个表里还没有浊音对应的编码。我们再看刚才的第一句文本中,字符“ど”对应的编码应该是4E,所以这些浊音的编码应该是在70之前。这样我们可以试出从40的“が”到6F的“ポ”。

那么40之前呢?通过尝试可以发现从203F的编码中,每一个编码不是对应1个字符,而是连续好几个字符,代表了一些人名或者常用的词组,比如下一句的23就对应“シャドウナイト”。

20之前的是一些控制符,具体功能要和文本一起分析。

我们在CT2中启用码表大概看一下文本的情况。游戏的文本主要集中在00034000-0003BFFF这一部分,也就是Bank DE,应该对应的是游戏中的对话。另外在Bank 1中有203F对应的短语,Bank 2中有一些和菜单、道具、装备相关的文本。

我们先来看看Bank DE中对话的文本有什么特点。这些文本不是连续的,每两段文本之间还有很多代码。,结合游戏内的文本以及简单的尝试,我们可以比较容易得找出一些控制码。

12是等待输入指令

13是选择是否

14是男主角名字

15是女主角名字

1A是换行

1B是清空对话框

同时我们还看到,在文本的开头基本都会有一个04,然后有时候会再接10。文本的结尾一般会是12这个按键确认的指令,然后会有1100这些控制符。对于这几个控制符,简单的修改好像看不出他们到底有什么功能。我们可以在程序读取到这几个字节时设置断点,看看会发生什么。

13-07.png

读取到04看不出什么变化,但读取到10时,程序会连续读8次,并且每读一次会在屏幕上显示出对话框的一部分,所以10对应的就是开启并绘制对话框,相应的11是关闭和清除对话框。0400虽然看不出什么变化,但根据它们与文本的位置关系判断,应该分别是文本开始和结束的标记。

这样我们就基本上把和文本相关的控制符也搞清楚了,就可以尝试把0400之间的文本导出来去进行翻译工作了。


上一篇:求教一个Switch 日版面联的问题。
下一篇:没了
最新回复 (2)
  • 五级用户 shn 22小时前
    0 2
    顶起。感谢分享
  • 六级用户 colorcat 21小时前
    0 3
    热血汉化佬~😆
    • 老男人游戏网配套论坛
      4
        立即登录 立即注册
发新帖
本论坛禁止发布SWITCH和PS4相关资源,若有其他侵权内容,请致邮3360342659#qq.com(#替换成@)删除。