|
楼主 |
发表于 2021-7-29 19:27:39
来自手机
|
显示全部楼层
本站第一萌新 发表于 2021-7-29 15:38
写出来没用啊,得存到对应的地方才行
大佬,我这样写,结果精灵转变成了妙蛙草且卡死,能看看是什么原因嘛?
.gba
.thumb
.include "编译工具/ArmipsBSMacros.asm"
.create "test.gba",0x8000000
.close
.open "永暗.gba","test.gba",0x8000000
.org 0x08F2EB24
.func new
ldr r5,=0x0202420B
ldrb r5,[r5]
mov r2,#0x58
mul r5,r2
ldr r2,=0x02024084
add r5,r2
add r5,#0x20
ldrb r5,[r5]
cmp r5,#0xE9 ;"饱了又饿"特性编号
beq yes
end:
lsl r6,r2,#0
mov r2,#0x9B
add sp,#-0x2C
str r3,[sp,#12]
ldr r1,=0x08E0368A
mov pc,r1
yes:
ldrh r5,[r2]
; 经过计算将"空腹花纹"编号存入r2
cmp r5,r2
bne cmp
mov r2,#5 ;满腹花纹编号
keep:
mov r5,r0
mov r0,r2
push {r3}
ldr r1,=0x02024218
strh r0,[r1]
mov r0,#0xFF
add r0,#0x22
lsl r0,r0,#1
ldr r1,=0x02024218
add r1,#2
strh r0,[r1]
ldr r0,=BS_Script
bl 0x08E073E4
pop {r3}
mov r0,r5
b end
cmp:
; 经过计算将"满腹花纹"编号存入r2
cmp r5,r2
bne end
mov r2,#4 ;空腹花纹编号
b keep
.endfunc
.pool
BS_Script:
printstring 0x130
callasm_cmd 119
playanimation 0xA 0x21 0x0
waitstate
callasm_cmd 122
waitmessage 0x40
callasm_cmd 115
end3
.org 0x08E03682
ldr r2,=new
mov pc,r2
.pool
.close |
|