diff --git a/inventory.asm b/inventory.asm index 7e39834..2e0d4d5 100644 --- a/inventory.asm +++ b/inventory.asm @@ -103,6 +103,11 @@ RTL STA FluteEquipment ; store set item LDA.b #$20 : STA $012F ; menu select sound BRA .captured + + CMP.b #$0E : BNE + ; bugnet + LDA.l SpecialWeapons : CMP.b #$08 : BNE .error + LDA.l InventoryTracking+1 : EOR.b #$80 : STA.l InventoryTracking+1 + LDA.b #$20 : STA.w $012F ; menu select sound + BRA .captured + CMP #$10 : BNE .error : JSL.l ProcessBottleMenu : BRA .captured : + CLC @@ -784,6 +789,8 @@ AddYMarker: LDA InventoryTracking : BIT.w #$04 : BEQ .drawNormal ; make sure we have shovel AND.w #$03 : BNE .drawYBubble ; make sure we have one of the flutes BRA .drawNormal + + CMP.w #$000E : BNE + ; bugnet + LDA.l SpecialWeapons : AND.w #$00FF : CMP.w #$0008 : BEQ .drawYBubble : BRA .drawNormal + CMP.w #$10 : BEQ .drawJarMarker .drawNormal diff --git a/special_weapons.asm b/special_weapons.asm index 4982537..67b06b2 100644 --- a/special_weapons.asm +++ b/special_weapons.asm @@ -466,7 +466,7 @@ CheckDetonateBomb: .next_ancilla DEX BPL .check_ancilla - BRA .done + JMP .done .not_bomb_mode LDA.l SpecialWeapons : CMP.b #$06 : BEQ .release_bee CMP.b #$07 : BEQ .hammer @@ -480,6 +480,7 @@ CheckDetonateBomb: RTL .net LDA.l BugNetEquipment : BEQ .done + LDA.l InventoryTracking+1 : BIT.b #$80 : BNE .done LDA.b $3A : ORA.b #$40 : STA.b $3A LDA.b #$07 : STA.w $0304 JSL Link_UseBugNetLong diff --git a/sram.asm b/sram.asm index e7cf692..4fb75c2 100644 --- a/sram.asm +++ b/sram.asm @@ -168,13 +168,14 @@ CurrentGenericKeys: skip 1 ; Generic small keys ;================================================================================ ; Tracking & Indicators ($7EF38C - $7EF3F0) ;-------------------------------------------------------------------------------- -InventoryTracking: skip 2 ; b r m p n s k f - - - - - - o q (bitfield) +InventoryTracking: skip 2 ; 2 - - - - - o q b r m p n s k f (bitfield) ; b = Blue Boomerang | r = Red Boomerang | m = Mushroom Current ; p = Magic Powder | n = Mushroom Past | s = Shovel ; k = Inactive Flute | f = Active Flute | o = Any bomb acquired - ; q = Quickswap locked -BowTracking: skip 1 ; b s p - - - - - (bitfield) - ; b = Bow | s = Silver Arrows Upgrade | p = Second Progressive Bow + ; q = Quickswap locked | 2 = Item on B +BowTracking: skip 1 ; b s p f - - - - (bitfield) + ; b = Any Bow | s = Silver Arrows Upgrade | p = Second Progressive Bow + ; f = First progressive bow ; The front end writes two distinct progressive bow items. p ; indicates whether the "second" has been found independent of ; the first