[Yoshi] use game builtin functions instead
This commit is contained in:
parent
657b4ee6c4
commit
aa866d640f
2 changed files with 32 additions and 42 deletions
|
@ -1,16 +1,11 @@
|
|||
$ Spwan Yoshi (2022/08/29) [sup39]
|
||||
28400D50 000F0800
|
||||
C0000000 0000000C
|
||||
818D98B8 7D8C6379
|
||||
4D820020 806C03F0
|
||||
7C631B79 4D820020
|
||||
3CA08040 A0A50D50
|
||||
54A50EFD 4D820020
|
||||
812C03E4 7D294B79
|
||||
4182000C 38000000
|
||||
98091C84 3C006300
|
||||
5C002FBE 980300D0
|
||||
38000008 98030000
|
||||
80030008 9003000C
|
||||
C21604C4 00000009
|
||||
807F03F0 3C808040
|
||||
A0840D50 54800436
|
||||
2C000800 40820030
|
||||
54840EFD 41820028
|
||||
3C006300 5C0027BE
|
||||
980300D0 80030008
|
||||
9003000C 3D808016
|
||||
618C0640 7D8803A6
|
||||
4E800020 00000000
|
||||
E0000000 00000000
|
||||
|
|
|
@ -1,39 +1,34 @@
|
|||
.set rMario, 12
|
||||
.set rFLUDD, 9
|
||||
.set rYoshi, 3
|
||||
.set rInput, 5
|
||||
.set rYoshi, 3 # required to be r3
|
||||
.set rInput, 4
|
||||
.set aInput, 0x80400D50
|
||||
.set aRideYoshi, 0x80160640
|
||||
|
||||
## make sure Mario is not NULL
|
||||
lwz rMario, -0x6748(r13)
|
||||
mr. rMario, rMario
|
||||
beqlr-
|
||||
_C2_801604c4:
|
||||
lwz rYoshi, 0x3f0(r31)
|
||||
|
||||
## make sure Yoshi is not NULL
|
||||
lwz rYoshi, 0x3F0(rMario)
|
||||
mr. rYoshi, rYoshi
|
||||
beqlr-
|
||||
|
||||
## make sure any D-Pad key is pressed (not only Y)
|
||||
lis rInput, 0x8040
|
||||
lhz rInput, 0x0D50(rInput)
|
||||
## check input
|
||||
lis rInput, aInput@ha
|
||||
lhz rInput, aInput@l(rInput)
|
||||
### Y
|
||||
rlwinm r0, rInput, 0, 0xFFF0
|
||||
cmpwi r0, 0x0800
|
||||
bne .L.end
|
||||
### D-Pad
|
||||
rlwinm. rInput, rInput, 1, 30-3, 30
|
||||
beqlr-
|
||||
|
||||
## set to spray nozzle
|
||||
lwz rFLUDD, 0x3E4(rMario)
|
||||
mr. rFLUDD, rFLUDD
|
||||
beq- .L1
|
||||
li r0, 0
|
||||
stb r0, 0x1C84(rFLUDD)
|
||||
.L1:
|
||||
beq .L.end
|
||||
|
||||
## color
|
||||
lis r0, 0x6300
|
||||
rlwnm r0, r0, rInput, 0x3
|
||||
stb r0, 0xD0(rYoshi)
|
||||
## ride state
|
||||
li r0, 8
|
||||
stb r0, 0(rYoshi)
|
||||
## juice
|
||||
lwz r0, 8(rYoshi)
|
||||
stw r0, 0xC(rYoshi)
|
||||
|
||||
## goto ride Yoshi
|
||||
lis r12, aRideYoshi@h
|
||||
ori r12, r12, aRideYoshi@l
|
||||
mtlr r12
|
||||
blr
|
||||
|
||||
.L.end:
|
||||
|
|
Loading…
Reference in a new issue