diff --git a/LTTP_RND_GeneralBugfixes.asm b/LTTP_RND_GeneralBugfixes.asm index e3860b6..d6db661 100644 --- a/LTTP_RND_GeneralBugfixes.asm +++ b/LTTP_RND_GeneralBugfixes.asm @@ -192,6 +192,7 @@ fillbyte $00 : fill 32 incbin "data/customitems.4bpp" PreloadedGraphicsROM: incbin "data/preloadedgfx.4bpp" +incbin "data/bossicons.souls.4bpp" warnpc $A2B000 org $A2B000 incsrc itemdatatables.asm ; Statically mapped diff --git a/custompalettes.asm b/custompalettes.asm index d19f52b..acf3576 100644 --- a/custompalettes.asm +++ b/custompalettes.asm @@ -15,3 +15,27 @@ dw $0000, $7E4E, $6F44, $1CF5, $7399, $1CE7, $02F9, $0233 dw $7FFF, $7FFF, $0000, $5907, $6E0E, $0000, $7FBB, $7672 .off_black dw $0000, $14A5, $14A5, $14A5, $14A5, $14A5, $14A5, $14A5 +.armos +dw hexto555($000000), hexto555($F8F8F8), hexto555($D86060), hexto555($5070C8), hexto555($B090F8), hexto555($282828), hexto555($F0A068), hexto555($B06028) +.lanmolas +dw hexto555($787040), hexto555($585030), hexto555($484018), hexto555($50C090), hexto555($408858), hexto555($305830), hexto555($D8A800), hexto555($E06018) +.moldorm +dw hexto555($F8D018), hexto555($C8B818), hexto555($A89818), hexto555($806818), hexto555($503818), hexto555($903818), hexto555($D85800), hexto555($F8A828) +.agahnim +dw hexto555($000000), hexto555($F8F8F8), hexto555($C04080), hexto555($B08828), hexto555($E8C070), hexto555($282828), hexto555($90D038), hexto555($688020) +.helmasaur +dw hexto555($A00028), hexto555($D03828), hexto555($E88820), hexto555($4848B0), hexto555($7870E8), hexto555($A8A8F8), hexto555($F8F8F8), hexto555($181818) +.arrghus +dw hexto555($000000), hexto555($F8F8F8), hexto555($903018), hexto555($D85800), hexto555($F8A828), hexto555($282828), hexto555($E88068), hexto555($B04038) +.mothula +dw hexto555($000000), hexto555($F8F8F8), hexto555($4848B0), hexto555($7870E8), hexto555($A8A8F8), hexto555($282828), hexto555($F8A840), hexto555($D85820) +.blind +dw hexto555($88D0F8), hexto555($7890F8), hexto555($903018), hexto555($D85800), hexto555($F8A828), hexto555($282828), hexto555($E88068), hexto555($B04038) +.kholdstare +dw hexto555($7098C0), hexto555($58B0E8), hexto555($D0F8F8), hexto555($4828C8), hexto555($4828F0), hexto555($8070F8), hexto555($F8C8F8), hexto555($E088B0) +.vitreous +dw hexto555($000000), hexto555($F8F8F8), hexto555($50C090), hexto555($408858), hexto555($305830), hexto555($282828), hexto555($D8A800), hexto555($E06018) +.trinexx +dw hexto555($A00028), hexto555($A8A8F8), hexto555($7870E8), hexto555($4848B0), hexto555($505060), hexto555($788890), hexto555($78C0A8), hexto555($707068) +.ganon +dw hexto555($385088), hexto555($5088A8), hexto555($88C8A0), hexto555($B090F8), hexto555($C0A028), hexto555($886008), hexto555($B83010), hexto555($E86040) diff --git a/data/bossicons.souls.4bpp b/data/bossicons.souls.4bpp new file mode 100644 index 0000000..fe1fde6 Binary files /dev/null and b/data/bossicons.souls.4bpp differ diff --git a/itemdatatables.asm b/itemdatatables.asm index 7cd109f..d26b52f 100644 --- a/itemdatatables.asm +++ b/itemdatatables.asm @@ -377,16 +377,16 @@ endmacro %ReceiptProps($ED, -4, 0, $49, $F36A, $FF, skip, skip) ; ED - %ReceiptProps($EE, -4, 0, $49, $F36A, $FF, skip, skip) ; EE - %ReceiptProps($EF, -4, 0, $49, $F36A, $FF, skip, skip) ; EF - -%ReceiptProps($F0, -4, 0, $49, $F36A, $FF, skip, skip) ; F0 - -%ReceiptProps($F1, -4, 0, $49, $F36A, $FF, skip, skip) ; F1 - -%ReceiptProps($F2, -4, 0, $49, $F36A, $FF, skip, skip) ; F2 - -%ReceiptProps($F3, -4, 0, $49, $F36A, $FF, skip, skip) ; F3 - -%ReceiptProps($F4, -4, 0, $49, $F36A, $FF, skip, skip) ; F4 - -%ReceiptProps($F5, -4, 0, $49, $F36A, $FF, skip, skip) ; F5 - -%ReceiptProps($F6, -4, 0, $49, $F36A, $FF, skip, skip) ; F6 - -%ReceiptProps($F7, -4, 0, $49, $F36A, $FF, skip, skip) ; F7 - -%ReceiptProps($F8, -4, 0, $49, $F36A, $FF, skip, skip) ; F8 - -%ReceiptProps($F9, -4, 0, $49, $F36A, $FF, skip, skip) ; F9 - +%ReceiptProps($F0, -4, 0, $51, $F36A, $FF, skip, skip) ; F0 - Armos Soul +%ReceiptProps($F1, -4, 0, $52, $F36A, $FF, skip, skip) ; F1 - Lanmolas Soul +%ReceiptProps($F2, -4, 0, $53, $F36A, $FF, skip, skip) ; F2 - Moldorm Soul +%ReceiptProps($F3, -4, 0, $54, $F36A, $FF, skip, skip) ; F3 - Helmasaur Soul +%ReceiptProps($F4, -4, 0, $55, $F36A, $FF, skip, skip) ; F4 - Arrghus Soul +%ReceiptProps($F5, -4, 0, $56, $F36A, $FF, skip, skip) ; F5 - Mothula Soul +%ReceiptProps($F6, -4, 0, $57, $F36A, $FF, skip, skip) ; F6 - Blind Soul +%ReceiptProps($F7, -4, 0, $58, $F36A, $FF, skip, skip) ; F7 - Kholdstare Soul +%ReceiptProps($F8, -4, 0, $59, $F36A, $FF, skip, skip) ; F8 - Vitreous Soul +%ReceiptProps($F9, -4, 0, $5A, $F36A, $FF, skip, skip) ; F9 - Trinexx Soul %ReceiptProps($FA, -4, 0, $49, $F36A, $FF, skip, skip) ; FA - %ReceiptProps($FB, -4, 0, $49, $F36A, $FF, skip, skip) ; FB - %ReceiptProps($FC, -4, 0, $49, $F36A, $FF, skip, skip) ; FC - @@ -656,16 +656,16 @@ endmacro %SpriteProps($ED, 2, 2, $04, $04, $0000) ; ED - %SpriteProps($EE, 2, 2, $04, $04, $0000) ; EE - %SpriteProps($EF, 2, 2, $04, $04, $0000) ; EF - -%SpriteProps($F0, 2, 2, $04, $04, $0000) ; F0 - -%SpriteProps($F1, 2, 2, $04, $04, $0000) ; F1 - -%SpriteProps($F2, 2, 2, $04, $04, $0000) ; F2 - -%SpriteProps($F3, 2, 2, $04, $04, $0000) ; F3 - -%SpriteProps($F4, 2, 2, $04, $04, $0000) ; F4 - -%SpriteProps($F5, 2, 2, $04, $04, $0000) ; F5 - -%SpriteProps($F6, 2, 2, $04, $04, $0000) ; F6 - -%SpriteProps($F7, 2, 2, $04, $04, $0000) ; F7 - -%SpriteProps($F8, 2, 2, $04, $04, $0000) ; F8 - -%SpriteProps($F9, 2, 2, $04, $04, $0000) ; F9 - +%SpriteProps($F0, 2, 2, $83, $83, PalettesCustom_armos) ; F0 - Armos Soul +%SpriteProps($F1, 2, 2, $83, $83, PalettesCustom_lanmolas) ; F1 - Lanmolas Soul +%SpriteProps($F2, 2, 2, $83, $83, PalettesCustom_moldorm) ; F2 - Moldorm Soul +%SpriteProps($F3, 2, 2, $83, $83, PalettesCustom_helmasaur) ; F3 - Helmasuar Soul +%SpriteProps($F4, 2, 2, $83, $83, PalettesCustom_arrghus) ; F4 - Arrghus Soul +%SpriteProps($F5, 2, 2, $83, $83, PalettesCustom_mothula) ; F5 - Mothula Soul +%SpriteProps($F6, 2, 2, $83, $83, PalettesCustom_blind) ; F6 - Blind Soul +%SpriteProps($F7, 2, 2, $83, $83, PalettesCustom_kholdstare) ; F7 - Kholdstare Soul +%SpriteProps($F8, 2, 2, $83, $83, PalettesCustom_vitreous) ; F8 - Vitreous Soul +%SpriteProps($F9, 2, 2, $83, $83, PalettesCustom_trinexx) ; F9 - Trinexx Soul %SpriteProps($FA, 2, 2, $04, $04, $0000) ; FA - %SpriteProps($FB, 2, 2, $04, $04, $0000) ; FB - %SpriteProps($FC, 2, 2, $04, $04, $0000) ; FC - @@ -932,16 +932,16 @@ endmacro %InventoryItem($ED, $0001, $0000, $0000) ; ED - %InventoryItem($EE, $0001, $0000, $0000) ; EE - %InventoryItem($EF, $0001, $0000, $0000) ; EF - -%InventoryItem($F0, $0001, $0000, $0000) ; F0 - -%InventoryItem($F1, $0001, $0000, $0000) ; F1 - -%InventoryItem($F2, $0001, $0000, $0000) ; F2 - -%InventoryItem($F3, $0001, $0000, $0000) ; F3 - -%InventoryItem($F4, $0001, $0000, $0000) ; F4 - -%InventoryItem($F5, $0001, $0000, $0000) ; F5 - -%InventoryItem($F6, $0001, $0000, $0000) ; F6 - -%InventoryItem($F7, $0001, $0000, $0000) ; F7 - -%InventoryItem($F8, $0001, $0000, $0000) ; F8 - -%InventoryItem($F9, $0001, $0000, $0000) ; F9 - +%InventoryItem($F0, $0081, $0000, $0000) ; F0 - Armos Soul +%InventoryItem($F1, $0081, $0000, $0000) ; F1 - Lanmolas Soul +%InventoryItem($F2, $0081, $0000, $0000) ; F2 - Moldorm Soul +%InventoryItem($F3, $0081, $0000, $0000) ; F3 - Helmasuar Soul +%InventoryItem($F4, $0081, $0000, $0000) ; F4 - Arrghus Soul +%InventoryItem($F5, $0081, $0000, $0000) ; F5 - Mothula Soul +%InventoryItem($F6, $0081, $0000, $0000) ; F6 - Blind Soul +%InventoryItem($F7, $0081, $0000, $0000) ; F7 - Kholdstare Soul +%InventoryItem($F8, $0081, $0000, $0000) ; F8 - Vitreous Soul +%InventoryItem($F9, $0081, $0000, $0000) ; F9 - Trinexx Soul %InventoryItem($FA, $0001, $0000, $0000) ; FA - %InventoryItem($FB, $0001, $0000, $0000) ; FB - %InventoryItem($FC, $0001, $0000, $0000) ; FC - @@ -1196,16 +1196,16 @@ ItemReceiptGraphicsOffsets: dw $0 ; ED - dw $0 ; EE - dw $0 ; EF - - dw $0 ; F0 - - dw $0 ; F1 - - dw $0 ; F2 - - dw $0 ; F3 - - dw $0 ; F4 - - dw $0 ; F5 - - dw $0 ; F6 - - dw $0 ; F7 - - dw $0 ; F8 - - dw $0 ; F9 - + dw $1C20 ; F0 - Armos Soul + dw $1C60 ; F1 - Lanmolas Soul + dw $1CA0 ; F2 - Moldorm Soul + dw $1D20 ; F3 - Helmasuar Soul + dw $1D60 ; F4 - Arrghus Soul + dw $1DA0 ; F5 - Mothula Soul + dw $1DE0 ; F6 - Blind Soul + dw $2020 ; F7 - Kholdstare Soul + dw $2060 ; F8 - Vitreous Soul + dw $20A0 ; F9 - Trinexx Soul dw $0 ; FA - dw $0 ; FB - dw $0 ; FC - @@ -1466,16 +1466,16 @@ StandingItemGraphicsOffsets: dw $0 ; ED - dw $0 ; EE - dw $0 ; EF - - dw $0 ; F0 - - dw $0 ; F1 - - dw $0 ; F2 - - dw $0 ; F3 - - dw $0 ; F4 - - dw $0 ; F5 - - dw $0 ; F6 - - dw $0 ; F7 - - dw $0 ; F8 - - dw $0 ; F9 - + dw $1C20 ; F0 - Armos Soul + dw $1C60 ; F1 - Lanmolas Soul + dw $1CA0 ; F2 - Moldorm Soul + dw $1D20 ; F3 - Helmasuar Soul + dw $1D60 ; F4 - Arrghus Soul + dw $1DA0 ; F5 - Mothula Soul + dw $1DE0 ; F6 - Blind Soul + dw $2020 ; F7 - Kholdstare Soul + dw $2060 ; F8 - Vitreous Soul + dw $20A0 ; F9 - Trinexx Soul dw $0 ; FA - dw $0 ; FB - dw $0 ; FC - diff --git a/menu/drfont.2bpp b/menu/drfont.2bpp index 4e8e30e..374c8e4 100644 Binary files a/menu/drfont.2bpp and b/menu/drfont.2bpp differ diff --git a/menu/hudalpha.asm b/menu/hudalpha.asm index 22fcfc8..80e7b7e 100644 --- a/menu/hudalpha.asm +++ b/menu/hudalpha.asm @@ -9,7 +9,7 @@ UploadMenuOnlyIcons: REP #$20 LDA.w #MenuOnlyIcons : STA.w $4342 LDA.w #$1801 : STA.w $4340 - LDA.w #$0240 : STA.w $4345 + LDA.w #$03A0 : STA.w $4345 LDA.w #$0F800>>1 : STA.w $2116 SEP #$20 @@ -20,4 +20,4 @@ UploadMenuOnlyIcons: RTL MenuOnlyIcons: -incbin "drfont.2bpp" \ No newline at end of file +incbin "drfont.2bpp" diff --git a/pendantcrystalhud.asm b/pendantcrystalhud.asm index 69549fb..c0a467a 100644 --- a/pendantcrystalhud.asm +++ b/pendantcrystalhud.asm @@ -464,7 +464,40 @@ dw $2990 ; green pendant dw $298B ; blue pendant dw $299B ; red pendant ;================================================================================ +DrawBossSouls: + PHP : PHB : PHK : PLB + REP #$30 ; Set 16-bit accumulator & index registers + LDX.w #$0000 ; Paint entire box black & draw empty pendants and crystals + - + LDA.l .row0, X : STA.w GFXStripes+$02EA, X + LDA.l .row1, X : STA.w GFXStripes+$032A, X + LDA.l .row2, X : STA.w GFXStripes+$036A, X + LDA.l .row3, X : STA.w GFXStripes+$03AA, X + LDA.l .row4, X : STA.w GFXStripes+$03EA, X + LDA.l .row5, X : STA.w GFXStripes+$042A, X + LDA.l .row6, X : STA.w GFXStripes+$046A, X + LDA.l .row7, X : STA.w GFXStripes+$04AA, X + LDA.l .row8, X : STA.w GFXStripes+$04EA, X + INX #2 : CPX.w #$0014 : BCC - + + PLB : PLP +RTL +;================================================================================ +.row0 dw $28FB, $28F9, $28F9, $28F9, $28F9, $28F9, $28F9, $28F9, $28F9, $68FB +.row1 dw $28FC, $31A4, $31A5, $24F5, $31A6, $31A7, $24F5, $31A8, $31A9, $68FC +.row2 dw $28FC, $24F5, $24F5, $24F5, $24F5, $24F5, $24F5, $24F5, $24F5, $68FC +.row3 dw $28FC, $31AA, $31AB, $24F5, $31AC, $31AD, $24F5, $31AE, $31AF, $68FC +.row4 dw $28FC, $24F5, $24F5, $24F5, $24F5, $24F5, $24F5, $24F5, $24F5, $68FC +.row5 dw $28FC, $31B0, $31B1, $24F5, $31B2, $31B3, $24F5, $31B4, $31B5, $68FC +.row6 dw $28FC, $24F5, $24F5, $24F5, $24F5, $24F5, $24F5, $24F5, $24F5, $68FC +.row7 dw $28FC, $24F5, $31B6, $31B7, $24F5, $24F5, $31B8, $31B9, $24F5, $68FC +.row8 dw $A8FB, $A8F9, $A8F9, $A8F9, $A8F9, $A8F9, $A8F9, $A8F9, $A8F9, $E8FB +;================================================================================ DrawPendantCrystalDiagram: + LDA.l HudFlag : AND.b #$40 : BEQ + + JML.l DrawBossSouls + + + PHP : PHB : PHK : PLB REP #$30 ; Set 16-bit accumulator & index registers LDX.w #$0000 ; Paint entire box black & draw empty pendants and crystals