Merge in dungeon map changes #1
@@ -6,18 +6,77 @@ CheckLoot:
|
|||||||
PHB : PHX : PHY
|
PHB : PHX : PHY
|
||||||
|
|
||||||
STA.b $00
|
STA.b $00
|
||||||
ASL A
|
|
||||||
TAX
|
|
||||||
|
|
||||||
LDA.b $06 : PHA
|
LDA.b $06 : PHA
|
||||||
|
LDA.b $0E : PHA
|
||||||
|
|
||||||
STZ.b $02 ; best item class found
|
STZ.b $02 ; best item class found
|
||||||
|
|
||||||
JSR CheckChests
|
LDA.l ShowItems_default
|
||||||
JSR CheckBoss
|
AND.w #$00FF
|
||||||
JSR CheckPots
|
STA.b $0E
|
||||||
JSR CheckEnemies
|
|
||||||
|
|
||||||
|
LDA.l SaveDataWRAM, X
|
||||||
|
AND.w #$000F
|
||||||
|
BEQ +
|
||||||
|
LDA.l ShowItems_visited_tile
|
||||||
|
AND.w #$00FF
|
||||||
|
CMP.b $0E
|
||||||
|
BCC +
|
||||||
|
STA.b $0E
|
||||||
|
|
||||||
|
+ LDA.b DungeonID
|
||||||
|
TAX
|
||||||
|
|
||||||
|
LDA.l MapField
|
||||||
|
AND.l DungeonMask, X
|
||||||
|
BEQ +
|
||||||
|
LDA.l ShowItems_have_map
|
||||||
|
AND.w #$00FF
|
||||||
|
CMP.b $0E
|
||||||
|
BCC +
|
||||||
|
STA.b $0E
|
||||||
|
|
||||||
|
+ LDA.l CompassField
|
||||||
|
AND.l DungeonMask, X
|
||||||
|
BEQ +
|
||||||
|
LDA.l ShowItems_have_compass
|
||||||
|
AND.w #$00FF
|
||||||
|
CMP.b $0E
|
||||||
|
BCC +
|
||||||
|
STA.b $0E
|
||||||
|
|
||||||
|
+ LDA.b $0E
|
||||||
|
BEQ .done
|
||||||
|
|
||||||
|
LDA.l ItemSources : BIT.w #$0001 : BEQ +
|
||||||
|
JSR CheckChests
|
||||||
|
+
|
||||||
|
|
||||||
|
LDA.l ItemSources : BIT.w #$0002 : BEQ +
|
||||||
|
JSR CheckPots
|
||||||
|
+
|
||||||
|
|
||||||
|
LDA.l ItemSources : BIT.w #$0004 : BEQ +
|
||||||
|
JSR CheckEnemies
|
||||||
|
+
|
||||||
|
|
||||||
|
LDA.l ItemSources : BIT.w #$0008 : BEQ +
|
||||||
|
JSR CheckBoss
|
||||||
|
+
|
||||||
|
|
||||||
|
LDA.b $0E
|
||||||
|
AND.w #$00FF
|
||||||
|
CMP.w #$0001
|
||||||
|
BNE .done
|
||||||
|
|
||||||
|
LDA.b $02
|
||||||
|
BEQ .done
|
||||||
|
LDA.w #$0001
|
||||||
|
STA.b $02
|
||||||
|
|
||||||
|
.done
|
||||||
|
PLA : STA.b $0E
|
||||||
PLA : STA.b $06
|
PLA : STA.b $06
|
||||||
PLY : PLX : PLB
|
PLY : PLX : PLB
|
||||||
PLP
|
PLP
|
||||||
@@ -25,6 +84,10 @@ CheckLoot:
|
|||||||
RTL
|
RTL
|
||||||
|
|
||||||
CheckChests:
|
CheckChests:
|
||||||
|
LDA.b $00
|
||||||
|
ASL A
|
||||||
|
TAX
|
||||||
|
|
||||||
LDA.w #($81<<8)
|
LDA.w #($81<<8)
|
||||||
PHA
|
PHA
|
||||||
PLB : PLB
|
PLB : PLB
|
||||||
|
|||||||
@@ -81,3 +81,54 @@ MapHUDPalette:
|
|||||||
dw $0000, $3ED8, $2E54
|
dw $0000, $3ED8, $2E54
|
||||||
|
|
||||||
; $B9F688
|
; $B9F688
|
||||||
|
|
||||||
|
warnpc $B9FF00
|
||||||
|
|
||||||
|
org $B9FF00
|
||||||
|
; $00 - do not show anything
|
||||||
|
; $01 - show presence of supertile as dark square
|
||||||
|
; $02 - show shape of quadrants
|
||||||
|
; $03 - show outline of shape but no details
|
||||||
|
; $04 - show dark but detailed
|
||||||
|
; $05 - show lit with detail
|
||||||
|
ShowRooms: ; NYI
|
||||||
|
.default
|
||||||
|
db $02
|
||||||
|
.have_map
|
||||||
|
db $04
|
||||||
|
.have_compass
|
||||||
|
db $03
|
||||||
|
.visited_tile
|
||||||
|
db $04
|
||||||
|
.visited_quadrant
|
||||||
|
db $05
|
||||||
|
.reserved
|
||||||
|
skip 3
|
||||||
|
|
||||||
|
org $B9FF08
|
||||||
|
; $00 - do not show anything
|
||||||
|
; $01 - show presence of unobtained items
|
||||||
|
; $02 - show category of item
|
||||||
|
ShowItems:
|
||||||
|
.default
|
||||||
|
db $00
|
||||||
|
.have_map
|
||||||
|
db $00
|
||||||
|
.have_compass
|
||||||
|
db $02
|
||||||
|
.visited_tile
|
||||||
|
db $01
|
||||||
|
.item_is_compass ; NYI
|
||||||
|
db $00
|
||||||
|
.reserved
|
||||||
|
skip 3
|
||||||
|
|
||||||
|
org $B9FF10
|
||||||
|
; ---P bepc
|
||||||
|
; P - dungeon prizes - NYI
|
||||||
|
; b - bosses (and torches in GT, plus hera basement standing item)
|
||||||
|
; e - enemy drops
|
||||||
|
; p - pots
|
||||||
|
; c - chests
|
||||||
|
ItemSources:
|
||||||
|
db $0F
|
||||||
|
|||||||
Reference in New Issue
Block a user