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
; SEC - yep indicator can move
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
PHX
LDA.l MC_SRAM_Offsets, X : TAX ; put compass offset into X
LDA !INVENTORY_COMPASS, X : ORA !MAP_OVERLAY, X
PLX
AND.l MC_Masks, X : BNE .set ; is the compass obtained
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 #$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
PLX
AND.l MC_Masks, X : BNE .set ; is the compass obtained
.unset
CLC
RTS