Pokemon Center | 口袋中心 以口袋妖怪为主题并带有其他动漫游戏的讨论

 找回密码
 加入口袋中心
搜索
查看: 12730|回复: 38

绿宝石神兽游走系统升级

[复制链接]

115

回帖

1440

现金

0

勋章券

与恶势力的交锋

Rank: 7Rank: 7Rank: 7

积分
457

时光印记Lv.1

发表于 2021-7-24 22:47:30 | 显示全部楼层 |阅读模式
神兽游走系统在二代时就已经存在于口袋妖怪游戏内了。很遗憾的是,在绿宝石内只能同时支持一只神兽的游走,且神兽的范围仅限红蓝水都。虽然能够通过巧妙的脚本将神兽的范围从红蓝水都拓宽到全体PM,但仍然无法解决只能同时支持一只神兽游走的问题。虽然老外的基于反汇编工程的火红升级版将神兽数量上调为10,可惜一来没有绿宝石版本二来没有基于原ROM写入的版本(这应该是绝大多数国内改版者使用的方法)。最近(其实是一年前,不过这一年因为某些原因处于退坑状态)有位坛友希望我能在绿宝石内实现这个功能,于是我花了一天半的时间完成了这个系统。
PS:由于本人本来水平就不高,再加上已有一年左右的时间未接触改版,该系统的质量可能不高,敬请谅解。
PS2:不确定使用的RAM是否安全,如果不放心可以自行前往bpee.ld中进行更改!
PS3:使用方法和注意事项均在README.md中,请使用者认真阅读!

下载地址:https://github.com/GoldenCaterpie/BPEERoamingUpdate

评分

参与人数 1积分 +15 现金 +30 收起 理由
jiangzhengwenjz + 15 + 30

查看全部评分

业余改版爱好者
回复

使用道具 举报

3370

回帖

513

现金

485

勋章券

超级版主

Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26

积分
22150
QQ

时光印记Lv.3挥金如土勋章水中王者勋章Lv3Omega红宝石发售确认纪念章Alpha蓝宝石发售确认纪念章金银好CP-Ho-oh/LUGIA【里】金银好CP-Ho-oh/LUGIA【真·正常向】异化型LUGIA【M超梦版】

发表于 2021-7-25 04:10:40 | 显示全部楼层
支持,其实LZ可以直接用pokeemerald的header,然后bpee.ld简单写个程序生成下就行
回复 支持 反对

使用道具 举报

100

回帖

699

现金

0

勋章券

手举徽章的兴奋

Rank: 6Rank: 6

积分
372

时光印记Lv.1

发表于 2021-7-25 07:03:53 来自手机 | 显示全部楼层
我认为你写的callasm有错,你callasm 0x1700001,但实际应该写成:callasm 0x9700001才对
回复 支持 反对

使用道具 举报

100

回帖

699

现金

0

勋章券

手举徽章的兴奋

Rank: 6Rank: 6

积分
372

时光印记Lv.1

发表于 2021-7-25 07:18:28 来自手机 | 显示全部楼层
额……我不会用github下载东西……
回复 支持 反对

使用道具 举报

115

回帖

1440

现金

0

勋章券

与恶势力的交锋

Rank: 7Rank: 7Rank: 7

积分
457

时光印记Lv.1

 楼主| 发表于 2021-7-25 09:27:50 | 显示全部楼层
jiangzhengwenjz 发表于 2021-7-25 04:10
支持,其实LZ可以直接用pokeemerald的header,然后bpee.ld简单写个程序生成下就行

感谢聚聚支持
直接用pokeemerald的header是个好主意,不过挺多结构体的定义好像是在.c文件里的
bpee.ld怎么生成呢,难道从pokeemerald.map中提取吗,不少需要用到的函数是静态的,还是得自己去找
业余改版爱好者
回复 支持 反对

使用道具 举报

115

回帖

1440

现金

0

勋章券

与恶势力的交锋

Rank: 7Rank: 7Rank: 7

积分
457

时光印记Lv.1

 楼主| 发表于 2021-7-25 09:30:51 | 显示全部楼层
744865306 发表于 2021-7-25 07:03
我认为你写的callasm有错,你callasm 0x1700001,但实际应该写成:callasm 0x9700001才对

不知道你用的脚本编译器是什么。不过如果是XSE,这么写是合理的。只要你写的指针不是0,编译器会自动把前面这种形式转换成后面这种形式
业余改版爱好者
回复 支持 反对

使用道具 举报

115

回帖

1440

现金

0

勋章券

与恶势力的交锋

Rank: 7Rank: 7Rank: 7

积分
457

时光印记Lv.1

 楼主| 发表于 2021-7-25 09:31:49 | 显示全部楼层
