照目前的人手和进度,估计没个十年出不来了
使用3ds_decrypt_v2
使用DotNet3dsToolkit146
根据名称分析可知位于Message文件夹
解包美版rom,将所有文件复制进Citra日版游戏的Mod位置,再挨个移除,确定系统文本位于Table,通过UltraEdit在目录(Table文件夹)中搜索-高级-使用编码-shift-JIS(通过对话文本编码可知),搜索游戏中出现的系统文本,可定位至文件。其中有3种格式的文本,分别为:
同上,可知位于Texture文件夹,编辑stex文件即可修改
这些字符居然被硬编码在可执行文件里了,还好知道它用的是shift-jis编码。通过(Yes=8278 8285 8293)(No=826d 828f)(はい=82CD 82A2)(いいえ=82a2 82a2 82a6)定位,更改为确定取消的映射编码。总共有5处
导出txt
3dsfont\bcfnt2charset CHIARO_14.bcfnt CHIARO_14.txt
txt文档包含信息有:字符列表与字符排列顺序
3dsfont\charset2xllt CHIARO_14.txt CHIARO_14.xllt
3dsfont\charset2xlor CHIARO_14.txt CHIARO_14.xlor
修改xllt中的unicode代码可增删字符,增添字符需要指定系统字体
修改xlor中的unicode代码可在导出图片时变更字符的排序
将3dsfont与FontConverter置于同一文件夹下,将bcfnt拷贝至此文件夹
@set str=%~nx1
@set a=%str:~0,-6%
3dsfont\bcfnt2charset %a%.bcfnt %a%.txt
3dsfont\charset2xlor %a%.txt FontConverter\xlor\%a%.xlor
3dsfont\charset2xllt %a%.txt FontConverter\xllt\%a%.xllt
Pause
新建bat文件,将bcfnt拖至此bat上
需注意3dsfont只能生成utf16编码的文件
geneChinese2Jis.py
统计出现的所有字符并拼接基本文本(假名英文字母符号)生成映射码表与真实码表
根据真实码表生成字体bmp,根据映射码表生成xllt与xlor
结合以上三者生成bcfnt
exportLang.py
translateByGoogle.py
translateByPygtrans.py
textTableGet.py
importLang.py
textTableImport.py
convertZh2Jis.py