Show B indicator in menu when can switch item to B button

This commit is contained in:
2023-09-03 18:22:25 -05:00
parent 754928b231
commit ae8020642b
4 changed files with 51 additions and 10 deletions

Binary file not shown.

Binary file not shown.

View File

@@ -32,14 +32,8 @@ RTL
JSL.l ResetEquipment
RTL
.b_pressed
PHX
LDA.l AllowedItemOnB : BEQ .b_error
CMP.b #$FF : BEQ .skip_allow_check
CMP.w ItemCursor : BNE .b_error
.skip_allow_check
LDA.w ItemCursor : TAX
LDA.l ValidItemOnB, X : BNE .b_error
TXA : CMP.l ItemOnB : BNE .set_b
JSR CanPressB : BCC .b_error
LDA.w ItemCursor : CMP.l ItemOnB : BNE .set_b
LDA.b #$00
.set_b
STA.l ItemOnB
@@ -47,7 +41,6 @@ RTL
.b_error
LDA.b #$3C : STA.w SFX2 ; error sound
.b_done
PLX
SEC
RTL
.y_pressed ; Note: used as entry point by quickswap code. Must preserve X.
@@ -115,6 +108,27 @@ RTL
SEC
RTL
;--------------------------------------------------------------------------------
CanPressB:
PHY : PHP : SEP #$30
LDA.l AllowedItemOnB : BEQ .no
CMP.b #$FF : BEQ .skip_allow_check
CMP.w ItemCursor : BNE .no
.skip_allow_check
PHX
LDA.w ItemCursor : TAX
LDA.l ValidItemOnB, X : BNE .plx_and_no
PLX
PLP : PLY
SEC
RTS
.plx_and_no
PLX
.no
PLP : PLY
CLC
RTS
;--------------------------------------------------------------------------------
;--------------------------------------------------------------------------------
;ProcessBottleMenu:
@@ -415,6 +429,7 @@ AddYMarker:
+ CMP.w #$10 : BEQ .drawJarMarker
.drawNormal
JSR CanPressB : BCS .drawBBubble
LDA.w #$7C60
BRA .drawTile
@@ -422,12 +437,20 @@ AddYMarker:
LDA.w MenuBlink : AND.w #$0020 : BNE .drawXBubble
.drawYBubble
JSR CanPressB : BCC .drawY
LDA.w MenuBlink : AND.w #$0020 : BNE .drawBBubble
.drawY
LDA.w #$3D4F
BRA .drawTile
.drawXBubble
JSR MakeCircleBlue
LDA.w #$2D3E
BRA .drawTile
.drawBBubble
JSR MakeCircleRed
LDA.w #$293F
.drawTile
STA.w $FFC4, Y
@@ -456,6 +479,24 @@ MakeCircleBlue:
LDA.w $0084, Y : AND.w #$EFFF : STA.w $0084, Y
LDA.w $007E, Y : AND.w #$EFFF : STA.w $007E, Y
RTS
MakeCircleRed:
LDA.w $FFC0, Y : AND.w #$EBFF : STA.w $FFC0, Y
LDA.w $FFC2, Y : AND.w #$EBFF : STA.w $FFC2, Y
LDA.w $FFFE, Y : AND.w #$EBFF : STA.w $FFFE, Y
LDA.w $0004, Y : AND.w #$EBFF : STA.w $0004, Y
LDA.w $003E, Y : AND.w #$EBFF : STA.w $003E, Y
LDA.w $0044, Y : AND.w #$EBFF : STA.w $0044, Y
LDA.w $0080, Y : AND.w #$EBFF : STA.w $0080, Y
LDA.w $0082, Y : AND.w #$EBFF : STA.w $0082, Y
LDA.w $FFBE, Y : AND.w #$EBFF : STA.w $FFBE, Y
LDA.w $FFC4, Y : AND.w #$EBFF : STA.w $FFC4, Y
LDA.w $0084, Y : AND.w #$EBFF : STA.w $0084, Y
LDA.w $007E, Y : AND.w #$EBFF : STA.w $007E, Y
RTS
;--------------------------------------------------------------------------------
;--------------------------------------------------------------------------------

View File

@@ -25,7 +25,7 @@ DrawBIndicator:
LDA.l ItemOnB : AND.w #$00FF : BEQ .done
DEC : ASL : TAX
LDA.l ItemMenuLocations, X : TAX
LDA.w #$3D3F
LDA.w #$3D3B
STA.w $0042, X
.done ; what we wrote over