diff --git a/Menu/menu.asm b/Menu/menu.asm index 11d0bb2..b31675e 100644 --- a/Menu/menu.asm +++ b/Menu/menu.asm @@ -70,6 +70,7 @@ Menu_Entry: dw Menu_CheckBottle ; 09 dw Menu_Exit ; 0A dw Menu_InitiateScrollDown ; 0B + dw Menu_MagicBag ; 0C ; ========================================================= ; 00 MENU INIT GRAPHICS @@ -211,6 +212,10 @@ Menu_ItemScreen: LSR : BCS .move_down LSR : BCS .move_up + LDA.w $0202 : CMP.b #$05 : BNE + + LDA.b $F6 : BIT.b #$80 : BEQ + + LDA.b #$0C : STA.w $0200 ; Magic Bag + + BRA .no_inputs .move_right @@ -473,6 +478,24 @@ Menu_InitiateScrollDown: RTS } +Menu_MagicBag: +{ + + JSR Menu_DrawMagicBag + JSR Menu_DrawMagicItems + SEP #$30 + + LDA.b $F6 : BIT.b #$80 : BEQ + + LDA.b #$02 : STA.w $0200 + + + + LDA.b #$22 : STA.w $0116 + LDA.b #$01 : STA.b $17 + + RTS +} + + menu_frame: incbin "tilemaps/menu_frame.tilemap" quest_icons: incbin "tilemaps/quest_icons.tilemap" incsrc "menu_map_names.asm" diff --git a/Menu/menu_draw.asm b/Menu/menu_draw.asm index 85695df..4bd8d2d 100644 --- a/Menu/menu_draw.asm +++ b/Menu/menu_draw.asm @@ -649,4 +649,76 @@ Menu_DrawBigChestKey: RTS } +Menu_DrawMagicBag: +{ + REP #$30 + LDX.w #$FE ; $1700-17FF + + .loop + LDA.w .magic_bag_tilemap, X + STA.w $1000, X + LDA.w .magic_bag_tilemap+$100, X + STA.w $1100, X + LDA.w .magic_bag_tilemap+$200, X + STA.w $1200, X + LDA.w .magic_bag_tilemap+$300, X + STA.w $1300, X + LDA.w .magic_bag_tilemap+$400, X + STA.w $1400, X + LDA.w .magic_bag_tilemap+$500, X + STA.w $1500, X + LDA.w .magic_bag_tilemap+$600, X + STA.w $1600, X + LDA.w .magic_bag_tilemap+$700, X + STA.w $1700, X + + DEX : DEX + BPL .loop + + RTS + + .magic_bag_tilemap + incbin "tilemaps/magic_bag.tilemap" +} + +Menu_DrawMagicItems: +{ + SEP #$30 + LDA.b #$7E : STA.b $0A ; Set up the bank of our indirect address + REP #$30 + + LDA.w #$0001 + STA.w MenuItemValueSpoof : LDA.w #MenuItemValueSpoof + LDX.w #menu_offset(8,4) + LDY.w #BananaGFX + JSR DrawMenuItem + + LDA.w #$0001 + STA.w MenuItemValueSpoof : LDA.w #MenuItemValueSpoof + LDX.w #menu_offset(11,4) + LDY.w #PineappleGFX + JSR DrawMenuItem + + + LDA.w #$0001 + STA.w MenuItemValueSpoof : LDA.w #MenuItemValueSpoof + LDX.w #menu_offset(14,4) + LDY.w #RingGFX + JSR DrawMenuItem + + LDA.w #$0002 + STA.w MenuItemValueSpoof : LDA.w #MenuItemValueSpoof + LDX.w #menu_offset(14,7) + LDY.w #RingGFX + JSR DrawMenuItem + + LDA.w #$0003 + STA.w MenuItemValueSpoof : LDA.w #MenuItemValueSpoof + LDX.w #menu_offset(14,10) + LDY.w #RingGFX + JSR DrawMenuItem + + RTS +} + ; ========================================================= \ No newline at end of file diff --git a/Menu/tilemaps/magic_bag.tilemap b/Menu/tilemaps/magic_bag.tilemap new file mode 100644 index 0000000..53aa93d Binary files /dev/null and b/Menu/tilemaps/magic_bag.tilemap differ