add ResetTRailBlockPosition
This commit is contained in:
parent
1ee755b71b
commit
22ceb9893b
3 changed files with 70 additions and 0 deletions
18
NTSC-J 1.0/ResetTRailBlockPosition.txt
Normal file
18
NTSC-J 1.0/ResetTRailBlockPosition.txt
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
$ Reset TRailBlock Position (v0.1, 2022/11/02) [sup39]
|
||||||
|
C21C7E48 00000010
|
||||||
|
3C808040 A0840D50
|
||||||
|
28040022 40A20068
|
||||||
|
7FC3F378 81830000
|
||||||
|
818C0168 7D8803A6
|
||||||
|
4E800021 E0030118
|
||||||
|
F003015C F0030168
|
||||||
|
80030120 90030164
|
||||||
|
90030170 387E0174
|
||||||
|
3D808009 618C42B0
|
||||||
|
7D8803A6 4E800021
|
||||||
|
807E0138 80830004
|
||||||
|
1C840044 38840008
|
||||||
|
80630000 80630004
|
||||||
|
7C63202E 5460D7BC
|
||||||
|
901E0140 800101B4
|
||||||
|
60000000 00000000
|
2
src/ResetTRailBlockPosition.ld
Normal file
2
src/ResetTRailBlockPosition.ld
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
$$ = 0;
|
||||||
|
$C2$.control = 0x801c7e48;
|
50
src/ResetTRailBlockPosition.s
Normal file
50
src/ResetTRailBlockPosition.s
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
.include "./macros.s"
|
||||||
|
|
||||||
|
.set $btn, 0x22 # R+Right
|
||||||
|
.set btn, mPadStatus
|
||||||
|
|
||||||
|
.control:
|
||||||
|
## check button
|
||||||
|
lis r4, btn@ha
|
||||||
|
lhz r4, btn@l(r4)
|
||||||
|
cmplwi r4, $btn
|
||||||
|
bne+ .done
|
||||||
|
## resetPosition
|
||||||
|
mr r3, r30
|
||||||
|
lwz r12, 0(r3) # vt
|
||||||
|
lwz r12, 0x168(r12) # resetPosition
|
||||||
|
mtlr r12
|
||||||
|
blrl
|
||||||
|
## reset mtx
|
||||||
|
#lfs f1, 0x118(r30)
|
||||||
|
#lfs f2, 0x11c(r30)
|
||||||
|
#lfs f3, 0x120(r30)
|
||||||
|
psq_l f0, 0x118(r3), 0, gqr0
|
||||||
|
psq_st f0, 0x15C(r3), 0, gqr0
|
||||||
|
psq_st f0, 0x168(r3), 0, gqr0
|
||||||
|
lwz r0, 0x120(r3)
|
||||||
|
stw r0, 0x164(r3)
|
||||||
|
stw r0, 0x170(r3)
|
||||||
|
addi r3, r30, 0x174
|
||||||
|
li32 r12, PSMTXIdentity
|
||||||
|
mtlr r12
|
||||||
|
blrl
|
||||||
|
## set x140 flag
|
||||||
|
### r3 = graph
|
||||||
|
lwz r3, 0x138(r30)
|
||||||
|
### r4 = (cur index)*0x44 + 8
|
||||||
|
lwz r4, 0x4(r3)
|
||||||
|
mulli r4, r4, 0x44
|
||||||
|
addi r4, r4, 8
|
||||||
|
### r3 = web
|
||||||
|
lwz r3, 0(r3)
|
||||||
|
### r3 = &railnode[0]
|
||||||
|
lwz r3, 4(r3)
|
||||||
|
### r3 = node flag
|
||||||
|
lwzx r3, r3, r4
|
||||||
|
### r0 = r3&128 ? 2 : 0
|
||||||
|
rlwinm r0, r3, 32-6, 0x2
|
||||||
|
stw r0, 0x140(r30)
|
||||||
|
.done:
|
||||||
|
## orig
|
||||||
|
lwz r0, 0x1b4(r1)
|
Loading…
Reference in a new issue