Show B indicator in menu when can switch item to B button
This commit is contained in:
Binary file not shown.
Binary file not shown.
@@ -32,14 +32,8 @@ RTL
|
|||||||
JSL.l ResetEquipment
|
JSL.l ResetEquipment
|
||||||
RTL
|
RTL
|
||||||
.b_pressed
|
.b_pressed
|
||||||
PHX
|
JSR CanPressB : BCC .b_error
|
||||||
LDA.l AllowedItemOnB : BEQ .b_error
|
LDA.w ItemCursor : CMP.l ItemOnB : BNE .set_b
|
||||||
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
|
|
||||||
LDA.b #$00
|
LDA.b #$00
|
||||||
.set_b
|
.set_b
|
||||||
STA.l ItemOnB
|
STA.l ItemOnB
|
||||||
@@ -47,7 +41,6 @@ RTL
|
|||||||
.b_error
|
.b_error
|
||||||
LDA.b #$3C : STA.w SFX2 ; error sound
|
LDA.b #$3C : STA.w SFX2 ; error sound
|
||||||
.b_done
|
.b_done
|
||||||
PLX
|
|
||||||
SEC
|
SEC
|
||||||
RTL
|
RTL
|
||||||
.y_pressed ; Note: used as entry point by quickswap code. Must preserve X.
|
.y_pressed ; Note: used as entry point by quickswap code. Must preserve X.
|
||||||
@@ -115,6 +108,27 @@ RTL
|
|||||||
SEC
|
SEC
|
||||||
RTL
|
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:
|
;ProcessBottleMenu:
|
||||||
@@ -415,6 +429,7 @@ AddYMarker:
|
|||||||
+ CMP.w #$10 : BEQ .drawJarMarker
|
+ CMP.w #$10 : BEQ .drawJarMarker
|
||||||
|
|
||||||
.drawNormal
|
.drawNormal
|
||||||
|
JSR CanPressB : BCS .drawBBubble
|
||||||
LDA.w #$7C60
|
LDA.w #$7C60
|
||||||
BRA .drawTile
|
BRA .drawTile
|
||||||
|
|
||||||
@@ -422,12 +437,20 @@ AddYMarker:
|
|||||||
LDA.w MenuBlink : AND.w #$0020 : BNE .drawXBubble
|
LDA.w MenuBlink : AND.w #$0020 : BNE .drawXBubble
|
||||||
|
|
||||||
.drawYBubble
|
.drawYBubble
|
||||||
|
JSR CanPressB : BCC .drawY
|
||||||
|
LDA.w MenuBlink : AND.w #$0020 : BNE .drawBBubble
|
||||||
|
.drawY
|
||||||
LDA.w #$3D4F
|
LDA.w #$3D4F
|
||||||
BRA .drawTile
|
BRA .drawTile
|
||||||
|
|
||||||
.drawXBubble
|
.drawXBubble
|
||||||
JSR MakeCircleBlue
|
JSR MakeCircleBlue
|
||||||
LDA.w #$2D3E
|
LDA.w #$2D3E
|
||||||
|
BRA .drawTile
|
||||||
|
|
||||||
|
.drawBBubble
|
||||||
|
JSR MakeCircleRed
|
||||||
|
LDA.w #$293F
|
||||||
|
|
||||||
.drawTile
|
.drawTile
|
||||||
STA.w $FFC4, Y
|
STA.w $FFC4, Y
|
||||||
@@ -456,6 +479,24 @@ MakeCircleBlue:
|
|||||||
LDA.w $0084, Y : AND.w #$EFFF : STA.w $0084, Y
|
LDA.w $0084, Y : AND.w #$EFFF : STA.w $0084, Y
|
||||||
LDA.w $007E, Y : AND.w #$EFFF : STA.w $007E, Y
|
LDA.w $007E, Y : AND.w #$EFFF : STA.w $007E, Y
|
||||||
RTS
|
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
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ DrawBIndicator:
|
|||||||
LDA.l ItemOnB : AND.w #$00FF : BEQ .done
|
LDA.l ItemOnB : AND.w #$00FF : BEQ .done
|
||||||
DEC : ASL : TAX
|
DEC : ASL : TAX
|
||||||
LDA.l ItemMenuLocations, X : TAX
|
LDA.l ItemMenuLocations, X : TAX
|
||||||
LDA.w #$3D3F
|
LDA.w #$3D3B
|
||||||
STA.w $0042, X
|
STA.w $0042, X
|
||||||
|
|
||||||
.done ; what we wrote over
|
.done ; what we wrote over
|
||||||
|
|||||||
Reference in New Issue
Block a user