Update Deku Link routines
This commit is contained in:
@@ -3,100 +3,35 @@
|
|||||||
|
|
||||||
; =============================================================================
|
; =============================================================================
|
||||||
|
|
||||||
|
; Link Sprite hook
|
||||||
org $008A01
|
org $008A01
|
||||||
LDA $BC
|
LDA $BC
|
||||||
|
|
||||||
; =============================================================================
|
; =============================================================================
|
||||||
|
|
||||||
org $07B64F
|
org $358000
|
||||||
Link_HandleDiagonalCollision:
|
incbin gfx/deku_link.bin
|
||||||
|
|
||||||
; start of free space in bank07
|
|
||||||
org $07F89D
|
|
||||||
Link_HandleDiagonalCollision_Long:
|
|
||||||
{
|
|
||||||
PHB : PHK : PLB
|
|
||||||
JSR Link_HandleDiagonalCollision
|
|
||||||
PLB
|
|
||||||
RTL
|
|
||||||
}
|
|
||||||
|
|
||||||
; =============================================================================
|
; =============================================================================
|
||||||
|
|
||||||
org $07B7C7
|
org $07F8D1
|
||||||
Link_HandleCardinalCollision:
|
Link_HandleDekuTransformation:
|
||||||
|
|
||||||
org $07F8A6
|
|
||||||
Link_HandleCardinalCollision_Long:
|
|
||||||
{
|
{
|
||||||
PHB : PHK : PLB
|
LDA $5D : CMP.b #$0A : BEQ .continue
|
||||||
JSR Link_HandleCardinalCollision
|
JSR $82DA
|
||||||
PLB
|
|
||||||
RTL
|
.continue
|
||||||
|
STZ $03F5
|
||||||
|
STZ $03F6
|
||||||
|
|
||||||
|
; Link can move.
|
||||||
|
CLC
|
||||||
|
|
||||||
|
RTS
|
||||||
}
|
}
|
||||||
|
|
||||||
; =============================================================================
|
org $07811A
|
||||||
|
JSR Link_HandleDekuTransformation
|
||||||
org $07E8F0
|
|
||||||
HandleIndoorCameraAndDoors:
|
|
||||||
|
|
||||||
org $07F8AE
|
|
||||||
HandleIndoorCameraAndDoors_Long:
|
|
||||||
{
|
|
||||||
PHB : PHK : PLB
|
|
||||||
JSR HandleIndoorCameraAndDoors
|
|
||||||
PLB
|
|
||||||
RTL
|
|
||||||
}
|
|
||||||
|
|
||||||
; =============================================================================
|
|
||||||
|
|
||||||
org $07F514
|
|
||||||
CheckIndoorStatus:
|
|
||||||
|
|
||||||
org $07F8B7
|
|
||||||
CheckIndoorStatus_Long:
|
|
||||||
{
|
|
||||||
PHB : PHK : PLB
|
|
||||||
JSR CheckIndoorStatus
|
|
||||||
PLB
|
|
||||||
RTL
|
|
||||||
}
|
|
||||||
|
|
||||||
; =============================================================================
|
|
||||||
|
|
||||||
org $079873
|
|
||||||
Player_ResetSwimCollision:
|
|
||||||
|
|
||||||
org $07F8C0
|
|
||||||
Player_ResetSwimCollision_Long:
|
|
||||||
{
|
|
||||||
PHB : PHK : PLB
|
|
||||||
JSR Player_ResetSwimCollision
|
|
||||||
PLB
|
|
||||||
RTL
|
|
||||||
}
|
|
||||||
|
|
||||||
; =============================================================================
|
|
||||||
|
|
||||||
org $079B0E
|
|
||||||
Link_HandleYItems:
|
|
||||||
|
|
||||||
org $07F8C9
|
|
||||||
Link_HandleYItems_Long:
|
|
||||||
{
|
|
||||||
PHB : PHK : PLB
|
|
||||||
JSR Link_HandleYItems
|
|
||||||
PLB
|
|
||||||
RTL
|
|
||||||
}
|
|
||||||
print pc
|
|
||||||
|
|
||||||
org $07F1A3
|
|
||||||
Player_ResetState_A:
|
|
||||||
|
|
||||||
org $07F1FA
|
|
||||||
Player_ResetState_C:
|
|
||||||
|
|
||||||
; =============================================================================
|
; =============================================================================
|
||||||
|
|
||||||
@@ -119,7 +54,7 @@ LinkItem_DekuMask:
|
|||||||
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
|
LDA #$00 : STA $03FC
|
||||||
BRA .return
|
BRA .return
|
||||||
|
|
||||||
.unequip
|
.unequip
|
||||||
@@ -140,8 +75,10 @@ LinkItem_UsingQuake:
|
|||||||
{
|
{
|
||||||
JSR $82DA
|
JSR $82DA
|
||||||
JSL LinkItem_UsingDekuMask
|
JSL LinkItem_UsingDekuMask
|
||||||
|
|
||||||
RTS
|
RTS
|
||||||
NOP #152
|
NOP #149
|
||||||
|
|
||||||
print pc
|
print pc
|
||||||
}
|
}
|
||||||
; end of UsingQuake is at 07A773
|
; end of UsingQuake is at 07A773
|
||||||
@@ -151,19 +88,18 @@ LinkItem_UsingQuake:
|
|||||||
org $318000
|
org $318000
|
||||||
LinkItem_UsingDekuMask:
|
LinkItem_UsingDekuMask:
|
||||||
{
|
{
|
||||||
; SEP #$20
|
JSL CheckIndoorStatus_Long
|
||||||
; JSL CheckIndoorStatus_Long
|
|
||||||
|
|
||||||
; LDA.b $F5
|
LDA.b $F5
|
||||||
; AND.b #$80
|
AND.b #$80
|
||||||
; BEQ .dont_toggle_oob
|
BEQ .dont_toggle_oob
|
||||||
|
|
||||||
; LDA.w $037F
|
LDA.w $037F
|
||||||
; EOR.b #$01
|
EOR.b #$01
|
||||||
; STA.w $037F
|
STA.w $037F
|
||||||
|
|
||||||
; .dont_toggle_oob
|
.dont_toggle_oob
|
||||||
; STZ.w $02CA
|
STZ.w $02CA
|
||||||
|
|
||||||
LDA $0345 : BNE .recache
|
LDA $0345 : BNE .recache
|
||||||
LDA $4D : BEQ .recoiling
|
LDA $4D : BEQ .recoiling
|
||||||
@@ -216,7 +152,7 @@ LinkItem_UsingDekuMask:
|
|||||||
LDA.b #$01 : STA $0335 : STA $0337
|
LDA.b #$01 : STA $0335 : STA $0337
|
||||||
LDA.b #$80 : STA $0334 : STA $0336
|
LDA.b #$80 : STA $0334 : STA $0336
|
||||||
|
|
||||||
BRL $9715
|
; BRL $9715
|
||||||
|
|
||||||
.not_moving
|
.not_moving
|
||||||
|
|
||||||
@@ -269,8 +205,3 @@ LinkItem_UsingDekuMask:
|
|||||||
|
|
||||||
RTL
|
RTL
|
||||||
}
|
}
|
||||||
|
|
||||||
; =============================================================================
|
|
||||||
|
|
||||||
org $358000
|
|
||||||
incbin gfx/deku_link.bin
|
|
||||||
@@ -19,6 +19,9 @@ org $07915E
|
|||||||
org $07E6A6
|
org $07E6A6
|
||||||
Link_HandleMovingAnimation_FullLongEntry:
|
Link_HandleMovingAnimation_FullLongEntry:
|
||||||
|
|
||||||
|
org $07E69D
|
||||||
|
Link_HandleMovingAnimation_SetFacingDown:
|
||||||
|
|
||||||
org $01FF28
|
org $01FF28
|
||||||
Player_CacheStatePriorToHandler:
|
Player_CacheStatePriorToHandler:
|
||||||
|
|
||||||
@@ -126,3 +129,88 @@ Palette_ArmorAndGloves:
|
|||||||
PLA : PLY : PLX
|
PLA : PLY : PLX
|
||||||
RTL
|
RTL
|
||||||
}
|
}
|
||||||
|
|
||||||
|
; =============================================================================
|
||||||
|
|
||||||
|
org $07B64F
|
||||||
|
Link_HandleDiagonalCollision:
|
||||||
|
|
||||||
|
; start of free space in bank07
|
||||||
|
org $07F89D
|
||||||
|
Link_HandleDiagonalCollision_Long:
|
||||||
|
{
|
||||||
|
PHB : PHK : PLB
|
||||||
|
JSR Link_HandleDiagonalCollision
|
||||||
|
PLB
|
||||||
|
RTL
|
||||||
|
}
|
||||||
|
|
||||||
|
; =============================================================================
|
||||||
|
|
||||||
|
org $07B7C7
|
||||||
|
Link_HandleCardinalCollision:
|
||||||
|
|
||||||
|
org $07F8A6
|
||||||
|
Link_HandleCardinalCollision_Long:
|
||||||
|
{
|
||||||
|
PHB : PHK : PLB
|
||||||
|
JSR Link_HandleCardinalCollision
|
||||||
|
PLB
|
||||||
|
RTL
|
||||||
|
}
|
||||||
|
|
||||||
|
; =============================================================================
|
||||||
|
|
||||||
|
org $07E8F0
|
||||||
|
HandleIndoorCameraAndDoors:
|
||||||
|
|
||||||
|
org $07F8AE
|
||||||
|
HandleIndoorCameraAndDoors_Long:
|
||||||
|
{
|
||||||
|
PHB : PHK : PLB
|
||||||
|
JSR HandleIndoorCameraAndDoors
|
||||||
|
PLB
|
||||||
|
RTL
|
||||||
|
}
|
||||||
|
|
||||||
|
; =============================================================================
|
||||||
|
|
||||||
|
org $07F514
|
||||||
|
CheckIndoorStatus:
|
||||||
|
|
||||||
|
org $07F8B7
|
||||||
|
CheckIndoorStatus_Long:
|
||||||
|
{
|
||||||
|
PHB : PHK : PLB
|
||||||
|
JSR CheckIndoorStatus
|
||||||
|
PLB
|
||||||
|
RTL
|
||||||
|
}
|
||||||
|
|
||||||
|
; =============================================================================
|
||||||
|
|
||||||
|
org $079873
|
||||||
|
Player_ResetSwimCollision:
|
||||||
|
|
||||||
|
org $07F8C0
|
||||||
|
Player_ResetSwimCollision_Long:
|
||||||
|
{
|
||||||
|
PHB : PHK : PLB
|
||||||
|
JSR Player_ResetSwimCollision
|
||||||
|
PLB
|
||||||
|
RTL
|
||||||
|
}
|
||||||
|
|
||||||
|
; =============================================================================
|
||||||
|
|
||||||
|
org $079B0E
|
||||||
|
Link_HandleYItems:
|
||||||
|
|
||||||
|
org $07F8C9
|
||||||
|
Link_HandleYItems_Long:
|
||||||
|
{
|
||||||
|
PHB : PHK : PLB
|
||||||
|
JSR Link_HandleYItems
|
||||||
|
PLB
|
||||||
|
RTL
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user