From 58db28f8bf0994baa143ed421b1320efe56a6d08 Mon Sep 17 00:00:00 2001 From: Kara Alexandra Date: Wed, 31 Dec 2025 12:17:43 -0600 Subject: [PATCH] Check dungeon prizes, tweak gfx --- dungeon_map/check_loot.asm | 36 ++++++++++++++++++++++ dungeon_map/hooks.asm | 2 +- dungeon_map/settings.asm | 60 ++++++++++++++++++++++++------------- menu/map_icons.3bpp | Bin 3072 -> 3072 bytes menu/map_icons_1.3bppc | Bin 479 -> 453 bytes menu/map_icons_2.3bppc | Bin 668 -> 668 bytes menu/map_sheet_d4.3bpp | Bin 1536 -> 1536 bytes menu/map_sheet_d4.3bppc | Bin 989 -> 992 bytes 8 files changed, 76 insertions(+), 22 deletions(-) diff --git a/dungeon_map/check_loot.asm b/dungeon_map/check_loot.asm index b5aae17..12cfae4 100644 --- a/dungeon_map/check_loot.asm +++ b/dungeon_map/check_loot.asm @@ -65,6 +65,10 @@ CheckLoot: JSR CheckBoss + + LDA.l ItemSources : BIT.w #$0010 : BEQ + + JSR CheckPrize ++ + LDA.b $0E AND.w #$00FF CMP.w #$0001 @@ -173,6 +177,38 @@ CheckBoss: BRA .next_boss +CheckPrize: + LDX.w #$FFFD +.next_prize + INX #3 + LDA.l PrizeLocations, X + BPL .check + RTS + +.check + CMP.b $00 + BNE .next_prize + + TXY + + ASL A + TAX + LDA.l SaveDataWRAM, X + TYX + BIT.w #$0800 + BNE .next_prize + + LDA.l PrizeLocations+2, X ; get which prize to look at + AND.w #$00FF + TAX + LDA.l DungeonPrizeReceiptID, X + TYX + + AND.w #$00FF + JSR GetLootClass + + BRA .next_prize + CheckPots: LDA.b $00 ASL A diff --git a/dungeon_map/hooks.asm b/dungeon_map/hooks.asm index a8b3428..74710a7 100644 --- a/dungeon_map/hooks.asm +++ b/dungeon_map/hooks.asm @@ -14,7 +14,7 @@ org $9BE564 dw $0000, $34E0, $7FFF, $34E0, $34E0, $0000, $7EB5, $1CE7 org $9BE584 -dw $0000, $71E7, $2DFF, $3B5F, $7FFF, $0000, $0018, $1CE7 +dw $0000, $71E7, $7FFF, $3B5F, $71E7, $0000, $7EB5, $1CE7 org $9BE5A4 dw $0000, $34E0, $7FFF, $2656, $34E0, $0000, $7EB5, $1CE7 diff --git a/dungeon_map/settings.asm b/dungeon_map/settings.asm index 1a9b074..679f3b8 100644 --- a/dungeon_map/settings.asm +++ b/dungeon_map/settings.asm @@ -31,22 +31,22 @@ endstruct ; $B9F480 LootTypeIcons: -dw $1300, $1300, $1300, $1300 ; 00 - nothing -dw $334D, $734D, $335D, $735D ; 01 - unknown - basic chest -dw $330D, $730D, $333D, $733D ; 02 - junk - pot -dw $3307, $3308, $3317, $3318 ; 03 - small key -dw $330A, $730A, $333A, $733A ; 04 - triforce piece -dw $330C, $730C, $333C, $733C ; 05 - safety - heart -dw $330E, $730E, $333E, $733E ; 06 - compass -dw $3307, $3308, $3317, $3318 ; 07 - small key -dw $3305, $7305, $3315, $3316 ; 08 - big key -dw $3309, $7309, $3339, $7339 ; 09 - pendant -dw $330F, $730F, $333F, $733F ; 0A - inventory item - big chest -dw $3309, $7309, $3339, $7339 ; 0B - also pendant -dw $3303, $7303, $B303, $F303 ; 0C - crystal -dw $330A, $730A, $333A, $733A ; 0D - triforce piece -dw $330B, $730B, $333B, $733B ; 0E - triforce -dw $1300, $1300, $1300, $1300 ; 0F - empty (reserved) +dw $0B00, $0B00, $0B00, $0B00 ; 00 - nothing +dw $2B0E, $6B0E, $2B3E, $6B3E ; 01 - unknown - basic chest +dw $2B0D, $6B0D, $2B3D, $6B3D ; 02 - junk - pot +dw $2B07, $6B07, $2B17, $2B18 ; 03 - small key +dw $2B0B, $6B0B, $2B3B, $6B3B ; 04 - triforce piece +dw $6B08, $2B08, $EB08, $AB08 ; 05 - safety - plus +dw $AB3A, $EB3A, $2B3A, $6B3A ; 06 - compass +dw $2B07, $2B08, $2B17, $2B18 ; 07 - small key +dw $2B05, $6B05, $2B15, $2B16 ; 08 - big key +dw $2B09, $2B0A, $2B39, $6B39 ; 09 - pendant +dw $2B0F, $6B0F, $2B3F, $6B3F ; 0A - inventory item - big chest +dw $2B09, $2B0A, $2B39, $6B39 ; 0B - also pendant +dw $6F02, $2B02, $EB02, $AF02 ; 0C - crystal +dw $2B0B, $6B0B, $2B3B, $6B3B ; 0D - triforce piece +dw $2B0C, $6B0C, $2B3C, $6B3C ; 0E - triforce +dw $0B00, $0B00, $0B00, $0B00 ; 0F - empty (reserved) ; $B9F500 LootTypeMapping: @@ -73,14 +73,32 @@ dw $0087 : db $05 : dl StandingKey_Hera dw $FFFF : db $FF : dl $FFFFFF ; Placeholders dw $FFFF : db $FF : dl $FFFFFF -dw $FFFF : db $FF : dl $FFFFFF +dw $FFFF : db $FF : dl $FFFFFF ; Aga 1? ($0020) +dw $FFFF : db $FF : dl $FFFFFF ; Ice Armos? ($001C) +dw $FFFF : db $FF : dl $FFFFFF ; Lanmolas 2? ($0033) +dw $FFFF : db $FF : dl $FFFFFF ; Moldorm 2? ($004D) +dw $FFFF : db $FF : dl $FFFFFF ; Aga 2? ($000D) dw $FFFF -; $B9F682 +; $B9F69A MapHUDPalette: dw $0000, $3ED8, $2E54 -; $B9F688 +; $B9F6A0 +PrizeLocations: +dw $00C8 : db $02 ; ArmosKnights +dw $0033 : db $03 ; Lanmolas +dw $0006 : db $05 ; Arrghus +dw $005A : db $06 ; HelmasaurKing +dw $0090 : db $07 ; Vitreous +dw $0029 : db $08 ; Mothula +dw $00DE : db $09 ; Kholdstare +dw $0007 : db $0A ; Moldorm +dw $00AC : db $0B ; Blind +dw $00A4 : db $0C ; Trinexx +dw $FFFF + +; $B9F6C0 warnpc $B9FF00 @@ -125,10 +143,10 @@ ShowItems: org $B9FF10 ; ---P bepc -; P - dungeon prizes - NYI +; P - dungeon prizes ; b - bosses (and torches in GT, plus hera basement standing item) ; e - enemy drops ; p - pots ; c - chests ItemSources: - db $0F + db $1F diff --git a/menu/map_icons.3bpp b/menu/map_icons.3bpp index f498014f5438aad7632bc8a2dedbc9eb50ac9cfc..a25b43b80ba718039e6292e148e83dc63861e155 100644 GIT binary patch delta 44 zcmZpWXpq?8#5nN+-{b^Fj?EE_2|%{Q<_kH diff --git a/menu/map_icons_1.3bppc b/menu/map_icons_1.3bppc index 8e6b4785bded66169acadece4ddee61a4a36cc47..183aa4bc9fc3ce88ebe2d017d94ae9e682f2078d 100644 GIT binary patch delta 37 tcmcc5e3W@YID0=siw(mh*NHg^tP>9~^kz-GcYy7KCkJCM)8xgBHUJ9_4dMU* delta 63 zcmX@ge4lwjxM(8-BR_*PKWnQkBO@1Aiw%PoLwmr)xCEi9Qw)sk{N3h^3>>X{m>B-` TWllVNfc1$xLqEghPDUF53T6@$ diff --git a/menu/map_icons_2.3bppc b/menu/map_icons_2.3bppc index 47cd63c6d98d24792ed05541a3caf79d1048c0df..c54a6481d4fd8df31906e321157019d9b6fe6e0b 100644 GIT binary patch delta 24 fcmbQkI)`M67~L2FT3H5@ diff --git a/menu/map_sheet_d4.3bpp b/menu/map_sheet_d4.3bpp index 7470cdafa1f0ffe09a61f57dcf347a16dd686b78..be46ec0cb8209fbc2ca16b832aac16a11ec3ab86 100644 GIT binary patch delta 409 zcmYLDOHRWu5FP(APLtw*kRm}L5oJ-t5*92_6VAZ42SBWPgZK!b_9pC+mpw)nJ%AS+ zfUzCKv*dXmzxQTrY0Hm?xwXA(T{~7|<@IO39S~3;M*#$sN`@NXz*%qo7~LM1T9 z83!SvjxmTn@LubmgQ_<)NQYYH1npL;yHpBN|VF0M>4opJKs5TX0sE|MwG?4afca=No*nr+l0*OiB^J@Ru)@pBX(9ZFn_`l zgoI6@cVJ;>k!XoBDuL_|tpQHziH237EUt(fKvle>4=?Entr5<) zzreu^r~Y4QXHcj9;qadrzX8wi+etU%>w7Z&4n6rPw!~*S8E_Ea7HC=7W~aq6{{dE7 ztMmY^jjNkW*XH{d4CiNDcVoaf mM(g603L#pqZ050n(K~wtQ@m9iQPkUt`pe+W(DD7WR4f26ot>d_q~0y?wXe+gcY1*#(BoYXb~$3EIX?+v9h)jvc080V1+lciHcy@ z#?s0v*aXsM1+}%dkW69iF2qJem9)+(cS_ilo=+gFBYuzrScFRE78*W?aPC;{#8KQofX&H0Ht`4t|9bKC`sV9 zQ1f1gD89fGOd1x@o47XU;KFS4*oOwPw=a}2^z&^&PPw_5#40Wm!H3ZoW{RZ zb`EtKpA7%(pP