mirror of https://github.com/nmlgc/ReC98.git
33 lines
998 B
NASM
33 lines
998 B
NASM
; Each tile defines a 384×80 section of the background, which internally are
|
||
; further divided into 5 rows of 16 pixels each.
|
||
|
||
; No idea why ZUN just didn't go with the actually visible space of 384
|
||
; horizontal tiles. That's 8 wasted tiles per row that the game doesn't do
|
||
; anything with?
|
||
TILES_MEMORY_X = 512 / TILE_W
|
||
|
||
; Subdivides each 16×16 tile into two 16×8 halves and marks whether that half
|
||
; should be redrawn by the next call to tiles_redraw_invalidated() if its
|
||
; entry is nonzero.
|
||
public _halftiles_dirty, _halftiles_dirty_end
|
||
_halftiles_dirty db (TILES_MEMORY_X * TILE_FLAGS_Y) dup(?)
|
||
_halftiles_dirty_end label byte
|
||
|
||
; TH04 starts addressing individual tiles directly via their 16-bit offset
|
||
; in the VRAM.
|
||
public _tile_ring
|
||
_tile_ring dw (TILES_MEMORY_X * TILES_Y) dup(?)
|
||
|
||
if GAME eq 5
|
||
public _tile_index_ptr
|
||
_tile_index_ptr dw ?
|
||
else
|
||
public _tile_index
|
||
_tile_index dw ?
|
||
endif
|
||
|
||
public _tile_row, _tile_scrollspeed_ptr
|
||
_tile_row db ?
|
||
db ?
|
||
_tile_scrollspeed_ptr dw ?
|