diff --git a/menu/overworldmap.asm b/menu/overworldmap.asm index 9bd111a..b937655 100644 --- a/menu/overworldmap.asm +++ b/menu/overworldmap.asm @@ -239,7 +239,7 @@ PHX CLC : BRA .done .checkAga2 - LDA $7EF2DB : AND #$20 : BNE .fail + LDA $7EF01B : AND #$80 : BNE .fail CLC : BRA .done .fail @@ -254,7 +254,9 @@ RTS OverworldMap_CheckForCompass: LDA.l CompassMode : AND #$80 : BEQ .unset ; should I check for compass logic LDA.l CompassMode : AND #$40 : BEQ .set ; compasses aren't shuffled - LDA.l CompassExists, X : BEQ .set ; compass doesn't exits + LDA.l CompassMode : AND #$20 : BNE + + JSR OverworldMap_CheckForMap : BCC .unset : BRA .set + + LDA.l CompassExists, X : BEQ .set ; compass doesn't exits PHX LDA.l MC_SRAM_Offsets, X : TAX ; put compass offset into X LDA !INVENTORY_COMPASS, X : ORA !MAP_OVERLAY, X diff --git a/tables.asm b/tables.asm index 2b70345..b159a60 100644 --- a/tables.asm +++ b/tables.asm @@ -140,7 +140,8 @@ db #$00 ; #$00 = Always On (default) - #$01 = Require Map Item CompassMode: db #$00 ; #$00 = Off (default) - #$01 = Display Dungeon Count w/Compass - #$02 = Display Dungeon Count Always ; #$8x = Moves prize indicator to a special position if bit on - ; #$4x = Compasses are shuffled and must be obtained to show position if bit on + ; #$4x = Compasses or Maps are shuffled and must be obtained to show position if bit on + ; #$2x = Use Compass for position if bit on, otherwise use Map ;-------------------------------------------------------------------------------- org $30803D ; PC 0x18003D PersistentFloodgate: