ReC98/th04/tiles[bss].asm

33 lines
998 B
NASM
Raw Normal View History

; 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 ?