diff --git a/Menu/menu_draw.asm b/Menu/menu_draw.asm index 1f89ae8..15adeed 100644 --- a/Menu/menu_draw.asm +++ b/Menu/menu_draw.asm @@ -289,16 +289,10 @@ DrawYItems: ;; next row - ; LDA.w #$7EF34C ; ocarina - LDA.l $7EF34C - CMP.w #$00 : BEQ .no_flute - LDA.w #$01 - STA.w ShortSpoof - LDA.w #ShortSpoof + LDA.w #$7EF34C LDX.w #menu_offset(13,3) LDY.w #OcarinaGFX JSR DrawMenuItem -.no_flute ;LDA.w #$7EF34E LDA.l $7EF34E diff --git a/Menu/menu_gfx_table.asm b/Menu/menu_gfx_table.asm index f1b3ebb..6380a7c 100644 --- a/Menu/menu_gfx_table.asm +++ b/Menu/menu_gfx_table.asm @@ -4,7 +4,7 @@ ; Everything else will be used as follows: ; dw top left, top right, bottom left, bottom right ; val = 1 ; dw top left, top right, bottom left, bottom right ; val = 2 -; ------------------------------------- +; ============================================================================= NothingGFX: dw $20F5, $20F5, $20F5, $20F5 @@ -22,7 +22,6 @@ BowsGFX: BoomsGFX: dw $2CB8, $2CB9, $2CC9, $ACB9 ; Blue boomerang dw $24B8, $24B9, $24C9, $A4B9 ; Red boomerang - ;dw $3CB8, $3CB9, $3CC9, $BCB9 Green boomerang ; ------------------------------------- @@ -51,12 +50,6 @@ Fire_rodGFX: Ice_rodGFX: dw $2CB0, $2CBE, $2CC0, $2CC1 ; Ice Rod -; ------------------------------------- -; formerly Bombos - -GoronMaskGFX: - dw $2867, $6867, $2877, $6877 - ; ------------------------------------- ; formerly Quake @@ -87,7 +80,9 @@ ShovelGFX: ; ------------------------------------- OcarinaGFX: + dw $2CD4, $2CD5, $2CE4, $2CE5 dw $2CD4, $2CD5, $2CE4, $2CE5 + dw $2CD4, $2CD5, $2CE4, $2CE5 ; ------------------------------------- @@ -136,16 +131,17 @@ BottlesGFX: SomariaGFX: dw $24DC, $24DD, $24EC, $24ED + ; ------------------------------------- ByrnaGFX: dw $2CDC, $2CDD, $2CEC, $2CED ; ------------------------------------- -; formerly Magic Cape +; formerly Magic Cape StoneMaskGFX: - dw $30B4, $30B5, $30C4, $30C5 ; Stone Mask + dw $30B4, $30B5, $30C4, $30C5 ; ------------------------------------- @@ -157,6 +153,7 @@ WolfMaskGFX: ; ------------------------------------- +; Formerly Bombos ZoraMaskGFX: dw $2C88, $6C88, $2C89, $6C89 diff --git a/Menu/menu_hud.asm b/Menu/menu_hud.asm index fe05798..943e885 100644 --- a/Menu/menu_hud.asm +++ b/Menu/menu_hud.asm @@ -22,8 +22,8 @@ org $0DFC09 JSL HUD_Update_ignoreHealth RTS -org $0DFC1B - JSR $F1BC +; org $0DFC1B +; JSR $F1BC org $0DDB85 JSL HUD_Update @@ -204,18 +204,20 @@ HUD_Update: ; ============================================================================= -; .full_tile -; dw $3C5F -; .mostly_full -; dw $3C4D -; .kinda_full -; dw $3C4E -; .half_empty -; dw $3C4F -; .almost_empty -; dw $3C5E -; .empty_tile -; dw $3C4C +Full = $3C5F +MostlyFull = $3C4D +KindaFull = $3C4E +HalfEmpty = $3C4F +AlmostEmpty = $3C5E +Empty = $3C4C + +New_MagicTilemap: + dw Empty, Empty, Empty, Empty, Empty + dw Empty, Empty, Empty, Empty, AlmostEmpty + dw Empty, Empty, Empty, Empty, HalfEmpty + dw Empty, Empty, Empty, Empty, KindaFull + dw Empty, Empty, Empty, Empty, MostlyFull + dw Empty, Empty, Empty, HalfEmpty, Full MagicTilemap: dw $3C4C, $3C4C, $3C4C, $3C4C, $3C4C @@ -227,15 +229,30 @@ MagicTilemap: dw $3C4C, $3C4C, $3C4C, $3C4C, $3C5F dw $3C4C, $3C4C, $3C4C, $3C4D, $3C5F dw $3C4C, $3C4C, $3C4C, $3C4E, $3C5F - dw $3C4D, $3C5F, $3C5F, $3C5F, $3C5F dw $3C4E, $3C5F, $3C5F, $3C5F, $3C5F dw $3C4F, $3C5F, $3C5F, $3C5F, $3C5F dw $3C5E, $3C5F, $3C5F, $3C5F, $3C5F - ; value 78 dw $3C5F, $3C5F, $3C5F, $3C5F, $3C5F ; value 80 +HUD_DrawMagicMeter: +{ + ; check player magic (ranges from 0 to 0x7F) + ; X = ((MP & 0xFF)) + 7) & 0xFFF8) + LDA $7EF36E : AND.w #$00FF : CLC : ADC #$0007 : AND.w #$FFF8 : TAX + + + +.draw_magic_meter + + LDA.l (MagicTilemap)+0, X : STA $7EC76A + LDA.l (MagicTilemap)+2, X : STA $7EC76C + LDA.l (MagicTilemap)+4, X : STA $7EC76E + LDA.l (MagicTilemap)+6, X : STA $7EC770 + LDA.l (MagicTilemap)+8, X : STA $7EC772 +} + ; ============================================================================ ; *$6FAFD-$6FB90 LOCAL @@ -399,6 +416,7 @@ org $0DF859 dw $3CD4, $3CD5, $3CE4, $3CE5 ; Green dw $24D4, $24D5, $24E4, $24E5 ; Red +; Bottles org $0DF751 dw $20F5, $20F5, $20F5, $20F5 ; No bottle dw $2044, $2045, $2046, $2047 ; Mushroom @@ -427,6 +445,19 @@ org $0DF701 dw $24B6, $24B7, $20C6, $24C7 ; Hammer dw $24B6, $24B7, $20C6, $24C7 ; Hammer +; Lamp +org $0DF6F1 + dw $24BC, $24BD, $24CC, $64CC + +; Ice Rod +org $0DF6A1 + dw $24B0, $24B1, $24C0, $24C1 + +; Fire Rod +org $0DF6B1 + dw $2CB0, $2CBE, $2CC0, $2CC1 + + ; Mirror org $0DF7C9 dw $20F5, $20F5, $20F5, $20F5 ; No mirror @@ -437,6 +468,9 @@ org $0DF7A9 dw $20F5, $20F5, $20F5, $20F5 ; No Byrna dw $2CDC, $2CDD, $2CEC, $2CED ; Cane of Byrna +org $0DF731 + dw $2840, $2841, $3C42, $3C43 + org $0DF6E1 dw $20F5, $20F5, $20F5, $20F5 ; No bombos dw $2066, $6066, $2076, $6076 ; Deku Mask @@ -450,10 +484,13 @@ org $0DF821 ; Wolf org $0DF6D1 dw $3086, $7086, $3087, $7087 + dw $3086, $7086, $3087, $7087 + dw $3086, $7086, $3087, $7087 ; Bunny org $0DF7B9 dw $3469, $7469, $3479, $7479 + dw $3469, $7469, $3479, $7479 ; Stone Mask org $0DF811 @@ -477,7 +514,10 @@ HUD_Tilemap: dw $207F, $207F, $207F, $207F, $207F, $207F, $207F, $207F dw $207F, $207F, $207F, $207F, $207F, $207F, $207F, $207F - dw $207F, $3CA8, $FCA8, $207F, $207F, $207F + dw $207F + + ; rupee icon key icon + dw $3CA8, $FCA8, $207F, $2071, $207F ; magic bar dw $201B, $344B diff --git a/Menu/menu_text.asm b/Menu/menu_text.asm index 17d3191..72d61aa 100644 --- a/Menu/menu_text.asm +++ b/Menu/menu_text.asm @@ -101,7 +101,7 @@ Menu_ItemNames: dw "__STONE_MASK__ " dw "____BOTTLE____ " -Menu_BottleIems: +Menu_BottleItems: dw "___MUSHROOM___ " dw "_EMPTY_BOTTLE_ " dw "__RED_POTION__ " @@ -112,11 +112,18 @@ Menu_BottleIems: Menu_DrawItemName: { + SEP #$30 + ; Check if it's a bottle + LDA.w $0202 : CMP.b #$06 : BEQ .bottle_1 + LDA.w $0202 : CMP.b #$0C : BEQ .bottle_2 + LDA.w $0202 : CMP.b #$12 : BEQ .bottle_3 + LDA.w $0202 : CMP.b #$18 : BEQ .bottle_4 + REP #$30 + LDA.w $0202 : BEQ .no_items - DEC - ASL : ASL : ASL : ASL : ASL + DEC : ASL #5 : TAX LDY.w #$000 - TAX + .loop LDA.w Menu_ItemNames, X ; Load your text character STA.w $1692, Y ; <- into the buffer @@ -124,6 +131,30 @@ Menu_DrawItemName: INY : INY : CPY #$001C : BCC .loop .no_items RTS + +; Draw Bottle Description +.bottle_1 + REP #$30 + LDX #$0000 : JMP .draw_bottle +.bottle_2 + REP #$30 + LDX #$0001 : JMP .draw_bottle +.bottle_3 + REP #$30 + LDX #$0002 : JMP .draw_bottle +.bottle_4 + REP #$30 + LDX #$0003 +.draw_bottle + LDA.l $7EF35C, X : AND.w #$00FF + DEC : ASL #5 : TAX + LDY.w #$0000 +.draw_bottle_loop + + LDA.w Menu_BottleItems, X : STA.w $1692, Y + INX : INX + INY : INY : CPY #$001C : BCC .draw_bottle_loop + RTS } ; ============================================================================= @@ -226,7 +257,6 @@ TestLocationName: ; ------------------------------------- -print pc DrawLocationName: { REP #$30