如何把NDS中游戏的日文汉化成中文
发布网友
发布时间:2022-10-15 03:15
我来回答
共2个回答
热心网友
时间:2023-10-02 19:08
编写字库汉化程序~VB篇/VC篇
1、首先要打开ROM:
Dim sRomName as String 定义一个字符串来存放ROM路径
sRomName = "你存放ROM的绝对路径,比如:E:\0001.gba"
Open sRomName For Binary as #1 在1号工作区以2进制方式打开ROM
2、把字模数据读到数组以便处理
Dim bTileArray(7) as Byte 定义一个8Byte的数组用于存放字模数据
Get #1,字模开始地址,bTileArray 从1号工作区的字模开始地址处,获取字模数据
3、虚拟一部分调色板
Dim bPalID as Byte 定义一个Byte变量存放颜色编号
Dim iPalCol(1) as Integer 虚拟一部分调色板
iPalCol(0) = 0x00 将虚拟调色板的0号颜色设为黑
iPalCol(1) = 0xFFFFFF 将1号颜色设为白
4、按顺序把每个2进制位的值提取出来
Dim bTile as Byte 临时存放1byte字模数据
Dim iX,iY as Integer 定义两个整数变量记录当前在字模里的坐标
For iY = 0 To 7 设定循环,这里表示字模纵向有8行
bTile = bTileArray(iY) 临时存放1Byte数据,方便处理
For iX = 0 To 7 设定循环,这里表示字模横向有8列
bPalID = bTile\256 获取最高点的2进制位的值,作为编号
5、虚拟硬件的索引过程
Pictrue1.Pset(iX,iY),RGB(iPalCol(bPalID))
上面这句是:用编号索引到虚拟调色板iPalCol的bPalID号颜色,再把这个颜色画到图象框控件Picture1的(iX,iY)点上。
6、将临时数据左移1位,这样第2高的2进制位就变最高位
bTile = (bTile and 0x7F) * 2
7、继续处理下面的数据
Next iX
Next iY
8、关闭工作区和ROM
Close #1
总之比较复杂,一个人很辛苦,需要团队合作,工具有很多
参考资料:tgb汉化工作室
热心网友
时间:2023-10-02 19:09
将文本导出,汉化成中文文本,然后再导入……破解导出工具不知……