From 23edb9a3e6618c25a82ba36e161d2038f8c817ab Mon Sep 17 00:00:00 2001 From: Kara Alexandra Date: Sun, 4 Jan 2026 23:02:21 -0600 Subject: [PATCH] Supertile shapes, small fixes --- dungeon_map/data/supertile_shapes.asm | 14 ++++----- dungeon_map/draw_loot.asm | 14 +++++++++ dungeon_map/dungeon_switch.asm | 30 ++++++++++++++++++-- dungeon_map/hooks.asm | 11 ++++++++ hooks.asm | 6 ++-- menu/map_icons.3bpp | Bin 4608 -> 4608 bytes menu/map_icons_1.3bppc | Bin 646 -> 640 bytes menu/map_icons_2.3bppc | Bin 625 -> 623 bytes menu/map_icons_3.3bppc | Bin 775 -> 809 bytes newhud.asm | 39 ++++++++++++++++---------- 10 files changed, 87 insertions(+), 27 deletions(-) diff --git a/dungeon_map/data/supertile_shapes.asm b/dungeon_map/data/supertile_shapes.asm index 26cb5ac..9ff9c2f 100644 --- a/dungeon_map/data/supertile_shapes.asm +++ b/dungeon_map/data/supertile_shapes.asm @@ -28,7 +28,7 @@ dw $03E7, $03E8, $03F7, $0361 ; 1A dw $039B, $439C, $4361, $FFFF ; 1B dw $038F, $038F, $037E, $C39B ; 1C dw $C3B2, $83A7, $FFFF, $FFFF ; 1D -dw $FFFF, $43B8, $8399, $0366 ; 1E +dw $FFFF, $4391, $8399, $0366 ; 1E dw $FFFF, $FFFF, $4360, $C399 ; 1F dw $FFFF, $FFFF, $438F, $FFFF ; 20 dw $4348, $0363, $C348, $8368 ; 21 @@ -55,7 +55,7 @@ dw $C38D, $039B, $43B1, $037D ; 35 dw $C355, $8355, $4355, $0355 ; 36 dw $439B, $838D, $437D, $03B1 ; 37 dw $C3AC, $FFFF, $43B7, $FFFF ; 38 -dw $FFFF, $FFFF, $039B, $03A9 ; 39 +dw $FFFF, $FFFF, $039B, $0381 ; 39 dw $03C2, $03C3, $43D3, $03D3 ; 3A - make bespoke if feasible dw $C3A5, $FFFF, $43B5, $FFFF ; 3B - inset stairs if feasible dw $C340, $8350, $4340, $0350 ; 3C - hookshot cave front @@ -92,14 +92,14 @@ dw $FFFF, $FFFF, $FFFF, $038F ; 5A - Helmasaur King dw $FFFF, $83B7, $FFFF, $03B5 ; 5B dw $C3B1, $83AA, $FFFF, $838F ; 5C dw $039B, $C399, $0361, $FFFF ; 5D -dw $FFFF, $43B8, $839C, $0366 ; 5E +dw $FFFF, $4391, $839C, $0366 ; 5E dw $FFFF, $FFFF, $43BB, $FFFF ; 5F dw $FFFF, $8379, $FFFF, $036A ; 60 dw $C387, $8385, $4356, $0356 ; 61 dw $C346, $8354, $4352, $0340 ; 62 dw $039A, $FFFF, $0361, $FFFF ; 63 dw $FFFF, $FFFF, $8399, $C3B1 ; 64 -dw $FFFF, $FFFF, $83B1, $03A9 ; 65 +dw $FFFF, $FFFF, $83B1, $0381 ; 65 dw $038F, $039A, $0362, $83B2 ; 66 dw $83B4, $83B5, $03B7, $039F ; 67 dw $C340, $8350, $4341, $0340 ; 68 @@ -138,7 +138,7 @@ dw $FFFF, $FFFF, $FFFF, $FFFF ; 88 - unused dw $C3B0, $83B0, $FFFF, $FFFF ; 89 dw $FFFF, $FFFF, $FFFF, $FFFF ; 8A - unused dw $838A, $0360, $038A, $438D ; 8B -dw $83BE, $83BF, $03BD, $03B8 ; 8C +dw $83BE, $83BF, $03BD, $0391 ; 8C dw $0360, $C38A, $038D, $438A ; 8D dw $FFFF, $838E, $FFFF, $FFFF ; 8E dw $FFFF, $FFFF, $FFFF, $FFFF ; 8F - unused @@ -178,7 +178,7 @@ dw $039B, $C399, $839B, $C399 ; B0 dw $0391, $83B5, $434C, $438A ; B1 dw $C35C, $83A2, $039B, $0366 ; B2 dw $0365, $FFFF, $0365, $FFFF ; B3 -dw $C350, $8340, $4384, $0384 ; B4 +dw $03DE, $83CF, $03CC, $03CD ; B4 dw $03DD, $83CF, $83DE, $03CF ; B5 dw $C3A5, $83B4, $43B5, $03B5 ; B6 dw $C3B4, $FFFF, $43B5, $FFFF ; B7 @@ -204,7 +204,7 @@ dw $FFFF, $FFFF, $FFFF, $FFFF ; CA - unused dw $C340, $8343, $4354, $0347 ; CB dw $C353, $8350, $4347, $0354 ; CC dw $FFFF, $FFFF, $FFFF, $FFFF ; CD - unused -dw $FFFF, $83B8, $FFFF, $FFFF ; CE - Kholdstare drop +dw $FFFF, $8391, $FFFF, $FFFF ; CE - Kholdstare drop dw $FFFF, $FFFF, $FFFF, $FFFF ; CF - unused dw $C372, $C399, $4372, $C399 ; D0 dw $C38E, $838F, $4381, $C38D ; D1 diff --git a/dungeon_map/draw_loot.asm b/dungeon_map/draw_loot.asm index 17975eb..73b2b6e 100644 --- a/dungeon_map/draw_loot.asm +++ b/dungeon_map/draw_loot.asm @@ -7,6 +7,20 @@ RedrawLoot: RTL FirstDrawLoot: + LDA.b #$FF + STA.w $0215 + LDA.b #$80 + STA.w $0216 + STA.w $0218 + LDA.l DRMode + BEQ + + LDA.w DungeonID + ASL A + TAX + LDA.l DungeonMapData.floor, X + STA.b $A4 ++ + ; what we wrote over LDA.b #$08 STA.b $17 diff --git a/dungeon_map/dungeon_switch.asm b/dungeon_map/dungeon_switch.asm index e0ea125..c85998c 100644 --- a/dungeon_map/dungeon_switch.asm +++ b/dungeon_map/dungeon_switch.asm @@ -68,6 +68,8 @@ DungeonMapSwitch_Submodule: SkipMapSprites: STZ.b $00 + LDA.l DRMode + BNE + LDA.w $0200 CMP.b #$04 BEQ + @@ -81,7 +83,14 @@ SkipMapSprites: CMP.b #$04 BNE + JML $8AEAFC -+ LDA.l $7EC22A ++ + + LDA.l DRMode + BEQ + + JML $8AEAEE ++ + + LDA.l $7EC22A CMP.w DungeonID BEQ + JML $8AEAF3 @@ -103,7 +112,7 @@ RestoreCurrentDungeon: LDA.l $7EC22A STA.w DungeonID LDA.l $7EC22B - STA.b $4A + STA.b $A4 RTL RestoreDungeonMapFloorIndex: @@ -145,3 +154,20 @@ DrawDungeonLabel: INC.w $020D ; what we wrote over RTL + +CountFloors: + ADC.w $8AF605, Y + STA.b $04 + LDY.w #$0000 + RTL + +CheckIfRoomFound: + CPY.w #$0032 + BCS .not_found + LDA.b ($04), Y + INY + CMP.b $0E + JML $8AE877 + +.not_found + JML $8AE8CD diff --git a/dungeon_map/hooks.asm b/dungeon_map/hooks.asm index dc22336..e35c55f 100644 --- a/dungeon_map/hooks.asm +++ b/dungeon_map/hooks.asm @@ -25,6 +25,9 @@ db $61, $56, $57, $62 db $61, $56, $57, $62 db $61, $56, $57, $62 +org $81EAF8 +dw $00F0 ; mark the chest data in GT climb as being part of unused room + ; Dungeon Map Palettes 2-5 left half org $9BE544 dw $0000, $71E7, $7FFF, $3B5F, $0000, $0000, $7EB5, $1CE7 @@ -96,6 +99,14 @@ org $8AE1EC PLB JML DrawDungeonLabel +org $8AE86A + JSL CountFloors + NOP #2 + +org $8AE872 + JML CheckIfRoomFound + NOP + ;================================================================================ ; Show indicators of what is left in each room ;-------------------------------------------------------------------------------- diff --git a/hooks.asm b/hooks.asm index bce99cf..c380407 100755 --- a/hooks.asm +++ b/hooks.asm @@ -840,10 +840,10 @@ JSL LoadModifiedIceFloorValue_a01 : NOP org $83FC16 ; <- 1FC16 ($A8, $B8, $3D, $D0, $B8, $3D) db $B1, $C6, $F9, $C9, $C6, $F9 ; data insert - 2 chests, fat fairy room -; unused item receipts +; unused item receipts - moved to pyramid fairy org $81E97E -dw $0116 : db $08 -dw $0116 : db $25 +dw $0116 : db $5E +dw $0116 : db $64 ;-------------------------------------------------------------------------------- org $86B489 ; <- 33489 - sprite_smithy_bros.asm : 473 (LDA $7EF359 : CMP.b #$03 : BCS .tempered_sword_or_better) JML GetSmithSword : NOP #4 diff --git a/menu/map_icons.3bpp b/menu/map_icons.3bpp index 8f3f12381c12e7fca2f29e2d7dbb5f92ce4506bb..898dec61c81681cbe8f6987749860be153a1f098 100644 GIT binary patch delta 106 zcmZorX;9ga$HM$f;@Rdx7GY-Qa|Y)ox3jx5&r6uM`69bDBg;RA0}Pu5IQ^KIpG!R7 zoXEYOadH4Ji%z{g5Gnv6BQrxi5F{kjG5`Amg*E?b{xuw6_y+`ab#(_e2k>rS0RWj} BFMR+2 delta 65 zcmV-H0KWf#B!DEaZUh7V82+!APzo@UAPoewR1K^IL#P+{ diff --git a/menu/map_icons_1.3bppc b/menu/map_icons_1.3bppc index ec1a49011f3d9e8cda45726e0b195969003c4a7f..a0b7e6118819a14fa4ba452387d59c8f45867ce1 100644 GIT binary patch delta 42 wcmZo;ZD8H-kWsEziILICsnv+l>mLJyL_ZIM8<3vS&BM@|!O~tgnU$##00ssOEdT%j delta 48 zcmZo*ZDZZ=kWr<@fyr6oUyC*)qmxss5u?{X1_p_K9tJlcJ)@h4p)G@@t$y-<#zp{W C)(=bo diff --git a/menu/map_icons_2.3bppc b/menu/map_icons_2.3bppc index a0eda2082e4b477b07c4519da06dae8c686aab54..6bce49614b891739f7c6d866c9b6f0961fd4d4c3 100644 GIT binary patch delta 109 zcmV-z0FwXl1n&fp%qK(s07K3&i3k7zGBSr000DjgLuMF=asdHaT7+c*nb-gY{s5j} zo{{r(3xgT}ivR!sz=jV1lXL-80{#M%$^l;nL+2QU@&c1D0x21VSOrA?0EQC;h57=6 P7yygZ1pxqlh57>j-5n(i delta 111 zcmV-#0FeLh1n~rr%qK+t07EeThzS4zGBSr000DjgLuMF=asdHaT7+c*nb-gY{s8`9 z{*m)^4TQ=8hyeftet$@k z0Uwhw0q+NcKLHSA{$!IV0>m8y00RL3gG&JgetrS~|Nlv3{saL00RLwsW&mXWv$`Pc delta 59 zcmV-B0L1^P28RZalLB1;k+z!wPm@vs?+60?{(M9JWDS!@0>m2x00RL3{v>__0s#O2 RNo4*60Q>;|XC!6-WdEmG7h3=T diff --git a/newhud.asm b/newhud.asm index 18be445..0db99c9 100644 --- a/newhud.asm +++ b/newhud.asm @@ -152,14 +152,23 @@ NewHUD_DrawDungeonCounters: ;================================================================================ NewHUD_DrawPrizeIcon: - REP #$10 - SEP #$20 + REP #$10 + SEP #$20 LDA.b GameMode - CMP.b #$12 : BEQ .no_prize - CMP.b #$0E : BEQ + - LDA.l UpdateHUDFlag : BEQ NewHUD_DrawItemCounter - + - LDA.w DungeonID + CMP.b #$12 : BEQ .no_prize + CMP.b #$0E : BNE .check_hud_flag + LDA.b GameSubMode + CMP.b #$03 : BNE .check_dungeon + LDA.w SubModuleInterface + CMP.b #$06 : BNE .check_hud_flag + LDA.l $7EC22A + BRA .know_dungeon + +.check_hud_flag + LDA.l UpdateHUDFlag : BEQ NewHUD_DrawItemCounter +.check_dungeon + LDA.w DungeonID +.know_dungeon CMP.b #$1A : BCS .no_prize CMP.b #$04 : BCC .no_prize CMP.b #$08 : BNE .dungeon @@ -176,19 +185,19 @@ NewHUD_DrawPrizeIcon: LDA.l MapMode REP #$30 - BEQ .prize + BEQ .prize LDA.w MapField AND.l DungeonItemMasks,X BEQ .no_prize - .prize - TYX - LDA.l CrystalPendantFlags_3,X : AND.w #$00FF - ASL : TAX - LDA.l PrizeIconTiles_Transparent,X : BEQ .no_icon - TAY - BRA .draw_prize + .prize + TYX + LDA.l CrystalPendantFlags_3,X : AND.w #$00FF + ASL : TAX + LDA.l PrizeIconTiles_Transparent,X : BEQ .no_icon + TAY + BRA .draw_prize .pendant LDY.w #!PTile