Merge pull request #162 from cassidoxa/compasses

Fix checking compass mode for compass count display bitfield
This commit is contained in:
Lexi Rose
2022-05-19 23:59:16 -05:00
committed by GitHub
2 changed files with 3 additions and 3 deletions

View File

@@ -12,7 +12,7 @@ DrawDungeonCompassCounts:
CPX.b #$1B : BCS .done ; Skip if not in a valid dungeon ID CPX.b #$1B : BCS .done ; Skip if not in a valid dungeon ID
CMP.w #$0002 : BEQ ++ ; if CompassMode==2, we don't check for the compass BIT.w #$0002 : BNE ++ ; if CompassMode==2, we don't check for the compass
LDA CompassField : AND.l DungeonItemMasks, X ; Load compass values to A, mask with dungeon item masks LDA CompassField : AND.l DungeonItemMasks, X ; Load compass values to A, mask with dungeon item masks
BEQ .done ; skip if we don't have compass BEQ .done ; skip if we don't have compass
++ ++

View File

@@ -1118,7 +1118,7 @@ RTL
; Set a flag in SRAM if we pick up a compass in its own dungeon with HUD compass ; Set a flag in SRAM if we pick up a compass in its own dungeon with HUD compass
; counts on ; counts on
MaybeFlagCompassTotalPickup: MaybeFlagCompassTotalPickup:
LDA CompassMode : BEQ .done LDA.l CompassMode : AND.b #$0F : BEQ .done
LDA $040C : CMP #$FF : BEQ .done LDA $040C : CMP #$FF : BEQ .done
LSR : STA $04 : LDA #$0F : !SUB $04 ; Compute flag "index" LSR : STA $04 : LDA #$0F : !SUB $04 ; Compute flag "index"
CPY #$25 : BEQ .setFlag ; Set flag if it's a compass for this dungeon CPY #$25 : BEQ .setFlag ; Set flag if it's a compass for this dungeon
@@ -1141,7 +1141,7 @@ RTL
; that compass ; that compass
MaybeFlagCompassTotalEntrance: MaybeFlagCompassTotalEntrance:
LDX $040C : CPX #$FF : BEQ .done ; Skip if we're not entering dungeon LDX $040C : CPX #$FF : BEQ .done ; Skip if we're not entering dungeon
LDA CompassMode : BEQ .done ; Skip if we're not showing compass counts LDA.l CompassMode : AND.w #$000F : BEQ .done ; Skip if we're not showing compass counts
CMP.w #$0002 : BEQ .countShown CMP.w #$0002 : BEQ .countShown
LDA CompassField : AND.l DungeonItemMasks, X : BEQ .done ; skip if we don't have compass LDA CompassField : AND.l DungeonItemMasks, X : BEQ .done ; skip if we don't have compass
.countShown .countShown