汉化日记(4)—-《热血EX》文本单字节to双字节 by funlove

暗黑兔 发表于 2009-10-10 16:39 | 来源: | 阅读

汉化日记(4) a%cCR=s=
—-《热血EX》文本单字节to双字节 n’>`2 s
_46 y
by funlove (funslove@163.com) qf-0 | w
2004.03.18 )ERmSWq/u
J4EQhuQ
《热血EX》ROM名称1400 – River City Ransom EX (J).gba {oOzXc6o
这是我们千岛组下一个汉化目标,先做个宣传。 ):-\TVz~
j#6@ cO’`
前面还是繁琐的跟踪和读代码,不写了。这里大致描述一下这个游戏的文本格式和显示方式: _9*3Mr)2N
文本集中存在一个区域,每句话用00结尾。每句话的开头都有个指针,所有的指针集中存放在一个区域。显示时,每次读取一个字节计算字库偏移,再读取字库进行显示。 4Qwv:4La
t*KgCk�1
方法很简单,所以改动也很简单。经过分析: u4hC/!
ldrb r0,[r0] <u`m4w
这句是在ROM文件中读取一个字节。改为: J%r$jpd’
ldrh r0,[r0] 4b5’nu
就每次读两个字节了。 J7a_a>Y
至于指针的移动数目,在这个ROM里是自动的,不用改了。 HX}9;O�
3;v%78[&P
lsl r0,r0,18h m6+4}=�Cn
lsr r4,r0,18h NW?.Ge.!P
读取的数据要经过这样左移右移的操作,目的是得到最低字节的数据,其他的赋0。改为: Xlg 0u.
lsl r0,r0,14h 85gdmla@9
lsr r4,r0,14h J A!?vs
这样留下的就是2个低字节的内容了。很简单吧 <e)u8+(
LeEv']
剩下的工作是由于改成了双字节,文本区要扩容,而且文本区每句话的指针也要随之改变。这些已经不存在什么技术上的问题了。 (?y (0%q
’]Z1n�b
这次改动很顺利,不需要添加更多的语句。如果碰到麻烦的ROM,也许就要采用我的汉化日记(3)中的方法,用跳转的方法添加代码了。 xr �yXO(

关键字:
喜欢兔友汉化组的文章,那就通过 RSS Feed 功能订阅阅读吧!

我要评论

*

* 绝不会泄露



返回首页 | 关于我们 | 联系我们 | 广告合作 | 网站地图 | 友情链接 | 版权声明 | 模板设计