Allow bombing barrier and getting tablet checks with L2+ bombs

This commit is contained in:
2021-07-10 11:32:09 -07:00
parent a6a8cda041
commit 2c221dfa37
4 changed files with 24 additions and 12 deletions

View File

@@ -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

View File

@@ -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 : +

View File

@@ -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

View File

@@ -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
;================================================================================ ;================================================================================