Allow bombing barrier and getting tablet checks with L2+ bombs
This commit is contained in:
14
dialog.asm
14
dialog.asm
@@ -366,11 +366,8 @@ DialogEtherTablet:
|
|||||||
PLA : JML Sprite_ShowMessageUnconditional ; Wacky Hylian Text
|
PLA : JML Sprite_ShowMessageUnconditional ; Wacky Hylian Text
|
||||||
+
|
+
|
||||||
BIT $F4 : BVC - ; Show normal text if Y is not pressed
|
BIT $F4 : BVC - ; Show normal text if Y is not pressed
|
||||||
LDA.l AllowHammerTablets : BEQ ++
|
JSL CheckTabletSword : BMI .yesText
|
||||||
LDA $7EF34B : BEQ .yesText : BRA .noText
|
CMP.b #$02 : !BGE .noText
|
||||||
++
|
|
||||||
LDA $7EF359 : CMP.b #$FF : BEQ .yesText : CMP.b #$02 : BCS .noText
|
|
||||||
;++
|
|
||||||
.yesText
|
.yesText
|
||||||
PLA
|
PLA
|
||||||
LDA.b #$0C
|
LDA.b #$0C
|
||||||
@@ -388,11 +385,8 @@ DialogBombosTablet:
|
|||||||
PLA : JML Sprite_ShowMessageUnconditional ; Wacky Hylian Text
|
PLA : JML Sprite_ShowMessageUnconditional ; Wacky Hylian Text
|
||||||
+
|
+
|
||||||
BIT $F4 : BVC - ; Show normal text if Y is not pressed
|
BIT $F4 : BVC - ; Show normal text if Y is not pressed
|
||||||
LDA.l AllowHammerTablets : BEQ ++
|
JSL CheckTabletSword : BMI .yesText
|
||||||
LDA $7EF34B : BEQ .yesText : BRA .noText
|
CMP.b #$02 : !BGE .noText
|
||||||
++
|
|
||||||
LDA $7EF359 : CMP.b #$FF : BEQ .yesText : CMP.b #$02 : !BGE .noText
|
|
||||||
;++
|
|
||||||
.yesText
|
.yesText
|
||||||
PLA
|
PLA
|
||||||
LDA.b #$0D
|
LDA.b #$0D
|
||||||
|
|||||||
@@ -2801,7 +2801,7 @@ BRA + : NOP #5 : +
|
|||||||
org $088DB1 ; Bank08.asm@1207 (PHY : PHX : TYX : ... )
|
org $088DB1 ; Bank08.asm@1207 (PHY : PHX : TYX : ... )
|
||||||
JSL Utility_CheckAncillaOverlapWithSprite
|
JSL Utility_CheckAncillaOverlapWithSprite
|
||||||
BRA + : NOP #7 : +
|
BRA + : NOP #7 : +
|
||||||
--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
org $0882E8 ; Bank08.asm@456 (LDA $0DB0, Y : CMP.b #$03)
|
org $0882E8 ; Bank08.asm@456 (LDA $0DB0, Y : CMP.b #$03)
|
||||||
JSL Utility_CheckHelmasaurKingCollision
|
JSL Utility_CheckHelmasaurKingCollision
|
||||||
NOP
|
NOP
|
||||||
@@ -2818,6 +2818,10 @@ org $068F94 ; sprite_prep.asm@1984 (INC $0BA0, X : JSL Sprite_InitializedSegment
|
|||||||
JSL AllowBombingMoldorm
|
JSL AllowBombingMoldorm
|
||||||
BRA + : NOP : +
|
BRA + : NOP : +
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
org $06892F ; sprite_prep.asm@548 (LDA $0D00, X : SUB #$0C : STA $0D00, X : ...)
|
||||||
|
JSL AllowBombingBarrier
|
||||||
|
RTS : NOP #7
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
org $0DEE05 ; equipment.asm@2065 (LDA $7EF359 : AND.w #$00FF : CMP.w #$00FF : ...)
|
org $0DEE05 ; equipment.asm@2065 (LDA $7EF359 : AND.w #$00FF : CMP.w #$00FF : ...)
|
||||||
JSL DrawSwordInMenu
|
JSL DrawSwordInMenu
|
||||||
BRA + : NOP #16 : +
|
BRA + : NOP #16 : +
|
||||||
|
|||||||
@@ -239,14 +239,24 @@ AllowBombingMoldorm:
|
|||||||
JSL !SPRITE_INITIALIZED_SEGMENTED
|
JSL !SPRITE_INITIALIZED_SEGMENTED
|
||||||
RTL
|
RTL
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
AllowBombingBarrier:
|
||||||
|
; what we wrote over
|
||||||
|
LDA $0D00, X : !SUB.b #$0C : STA $0D00, X
|
||||||
|
LDA $0E20, X : CMP #$40 : BNE .disable_projectiles
|
||||||
|
LDA SpecialBombs : BNE .no_disable_projectiles
|
||||||
|
.disable_projectiles
|
||||||
|
INC $0BA0, X
|
||||||
|
.no_disable_projectiles
|
||||||
|
RTL
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
DrawSwordInMenu:
|
DrawSwordInMenu:
|
||||||
|
LDA SpecialBombs : AND.w #$00FF : BNE .bombSword
|
||||||
LDA $7EF359 : AND.w #$00FF : CMP.w #$00FF : BEQ .noSword
|
LDA $7EF359 : AND.w #$00FF : CMP.w #$00FF : BEQ .noSword
|
||||||
.hasSword
|
.hasSword
|
||||||
STA $02
|
STA $02
|
||||||
LDA.w #$F859 : STA $04
|
LDA.w #$F859 : STA $04
|
||||||
RTL
|
RTL
|
||||||
.noSword
|
.noSword
|
||||||
LDA SpecialBombs : AND.w #$00FF : BNE .bombSword
|
|
||||||
LDA.w #$0000 : STA $02
|
LDA.w #$0000 : STA $02
|
||||||
LDA.w #$F859 : STA $04
|
LDA.w #$F859 : STA $04
|
||||||
RTL
|
RTL
|
||||||
|
|||||||
@@ -134,6 +134,10 @@ CheckTabletSword:
|
|||||||
LDA $7EF34B : BEQ + ; check for hammer
|
LDA $7EF34B : BEQ + ; check for hammer
|
||||||
LDA.b #$02 : RTL
|
LDA.b #$02 : RTL
|
||||||
+
|
+
|
||||||
|
LDA.l SpecialBombs : BEQ +
|
||||||
|
LDA $7EF4A8 : CMP #$01 : !BLT + ; check for master bombs
|
||||||
|
LDA.b #$02 : RTL
|
||||||
|
+
|
||||||
LDA $7EF359 ; get actual sword value
|
LDA $7EF359 ; get actual sword value
|
||||||
RTL
|
RTL
|
||||||
;================================================================================
|
;================================================================================
|
||||||
|
|||||||
Reference in New Issue
Block a user