Fixed issue where items spawning off screen might not redraw

This commit is contained in:
codemann8
2023-06-16 20:40:01 -05:00
parent 1235357531
commit e8a0697829

View File

@@ -22,6 +22,7 @@ RequestSlottedTile:
PHX : PHY PHX : PHY
PHA PHA
LDA.b #$01 : STA.w !SPRITE_REDRAW, X
JSL Sprite_IsOnscreen : BCC ++ JSL Sprite_IsOnscreen : BCC ++
; skip sending the request if busy with other things ; skip sending the request if busy with other things
LDA.b $11 : CMP.b #$21 : BCS ++ ; skip if OW is loading Map16 GFX ; TODO: Figure out how to allow submodule 22, check DMA status instead LDA.b $11 : CMP.b #$21 : BCS ++ ; skip if OW is loading Map16 GFX ; TODO: Figure out how to allow submodule 22, check DMA status instead
@@ -110,8 +111,12 @@ RequestSlottedTile:
LDA.w $0DD0,Y : BEQ + LDA.w $0DD0,Y : BEQ +
LDA.w !SPRITE_REDRAW, Y : BNE + LDA.w !SPRITE_REDRAW, Y : BNE +
LDA.w SprItemGFX,Y : CMP.w DynamicDropGFXIndex : BNE + LDA.w SprItemGFX,Y : CMP.w DynamicDropGFXIndex : BNE +
LDA.w $0E20,Y : CMP.b #$EB : BEQ ++ : CMP.b #$E4 : BEQ ++ LDA.w $0E20,Y ; don't need E5 enemy big key drop and E9 powder item
BRA + CMP.b #$EB : BEQ ++ ; heart piece
CMP.b #$E4 : BEQ ++ ; enemy drop
CMP.b #$3B : BEQ ++ ; bonk item
CMP.b #$E7 : BEQ ++ ; mushroom
BRA +
++ ++
; slot already in use, use overflow slot ; slot already in use, use overflow slot
LDA.b #$02 : STA.w !SPRITE_REDRAW, X LDA.b #$02 : STA.w !SPRITE_REDRAW, X