Hiding dungeon icons on OW map check if Prizes are wild

This commit is contained in:
codemann8
2024-05-29 03:38:23 -05:00
parent 3deca59f2e
commit 07b0333d51

View File

@@ -88,9 +88,13 @@ dw $FF00, $FF00, $FF00, $FF00, $FF00, $FF00, $FF00, $FF00, $FF00, $FF00, $FF00,
.tr .tr
dw $FF00, $FF00, $FF00, $FF00, $FF00, $FF00, $FFFF dw $FF00, $FF00, $FF00, $FF00, $FF00, $FF00, $FFFF
; FREE: 0x20 bytes, for any future usage of extra icons ^^^ ; FREE: 0x1E bytes, for any future usage of extra icons ^^^
warnpc $8ABF34
org $8ABF34
PrizeExists:
dw $37F8
warnpc $8ABF36
org $8ABF36 org $8ABF36
; vhpp ccco tttttttt ; vhpp ccco tttttttt
; v/h - vert/horiz flip ; v/h - vert/horiz flip
@@ -136,7 +140,7 @@ db $12, $66 ; skull ; Ganon's Tower
warnpc $8ABF6E warnpc $8ABF6E
org $8ABF6E org $8ABF6E
CompassExists: CompassExists:
dw $37F8 dw $37FC
; mirror portal fixes ; mirror portal fixes
org $8ABF74 org $8ABF74
@@ -205,7 +209,7 @@ DrawPrizesOverride:
.main_dungeon_icon .main_dungeon_icon
LDA.l CompassMode : AND.w #$00F0 : ORA.b Scrap06 LDA.l CompassMode : AND.w #$00F0 : ORA.b Scrap06
BIT.w #$0020 : BEQ + : BIT.w #$0004 : BNE .show_dungeon ; compass mode, show dungeon icon if its allowed to BIT.w #$0020 : BEQ + : BIT.w #$0004 : BNE .show_dungeon ; compass mode, show dungeon icon if its allowed to
+ BIT.w #$0001 : BNE + : JMP .advance : + ; hidden + BIT.w #$0040 : BEQ + : JMP .advance : + ; hidden
.show_dungeon .show_dungeon
LDY.b #$00 ; 0 is located LDY.b #$00 ; 0 is located
BIT.w #$0004 : BNE + : BIT.w #$0030 : BEQ + BIT.w #$0004 : BNE + : BIT.w #$0030 : BEQ +
@@ -368,6 +372,10 @@ WorldMap_CheckForDungeonState:
LDA.l CompassExists : AND.l DungeonItemMasks,X : BEQ .setLocateDungeon LDA.l CompassExists : AND.l DungeonItemMasks,X : BEQ .setLocateDungeon
LDA.l CompassField : AND.l DungeonItemMasks,X : BNE .setLocateDungeon LDA.l CompassField : AND.l DungeonItemMasks,X : BNE .setLocateDungeon
+ ; Overworld Map: Default or Map option + ; Overworld Map: Default or Map option
LDA.l CompassMode : BIT.w #$0010 : BNE ++
BIT.w #$0040 : BEQ ++ ; skip if wild prizes
LDA.l PrizeExists : AND.l DungeonItemMasks,X : BNE +
++
LDA.l MapMode : AND.w #$00FF : BNE + ; 0 = always show, 1 = requires map LDA.l MapMode : AND.w #$00FF : BNE + ; 0 = always show, 1 = requires map
LDA.l MapField : AND.l DungeonItemMasks,X : BEQ + LDA.l MapField : AND.l DungeonItemMasks,X : BEQ +
.setLocateDungeon .setLocateDungeon