fix deku mask poof/bubble crash

This commit is contained in:
scawful
2024-07-07 19:02:21 -04:00
parent 5dfbd97a24
commit fa75373c3b
2 changed files with 18 additions and 23 deletions

View File

@@ -29,30 +29,26 @@ print "End of Masks/deku_mask.asm ", pc
; =========================================================
; Indicates somaria platform status.
; 0x00 - Not on platform
; 0x01 - On platform
; 0x02 - On platform and moving
SOMPLAT = $7E02F5
org $07A64B ; formerly Quake
org $07A64B ; formerly Quake
LinkItem_DekuMask:
{
; Don't use magic unless deku form
LDA.w $02B2 : CMP.b #$01 : BNE .continue
JSR Link_CheckNewY_ButtonPress : BCC .continue
LDA $3A : AND.b #$BF : STA $3A
LDX.b #$02
JSR LinkItem_EvaluateMagicCost : BCC .return
JSL DekuLink_ShootBubbleOrStartHover
RTS
; Don't shoot while transform is active
LDA.w $0C4E : BNE .continue
JSR Link_CheckNewY_ButtonPress : BCC .continue
LDA $3A : AND.b #$BF : STA $3A
LDX.b #$02
JSR LinkItem_EvaluateMagicCost : BCC .return
JSL DekuLink_ShootBubbleOrStartHover
RTS
.continue
LDA.b #$01
JSL Link_TransformMask : BCC .return
LDA.b #$01 : STA.w SOMPLAT
RTS
; Don't transform while shooting
LDA.w $0C52 : CMP.b #$0E : BEQ .return
LDA.b #$01
JSL Link_TransformMask
.return
STZ.w SOMPLAT
RTS
}

View File

@@ -843,7 +843,7 @@ AncillaAdd_MagicBubbleShot:
.no_refund_magic
BRL .exit_a
.free_slot
INY ; Increment ancilla slot, due to 0x1E
INY #4 ; Increment ancilla slot, due to 0x1E
PHB
PHK
PLB
@@ -1166,8 +1166,7 @@ MagicBubbleShot_Halted:
+
LDY.b #$00
LDA.w AnciTimerA, X
BEQ MagicBubbleShot_Dissipate
LDA.w AnciTimerA, X : BEQ MagicBubbleShot_Dissipate
LSR A
LSR A
@@ -1204,8 +1203,7 @@ MagicBubbleShot_Halted:
LDA.b $00 : STA.b ($90), Y
CLC
ADC.b #$08
CLC : ADC.b #$08
LDY.b #$04 : STA.b ($90), Y
LDA.b $01 : CLC : ADC.b #$FD
@@ -1213,6 +1211,7 @@ MagicBubbleShot_Halted:
LDY.b #$05 : STA.b ($90), Y
; Character
LDA.b #$A4 : LDY.b #$02 : STA.b ($90), Y
INC A