Compass and map HUD display modes properly skip or draw

Minor key count refactor, count HC and Sewers as both in all cases
This commit is contained in:
cassidoxa
2023-03-12 17:20:54 -04:00
parent c0986d6bbc
commit 7968ddf020
5 changed files with 52 additions and 51 deletions

View File

@@ -13,13 +13,12 @@ RTL
DrawCompassCounts:
PHX
LDA.l CompassMode : BIT.w #$0002 : BNE + ; if CompassMode==2, we don't check for the compass
LDA.l CompassField : AND.w DungeonItemMasks, X ; Load compass values to A, mask with dungeon item masks
BEQ .done ; skip if we don't have compass
LDA.l CompassMode : BEQ .done
BIT.w #$0002 : BNE + ; if CompassMode==2, we don't check for the compass
LDA.l CompassField : AND.l DungeonItemMasks, X ; Load compass values to A, mask with dungeon item masks
BEQ .done ; skip if we don't have compass
+
TXA : LSR : TAX : BNE +
INC ; Count sewer as Hyrule Castle
+
TXA : LSR : TAX
LDA.l CompassTotalsWRAM, X : AND.w #$00FF
SEP #$20
JSR HudHexToDec2Digit
@@ -41,13 +40,12 @@ RTS
DrawMapCounts:
PHX
LDA.l MapHUDMode : BIT.w #$0002 : BNE + ; if MapHUDMode==2, we don't check for map
LDA.l MapField : AND.w DungeonItemMasks, X ; Load map values to A, mask with dungeon item masks
BEQ .done ; skip if we don't have map
LDA.l MapHUDMode : BEQ .done
BIT.w #$0002 : BNE + ; if MapHUDMode==2, we don't check for map
LDA.l MapField : AND.l DungeonItemMasks, X ; Load map values to A, mask with dungeon item masks
BEQ .done ; skip if we don't have map
+
TXA : LSR : TAX : BNE +
INC ; Count sewer as Hyrule Castle
+
TXA : LSR : TAX
LDA.l MapTotalsWRAM, X : AND.w #$00FF
SEP #$20
JSR HudHexToDec2Digit
@@ -66,7 +64,7 @@ DrawMapCounts:
RTS
DungeonItemMasks: ; these are dungeon correlations to $7EF364 - $7EF369 so it knows where to store compasses, etc
dw $8000, $4000, $2000, $1000, $0800, $0400, $0200, $0100
dw $C000, $C000, $2000, $1000, $0800, $0400, $0200, $0100
dw $0080, $0040, $0020, $0010, $0008, $0004
;--------------------------------------------------------------------------------
InitDungeonCounts: