2020-07-31 03:34:48 +00:00
|
|
|
;
|
|
|
|
; global.macros
|
|
|
|
; BuGS
|
|
|
|
;
|
|
|
|
; Created by Jeremy Rand on 2020-07-30.
|
|
|
|
;Copyright © 2020 Jeremy Rand. All rights reserved.
|
|
|
|
;
|
|
|
|
|
|
|
|
|
2020-08-28 02:36:04 +00:00
|
|
|
; This macro uses the Y register as an index into the tile offsets. This is
|
|
|
|
; needed for segments because each segment has their own dirty tile offsets.
|
|
|
|
macro
|
|
|
|
_dirtyGameTile &tileOffset
|
|
|
|
|
|
|
|
ldx &tileOffset,y
|
2020-09-02 04:15:53 +00:00
|
|
|
lda tileDirty,x
|
2020-08-28 02:36:04 +00:00
|
|
|
bne _dirtyGameTile_skip&SYSCNT
|
|
|
|
lda #TILE_STATE_DIRTY
|
2020-09-02 04:15:53 +00:00
|
|
|
sta tileDirty,x
|
2020-08-28 02:36:04 +00:00
|
|
|
txa
|
|
|
|
ldx numDirtyGameTiles
|
|
|
|
sta dirtyGameTiles,x
|
|
|
|
inx
|
|
|
|
inx
|
2020-08-28 03:36:16 +00:00
|
|
|
stx numDirtyGameTiles
|
2020-08-28 02:36:04 +00:00
|
|
|
|
|
|
|
_dirtyGameTile_skip&SYSCNT anop
|
|
|
|
mend
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-07-31 03:34:48 +00:00
|
|
|
; Call this with Y already loaded with the numDirtyGameTiles. Also, the new
|
|
|
|
; numDirtyGameTiles is left in Y. The caller must store it.
|
|
|
|
macro
|
2020-08-28 02:36:04 +00:00
|
|
|
_dirtyGameTileWithY &tileOffset
|
2020-07-31 03:34:48 +00:00
|
|
|
|
|
|
|
ldx &tileOffset
|
2020-09-02 04:15:53 +00:00
|
|
|
lda tileDirty,x
|
2020-08-28 02:36:04 +00:00
|
|
|
bne _dirtyGameTileWithY_skip&SYSCNT
|
2020-07-31 03:34:48 +00:00
|
|
|
lda #TILE_STATE_DIRTY
|
2020-09-02 04:15:53 +00:00
|
|
|
sta tileDirty,x
|
2020-07-31 03:34:48 +00:00
|
|
|
txa
|
|
|
|
sta dirtyGameTiles,y
|
|
|
|
iny
|
|
|
|
iny
|
|
|
|
|
2020-08-28 02:36:04 +00:00
|
|
|
_dirtyGameTileWithY_skip&SYSCNT anop
|
2020-07-31 03:34:48 +00:00
|
|
|
mend
|
|
|
|
|
|
|
|
|
|
|
|
macro
|
|
|
|
_dirtyGameOrNonGameTile &tileOffset
|
|
|
|
|
|
|
|
ldx &tileOffset
|
2020-09-02 04:15:53 +00:00
|
|
|
lda tileDirty,x
|
2020-07-31 03:34:48 +00:00
|
|
|
bne _dirtyGameTile_skip&SYSCNT
|
|
|
|
lda #TILE_STATE_DIRTY
|
2020-09-02 04:15:53 +00:00
|
|
|
sta tileDirty,x
|
2020-07-31 03:34:48 +00:00
|
|
|
txa
|
|
|
|
cmp #RHS_FIRST_TILE_OFFSET
|
|
|
|
bge _dirtyGameTile_nonGame&SYSCNT
|
|
|
|
|
|
|
|
ldy numDirtyGameTiles
|
|
|
|
sta dirtyGameTiles,y
|
|
|
|
iny
|
|
|
|
iny
|
|
|
|
sty numDirtyGameTiles
|
|
|
|
bra _dirtyGameTile_skip&SYSCNT
|
|
|
|
|
|
|
|
_dirtyGameTile_nonGame&SYSCNT anop
|
|
|
|
ldy numDirtyNonGameTiles
|
|
|
|
sta dirtyNonGameTiles,y
|
|
|
|
iny
|
|
|
|
iny
|
|
|
|
sty numDirtyNonGameTiles
|
|
|
|
|
|
|
|
_dirtyGameTile_skip&SYSCNT anop
|
|
|
|
mend
|