744865306 发表于 2021-7-25 07:18
额……我不会用github下载东西……

code -> download zip
业余改版爱好者
回复 支持 反对

使用道具 举报

100

回帖

699

现金

0

勋章券

手举徽章的兴奋

Rank: 6Rank: 6

积分
372

时光印记Lv.1

发表于 2021-7-25 16:56:25 来自手机 | 显示全部楼层
那个……大佬,有什么函数可以运行战斗脚本
回复 支持 反对

使用道具 举报

115

回帖

1440

现金

0

勋章券

与恶势力的交锋

Rank: 7Rank: 7Rank: 7

积分
457

时光印记Lv.1

 楼主| 发表于 2021-7-25 17:10:24 | 显示全部楼层
744865306 发表于 2021-7-25 16:56
那个……大佬,有什么函数可以运行战斗脚本

记得好像是直接把当前的战斗脚本地址(0x02024214)设置成你要的地址就行了,不过802里面好像专门有个函数进行这个操作?当然战斗脚本用什么返回(end)这是要分场合的。具体挺复杂的,我一时半会也说不清,而且一年没改也基本忘了,总之你照着egg他们的做法做就行了。或者去咨询版主,如果他有时间的话
业余改版爱好者
回复 支持 反对

使用道具 举报

100

回帖

699

现金

0

勋章券

手举徽章的兴奋

Rank: 6Rank: 6

积分
372

时光印记Lv.1

发表于 2021-7-25 18:12:03 来自手机 | 显示全部楼层
本站第一萌新 发表于 2021-7-25 17:10
记得好像是直接把当前的战斗脚本地址(0x02024214)设置成你要的地址就行了,不过802里面好像专门有个函数 ...

这样啊,谢谢大佬,我先去问问jzw大佬吧
回复 支持 反对

使用道具 举报

100

回帖

699

现金

0

勋章券

手举徽章的兴奋

Rank: 6Rank: 6

积分
372

时光印记Lv.1

发表于 2021-7-25 20:38:07 来自手机 | 显示全部楼层
那个……大佬,我写了以下源码,但他并没有起到我想要的效果:
回复 支持 反对

使用道具 举报

100

回帖

699

现金

0

勋章券

手举徽章的兴奋

Rank: 6Rank: 6

积分
372

时光印记Lv.1

发表于 2021-7-25 20:38:29 来自手机 | 显示全部楼层
.gba .thumb .create "test.gba",0x8000000 .close .open "绿宝石.gba","test.gba",0x8000000  .org 0x08F00000 .func new         lsl r0,r0,#4         and r4,r0         cmp r4,#0         bne NoPPReduce         mov r1,#0x58         ldr r0,=0x0202420B         ldrb r0,[r0]         mul r0,r1         ldr r1,=0x020240A4         add r0,r1         ldrb r0,[r0]         cmp r0, #79 ;"饱了又饿"特性编号         beq yes1 end:         ldr r3,=(0x08046B04|1)         bx r3 yes1:         ldr r0,=0x02024084         ldrh r0,[r0]         cmp r0,#1 ;空腹花纹编号         bne changenull         mov r1,#2 ;满腹花纹编号 keep:         strh r1,[r0]         b end changenull:         mov r1,#1 ;空腹花纹编号 NoPPReduce:         ldr r3,=(0x08046BDC|1)         bx r3 .endfunc .pool  .org 0x08046AFC         ldr r3,=(new|1)         bx r3 .pool  .close
回复 支持 反对

使用道具 举报

100

回帖

699

现金

0

勋章券

手举徽章的兴奋

Rank: 6Rank: 6

积分
372

时光印记Lv.1

发表于 2021-7-25 20:38:50 来自手机 | 显示全部楼层
emmm,在回复里发好像不太行
回复 支持 反对

使用道具 举报

100

回帖

699

现金

0

勋章券

手举徽章的兴奋

Rank: 6Rank: 6

积分
372

时光印记Lv.1

发表于 2021-7-25 20:39:11 来自手机 | 显示全部楼层
我到一个新的帖子里发吧
回复 支持 反对

使用道具 举报

100

回帖

699

现金

0

勋章券

手举徽章的兴奋

Rank: 6Rank: 6

积分
372

时光印记Lv.1

发表于 2021-7-25 20:40:05 来自手机 | 显示全部楼层
http://www.pmcenter.cn/forum.php?mod=viewthread&tid=111602&extra=page%3D1&mobile=2
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入口袋中心

本版积分规则

手机版|Archiver|Pokemon Center

GMT+8, 2024-12-4 01:32 , Processed in 0.119460 second(s), 49 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表