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 ; Deku Mask
; ============================================================================= ; =============================================================================
; Hooks
; incsrc "../Sprites/sprite_functions_hooks.asm"
org $008A01 org $008A01
LDA $BC 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 PLB
RTL RTL
} }
print pc print pc
org $07F1A3
Player_ResetState_A:
org $07F1FA
Player_ResetState_C:
; ============================================================================= ; =============================================================================
org $07A64B ; formerly Quake org $07A64B ; formerly Quake
@@ -134,11 +118,14 @@ LinkItem_DekuMask:
LDA #$0A : STA $5D ; set control handler to mode "using quake" LDA #$0A : STA $5D ; set control handler to mode "using quake"
LDA #$35 : STA $BC ; put the mask on LDA #$35 : STA $BC ; put the mask on
LDA #$01 : STA $02B2 LDA #$01 : STA $02B2
LDA #$02 : STA $03FC
BRA .return BRA .return
.unequip .unequip
JSL Palette_ArmorAndGloves JSL Palette_ArmorAndGloves
STZ $5D STZ $5D
STZ $03FC
LDA #$10 : STA $BC : STZ $02B2 ; take the mask off LDA #$10 : STA $BC : STZ $02B2 ; take the mask off
.return .return
@@ -151,9 +138,10 @@ LinkItem_DekuMask:
org $07A6D6 org $07A6D6
LinkItem_UsingQuake: LinkItem_UsingQuake:
{ {
JSR $82DA
JSL LinkItem_UsingDekuMask JSL LinkItem_UsingDekuMask
RTS
NOP #152 NOP #152
; 07A6DB
print pc print pc
} }
; end of UsingQuake is at 07A773 ; end of UsingQuake is at 07A773
@@ -163,31 +151,38 @@ LinkItem_UsingQuake:
org $318000 org $318000
LinkItem_UsingDekuMask: LinkItem_UsingDekuMask:
{ {
SEP #$20 ; SEP #$20
JSL CheckIndoorStatus_Long ; 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 $0345 : BNE .recache
LDA $4D : BEQ .recoiling LDA $4D : BEQ .recoiling
LDA $7EF357 : BEQ .recache ; LDA $7EF357 : BEQ .recache
STZ $02E0 STZ $02E0
; *$383C7 LONG BRANCH LOCATION LinkState_Bunny_recache ; *$383C7 LONG BRANCH LOCATION LinkState_Bunny_recache
.recache .recache
STZ $03F7
STZ $03F5
STZ $03F6
LDA $7EF357 : BEQ .no_pearl_a LDA $7EF357 : BEQ .no_pearl_a
STZ $56 STZ $56
STZ $4D STZ $4D
.no_pearl_a .no_pearl_a
STZ $2E STZ $2E ; animation steps
STZ $02E1 STZ $02E1 ;
STZ $50 STZ $50
JSL Player_ResetSwimState JSL Player_ResetSwimState
@@ -209,7 +204,7 @@ LinkItem_UsingDekuMask:
.recoiling .recoiling
LDA $46 : BEQ .wait_maybe_not_recoiling LDA $46 : BEQ .wait_maybe_not_recoiling
BRL $0783A1 ; Permabunny mode. ;BRL $0783A1 ; Permabunny mode.
.wait_maybe_not_recoiling .wait_maybe_not_recoiling
@@ -278,17 +273,4 @@ LinkItem_UsingDekuMask:
; ============================================================================= ; =============================================================================
org $358000 org $358000
incbin gfx/deku_link.bin 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

View File

@@ -4,6 +4,24 @@
org $0DEE24 org $0DEE24
db $80 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 org $09912C
AddTransformationCloud: AddTransformationCloud:
@@ -13,6 +31,21 @@ Link_CheckNewY_ButtonPress:
org $078028 org $078028
Player_DoSfx2: 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 org $278000
@@ -28,6 +61,8 @@ StartupMasks:
RTL RTL
} }
; =============================================================================
CancelMask: CancelMask:
{ {
JSL Palette_ArmorAndGloves 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 : ; Code :
org $398000 org $398000
Palette_ArmorAndGloves: Palette_ArmorAndGloves: