Fix from Aerinon for map/compass dungeon locations on map check

This commit is contained in:
codemann8
2022-04-10 19:16:24 -05:00
parent c7f9b5c3a0
commit ed03692bef

View File

@@ -252,14 +252,16 @@ RTS
; CLC - should not move indicator ; CLC - should not move indicator
; SEC - yep indicator can move ; SEC - yep indicator can move
OverworldMap_CheckForCompass: OverworldMap_CheckForCompass:
LDA.l CompassMode : AND #$80 : BEQ .unset ; should I check for compass logic 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 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 +
PHX JSR OverworldMap_CheckForMap : BCC .unset : BRA .set
LDA.l MC_SRAM_Offsets, X : TAX ; put compass offset into X + LDA.l CompassExists, X : BEQ .set ; compass doesn't exits
LDA !INVENTORY_COMPASS, X : ORA !MAP_OVERLAY, X PHX
PLX LDA.l MC_SRAM_Offsets, X : TAX ; put compass offset into X
AND.l MC_Masks, X : BNE .set ; is the compass obtained LDA !INVENTORY_COMPASS, X : ORA !MAP_OVERLAY, X
PLX
AND.l MC_Masks, X : BNE .set ; is the compass obtained
.unset .unset
CLC CLC
RTS RTS