1
0
Fork 0

[Yoshi] fix code order

This commit is contained in:
sup39 2022-08-29 00:00:44 +09:00
parent 3b36f15143
commit 657b4ee6c4
2 changed files with 35 additions and 25 deletions

View file

@ -1,13 +1,14 @@
$ Spwan Yoshi (2022/08/29) [sup39]
28400D50 000F0800 28400D50 000F0800
C0000000 0000000C C0000000 0000000C
818D98B8 7D8C6379 818D98B8 7D8C6379
4D820020 806C03F0 4D820020 806C03F0
7C631B79 4D820020 7C631B79 4D820020
3CA08040 A0A50D50
54A50EFD 4D820020
812C03E4 7D294B79 812C03E4 7D294B79
4182000C 38000000 4182000C 38000000
98091C84 3CA08040 98091C84 3C006300
A0A50D50 54A50EFD
4D820020 3C006300
5C002FBE 980300D0 5C002FBE 980300D0
38000008 98030000 38000008 98030000
80030008 9003000C 80030008 9003000C

View file

@ -1,15 +1,25 @@
.set rMario, 12 .set rMario, 12
.set rFLUDD, 9 .set rFLUDD, 9
.set rYoshi, 3 .set rYoshi, 3
.set rInput, 5
## make sure Mario is not NULL
lwz rMario, -0x6748(r13) lwz rMario, -0x6748(r13)
mr. rMario, rMario mr. rMario, rMario
beqlr- beqlr-
## make sure Yoshi is not NULL
lwz rYoshi, 0x3F0(rMario) lwz rYoshi, 0x3F0(rMario)
mr. rYoshi, rYoshi mr. rYoshi, rYoshi
beqlr- beqlr-
## make sure any D-Pad key is pressed (not only Y)
lis rInput, 0x8040
lhz rInput, 0x0D50(rInput)
rlwinm. rInput, rInput, 1, 30-3, 30
beqlr-
## set to spray nozzle
lwz rFLUDD, 0x3E4(rMario) lwz rFLUDD, 0x3E4(rMario)
mr. rFLUDD, rFLUDD mr. rFLUDD, rFLUDD
beq- .L1 beq- .L1
@ -17,14 +27,13 @@ li r0, 0
stb r0, 0x1C84(rFLUDD) stb r0, 0x1C84(rFLUDD)
.L1: .L1:
lis r5, 0x8040 ## color
lhz r5, 0x0D50(r5)
rlwinm. r5, r5, 1, 30-3, 30
beqlr-
lis r0, 0x6300 lis r0, 0x6300
rlwnm r0, r0, r5, 0x3 rlwnm r0, r0, rInput, 0x3
stb r0, 0xD0(rYoshi) stb r0, 0xD0(rYoshi)
## ride state
li r0, 8 li r0, 8
stb r0, 0(rYoshi) stb r0, 0(rYoshi)
## juice
lwz r0, 8(rYoshi) lwz r0, 8(rYoshi)
stw r0, 0xC(rYoshi) stw r0, 0xC(rYoshi)