HEX数据 【GBA】修改人物行走图大小教程

不归之殇

天王
成员
2022-12-03
9
4
1,417
19
【说明】
本教程包含了人物行走图大小的修改方法,以及将原版只有1帧或3帧的行走图改到9帧(即让馆主跑起来的方法)。
(原本在网上也能找到一篇相关教程,但是那篇教程表述比较不清楚,我当时也没看懂,后来自己稍微研究了一下才弄懂。所以我打算自己写一篇比较清楚的教程)
【使用工具】
nse(是一定需要的),hex编辑器,空位查找(我就用工具盒了)
【教程开始】
我这次是将火红版141号的炎帝(16x16)改成一个16x32的人物。但我在这篇教程里将所有指针的意义都有说明,所以看懂了以后改绿宝石或者改其他大小也都能举一反三。
这是炎帝的行走图在nse上面的数据。
MTXX_MH20230307214641371.jpg
首先我们在hex编辑器上跳转到【指针3】
在我这个例子上就是3a24d0了
Screenshot_20230307_212527_com.pokemon.tools.beta.jpg
我们可以看到如下图所示的内容。
Screenshot_20230307_212545_com.pokemon.tools.beta.jpg
可以看到左半边是由一些指针组成,右半边都是【80 00】。
为了弄明白这个结构的意思,我们可以再用一个16x32的人物行走图作为对比。这是我选择的41号人物以及它的【指针3】对应的数据。
MTXX_MH20230307214726361.jpgScreenshot_20230307_212624_com.pokemon.tools.beta.jpg
我们可以发现,从【指针3】开始从上往下的九行,就是这个行走图第0帧至第8帧的图片的真实地址。
由于我们的炎帝一共只有一帧,所以这九行都是相同的一个指针。
而右边的数字就与帧大小有关。16x16是【80 00】可以发现与【帧大小80】对应,而16x32这里是【00 10】就是与【帧大小100】对应了。
通过以上两个结论,我们就可以搜索大小为100x9=900(十六进制)的空位了
Screenshot_20230307_212716_com.pokemon.tools.beta.jpg
找到799600。
那么我们就可以从799600开始,以100为间隔替换九个指针。并且把右边的九个【80 00】都改成【00 10】。
如下图所示。
Screenshot_20230307_212939_com.pokemon.tools.beta.jpg
(也可以用这个方法把馆主的行走图扩到9帧了)

接下来就开始真正更改行走图的大小了。
回到一开始那张nse里的图,可以看到【人物偏移量】那一栏,跳转到这个地址。
在我这个例子里,就是3a4eac。
MTXX_MH20230307221438459.jpg
以下是这些十六进制数据对应的内容。
红色:调色板编号。(当然也可以之后再用nse去改)
黄色:宽度与高度。16x16就是10 00 10 00,16x32就是10 00 20 00。其他也一样的规律。
绿色:nse里面的【指针1】。
蓝色:nse里面的【指针2】。

这时,我们可以比较一些不同大小的行走图的指针1和指针2有什么不同。
MTXX_MH20230307214708657.jpgMTXX_MH20230307214651663.jpg
结合前面放的那两张图,我们可以总结出,所有16x16大小的行走图用的都是相同的指针1和指针2(都是3a36f0与3a3748),所有16x32大小的行走图用的也都是相同的指针1和指针2(都是3a3710与3a379c)。

很显然,我们要做的就是把我们的指针1和指针2也改成16x32行走图所使用的指针1和指针2。
将这些内容改完并保存,我们就基本完成修改了。
Screenshot_20230307_213435_com.pokemon.tools.beta.jpg
于是我们可以看到,在工具盒的行走图功能里面,第141号行走图已经是16x32的样子了。
Screenshot_20230307_213450_com.pokemon.tools.beta.jpg
当然,因为我们把地址给换过,显示的还是一片黑色。我们就可以直接用工具盒把我们想要的9帧行走图换上去了。
我这个教程就随便找一个了。
Screenshot_20230307_214305_com.pokemon.tools.beta.jpg
最后打开游戏,可以看到人物正常显示。
1_测试蓝本-副本(patched)(patched)(patched)_1678196669112.png
教程结束。个人认为讲的还是比较详细的。弄明白这里面的原理,应该其他大小或者其他版本的行走图也能改了。(虽然我自己没用我的方法试过绿宝石的)
【其它】
个人认为,直接使用工具盒改宽度和高度会出问题的原因,大概就是没有改指针1和指针2。(虽然我自己没求证过哈哈)

若有疑问或发现了bug,可以直接在评论区留言,或者去宝可饭堂的qq群艾特我!
 
  • 支持
反馈: 随念无意

不归之殇

天王
成员
2022-12-03
9
4
1,417
19
【没什么废话版 将16x16的行走图改成16x32】
1.用nse查看你要改的那个行走图(图1)的人物偏移量/指针1/指针2/指针3。
和随便一个16x32尺寸的行走图(图2)的指针1/指针2。
2.跳转到图1的指针3。用间距100的九个空位地址替换左边,用0010替换右边的每个8000。
3.跳转到图1的人物偏移量。把10 00 10 00 改成 10 00 20 00。 把指针1和指针2改成图2的指针1和指针2。
4.最后用nse/工具盒替换图片/调色板为你想要的那张行走图即可。
 

不归之殇

天王
成员
2022-12-03
9
4
1,417
19
16x32

绿宝石
指针1:08509514
指针2:085095A0

火红
指针1:083A3710
指针2:083A379C
 

在线成员

现在没有会员在线。

论坛统计

主题
338
消息
1,554
会员
2,309
最新会员
CHEN

关于我们

  • 宝可梦以及其他相关名称是任天堂的商标,版权归宝可梦公司所有。宝可饭堂是一个同人游戏中文社区,不隶属于宝可梦公司。在宝可饭堂上的粉丝游戏亦未获得其授权,请支持正版游戏。
© 2022- pokefans.cn
点此延长宝可饭堂生命