add QFTFreezeEX
This commit is contained in:
parent
b9c3594778
commit
ceeb92c50d
4 changed files with 57 additions and 0 deletions
11
NTSC-J 1.0/QFTFreezeEX.txt
Normal file
11
NTSC-J 1.0/QFTFreezeEX.txt
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
$ QFT Freeze Extra (2022/11/02) [sup39]
|
||||||
|
04122964 496CDA41
|
||||||
|
0411EAE4 496D18B9
|
||||||
|
041335B8 496BCDF5
|
||||||
|
077F039C 0000002C
|
||||||
|
801F0384 4BFFFFA8
|
||||||
|
38000000 4BFFFFA0
|
||||||
|
38000000 57A3043E
|
||||||
|
2803034B 4182FF90
|
||||||
|
28030387 4182FF88
|
||||||
|
4E800020 00000000
|
|
@ -83,3 +83,7 @@ C Stick|State
|
||||||
↙|post-BH7 (pre-Yoshi-unlock)
|
↙|post-BH7 (pre-Yoshi-unlock)
|
||||||
←|post-SB7
|
←|post-SB7
|
||||||
↖|post-NB7 (pre-CM-unlock)
|
↖|post-NB7 (pre-CM-unlock)
|
||||||
|
|
||||||
|
## QFT Freeze Extra
|
||||||
|
- Legde grab
|
||||||
|
- Pick up/Throw/Put object
|
||||||
|
|
6
src/QFTFreezeEX.ld
Normal file
6
src/QFTFreezeEX.ld
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
$$ = 0x817f039c;
|
||||||
|
|
||||||
|
freezeQFT = 0x817f0348;
|
||||||
|
$bl$.onTake = 0x8011eae4;
|
||||||
|
$bl$.onDrop = 0x80122964;
|
||||||
|
$bl$.onChangeStatus = 0x801335b8;
|
36
src/QFTFreezeEX.s
Normal file
36
src/QFTFreezeEX.s
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
.set state.LedgeGrab, 0x3800034B
|
||||||
|
.set state.PickUp, 0x383
|
||||||
|
.set state.Put, 0x80000387
|
||||||
|
.set state.Throw, 0x80000588
|
||||||
|
|
||||||
|
.macro liDX reg val
|
||||||
|
.if -0x8000 <= \val && \val < 0x8000 || 0xffff8000 <= \val
|
||||||
|
li \reg, \val@l
|
||||||
|
.else
|
||||||
|
lis \reg, \val@h
|
||||||
|
.if \val&0xffff != 0
|
||||||
|
ori \reg, \reg, \val@l
|
||||||
|
.endif
|
||||||
|
.endif
|
||||||
|
.endm
|
||||||
|
|
||||||
|
.onTake:
|
||||||
|
lwz r0, 0x384(r31)
|
||||||
|
b freezeQFT
|
||||||
|
.onDrop:
|
||||||
|
li r0, 0
|
||||||
|
b freezeQFT
|
||||||
|
|
||||||
|
.onChangeStatus:
|
||||||
|
## orig
|
||||||
|
li r0, 0
|
||||||
|
## checkstatus
|
||||||
|
## TODO is checking lower 16 bit enough?
|
||||||
|
#liDX r12, state.LedgeGrab
|
||||||
|
#cmplw r29, r12
|
||||||
|
rlwinm r3, r29, 0, 16, 31
|
||||||
|
cmplwi r3, state.LedgeGrab@l
|
||||||
|
beq- freezeQFT
|
||||||
|
cmplwi r3, state.Put@l
|
||||||
|
beq- freezeQFT
|
||||||
|
blr
|
Loading…
Reference in a new issue