Fix Deku Link movement bug, expand Deku Mode

This commit is contained in:
scawful
2023-04-18 20:47:14 -05:00
parent c9e9b23b73
commit c3d8ccaca4
2 changed files with 66 additions and 65 deletions

View File

@@ -1,31 +1,10 @@
; =============================================================================
; Deku Mask
; =============================================================================
; Hooks
; incsrc "../Sprites/sprite_functions_hooks.asm"
; =============================================================================
org $008A01
LDA $BC
org $07983A
Player_ResetSwimState:
org $0ED6C0
LoadActualGearPalettes:
org $07E245
Link_HandleVelocity:
org $07915E
LinkState_ExitingDash:
org $07E6A6
Link_HandleMovingAnimation_FullLongEntry:
org $01FF28
Player_CacheStatePriorToHandler:
; =============================================================================
@@ -111,9 +90,14 @@ Link_HandleYItems_Long:
PLB
RTL
}
print pc
org $07F1A3
Player_ResetState_A:
org $07F1FA
Player_ResetState_C:
; =============================================================================
org $07A64B ; formerly Quake
@@ -134,11 +118,14 @@ LinkItem_DekuMask:
LDA #$0A : STA $5D ; set control handler to mode "using quake"
LDA #$35 : STA $BC ; put the mask on
LDA #$01 : STA $02B2
LDA #$02 : STA $03FC
BRA .return
.unequip
JSL Palette_ArmorAndGloves
STZ $5D
STZ $03FC
LDA #$10 : STA $BC : STZ $02B2 ; take the mask off
.return
@@ -151,9 +138,10 @@ LinkItem_DekuMask:
org $07A6D6
LinkItem_UsingQuake:
{
JSR $82DA
JSL LinkItem_UsingDekuMask
RTS
NOP #152
; 07A6DB
print pc
}
; end of UsingQuake is at 07A773
@@ -163,31 +151,38 @@ LinkItem_UsingQuake:
org $318000
LinkItem_UsingDekuMask:
{
SEP #$20
JSL CheckIndoorStatus_Long
; SEP #$20
; JSL CheckIndoorStatus_Long
; LDA.b $F5
; AND.b #$80
; BEQ .dont_toggle_oob
; LDA.w $037F
; EOR.b #$01
; STA.w $037F
; .dont_toggle_oob
; STZ.w $02CA
LDA $0345 : BNE .recache
LDA $4D : BEQ .recoiling
LDA $7EF357 : BEQ .recache
; LDA $7EF357 : BEQ .recache
STZ $02E0
; *$383C7 LONG BRANCH LOCATION LinkState_Bunny_recache
.recache
STZ $03F7
STZ $03F5
STZ $03F6
LDA $7EF357 : BEQ .no_pearl_a
STZ $56
STZ $56
STZ $4D
.no_pearl_a
STZ $2E
STZ $02E1
STZ $2E ; animation steps
STZ $02E1 ;
STZ $50
JSL Player_ResetSwimState
@@ -209,7 +204,7 @@ LinkItem_UsingDekuMask:
.recoiling
LDA $46 : BEQ .wait_maybe_not_recoiling
BRL $0783A1 ; Permabunny mode.
;BRL $0783A1 ; Permabunny mode.
.wait_maybe_not_recoiling
@@ -278,17 +273,4 @@ LinkItem_UsingDekuMask:
; =============================================================================
org $358000
incbin gfx/deku_link.bin
; org $07A666
; Deku_Entry:
; {
; LDA.b #$20 : STA $BC
; STA $7EC178
; JSL Palette_ArmorAndGloves
; STZ $0710
; RTS
; }
; org $06F40C
; JSL change_sprite : NOP #$01 ; LDA $0E20, X : CMP.b #$61
incbin gfx/deku_link.bin

View File

@@ -4,6 +4,24 @@
org $0DEE24
db $80
org $07983A
Player_ResetSwimState:
org $0ED6C0
LoadActualGearPalettes:
org $07E245
Link_HandleVelocity:
org $07915E
LinkState_ExitingDash:
org $07E6A6
Link_HandleMovingAnimation_FullLongEntry:
org $01FF28
Player_CacheStatePriorToHandler:
org $09912C
AddTransformationCloud:
@@ -13,6 +31,21 @@ Link_CheckNewY_ButtonPress:
org $078028
Player_DoSfx2:
; =============================================================================
org $008827
JSL StartupMasks
org $1BEDF9
JSL Palette_ArmorAndGloves ; 4bytes
RTL ; 1byte
NOP #$01
org $1BEE1B
JSL Palette_ArmorAndGloves_part_two
RTL
; =============================================================================
org $278000
@@ -28,6 +61,8 @@ StartupMasks:
RTL
}
; =============================================================================
CancelMask:
{
JSL Palette_ArmorAndGloves
@@ -37,22 +72,6 @@ CancelMask:
; =============================================================================
org $008827
JSL StartupMasks
; =============================================================================
org $1BEDF9
JSL Palette_ArmorAndGloves ; 4bytes
RTL ; 1byte
NOP #$01
org $1BEE1B
JSL Palette_ArmorAndGloves_part_two
RTL
; =============================================================================
; Code :
org $398000
Palette_ArmorAndGloves: