Big pass at dungeon item indicators

This commit is contained in:
2025-12-30 21:56:48 -06:00
parent 9a40f28a86
commit 10ced3c9c6
23 changed files with 1525 additions and 9 deletions

130
dungeon_map/draw_loot.asm Normal file
View File

@@ -0,0 +1,130 @@
RedrawLoot:
JSL DrawLoot
; what we wrote over
SEP #$20
STZ.w $0210
RTL
FirstDrawLoot:
; what we wrote over
LDA.b #$08
STA.b $17
DrawLoot:
LDA.b $07
STA.w $021B
REP #$30
PHX : PHY
STZ.b $0E
LDX.w DungeonID
LDA.l $8AF615, X
STA.b $0C
SEP #$20
LDA.l $8AF5E9, X
AND.b #$0F
CLC : ADC.w $020E
PHA
JSR DrawSingleFloorLoot
INC.b $0F
LDA.b #$80
STA.b $0E
PLA : DEC A
JSR DrawSingleFloorLoot
LDX.w GFXStripes
LDA.b #$FF
STA.w GFXStripes+2, X
LDA.b #$01
STA.b NMISTRIPES
PLY : PLX
LDA.b #$00
RTL
DrawSingleFloorLoot:
REP #$20
AND.w #$00FF
ASL A
TAX
LDA.l $8AF605, X
TAY
STZ.b $06
.next_row
REP #$20
LDA.w GFXStripes
TAX
CLC : ADC.w #$0030
STA.w GFXStripes
LDA.b $07
AND.w #$00FF
XBA
LSR A : LSR A
CLC : ADC.w #$1092
ADC.b $0E
XBA
STA.w GFXStripes+2, X
CLC : ADC.w #$2000
STA.w GFXStripes+$1A, X
LDA.w #$1300
STA.w GFXStripes+$04, X
STA.w GFXStripes+$1C, X
.next_room
REP #$20
LDA.b ($0C), Y ; get room id
PHY
AND.w #$00FF
CMP.w #$000F ; $0F = empty room
BNE .valid_room
LDA.w #$0000
BRA +
.valid_room
JSL CheckLoot
+
ASL A : ASL A : ASL A
TXY
TAX
LDA.l LootTypeIcons+0, X
STA.w GFXStripes+$06, Y
LDA.l LootTypeIcons+2, X
STA.w GFXStripes+$08, Y
LDA.l LootTypeIcons+4, X
STA.w GFXStripes+$1E, Y
LDA.l LootTypeIcons+6, X
STA.w GFXStripes+$20, Y
TYX
PLY
INY : INX #4
SEP #$20
INC.b $06
LDA.b $06
CMP.b #$05
BCC .next_room
STZ.b $06
INC.b $07
LDA.b $07
CMP.b #$05
BCS .done
JMP .next_row
.done
RTS