25#define TILE_ATTR_PRIORITY_SFT 15
30#define TILE_ATTR_PALETTE_SFT 13
35#define TILE_ATTR_VFLIP_SFT 12
40#define TILE_ATTR_HFLIP_SFT 11
45#define TILE_ATTR_PRIORITY_MASK (1 << TILE_ATTR_PRIORITY_SFT)
50#define TILE_ATTR_PALETTE_MASK (3 << TILE_ATTR_PALETTE_SFT)
55#define TILE_ATTR_VFLIP_MASK (1 << TILE_ATTR_VFLIP_SFT)
60#define TILE_ATTR_HFLIP_MASK (1 << TILE_ATTR_HFLIP_SFT)
65#define TILE_ATTR_MASK (TILE_ATTR_PRIORITY_MASK | TILE_ATTR_PALETTE_MASK | TILE_ATTR_VFLIP_MASK | TILE_ATTR_HFLIP_MASK)
80#define TILE_ATTR(pal, prio, flipV, flipH) (((flipH) << TILE_ATTR_HFLIP_SFT) + ((flipV) << TILE_ATTR_VFLIP_SFT) + ((pal) << TILE_ATTR_PALETTE_SFT) + ((prio) << TILE_ATTR_PRIORITY_SFT))
96#define TILE_ATTR_FULL(pal, prio, flipV, flipH, index) (((flipH) << TILE_ATTR_HFLIP_SFT) + ((flipV) << TILE_ATTR_VFLIP_SFT) + ((pal) << TILE_ATTR_PALETTE_SFT) + ((prio) << TILE_ATTR_PRIORITY_SFT) + (index))
TransferMethod
VRAM transfer method.
Definition dma.h:52
TileMap structure which contains tilemap background definition. Use the unpackTileMap() method to un...
Definition vdp_tile.h:137
Tile set structure which contains tiles definition. Use the unpackTileSet() method to unpack if comp...
Definition vdp_tile.h:114
unsigned long u32
Definition types.h:105
unsigned short u16
Definition types.h:100
unsigned char u8
Definition types.h:95
VDPPlane
Type used to define on which plane to work (used by some methods).
Definition vdp.h:519
u16 VDP_getPlaneAddress(VDPPlane plane, u16 x, u16 y)
Return the VRAM tilemap address for the specified plane position.
Definition vdp_tile.c:80
u16 VDP_loadFont(const TileSet *font, TransferMethod tm)
Load font from the specified TileSet structure.
Definition vdp_tile.c:60
void VDP_fillTileMapRect(VDPPlane plane, u16 tile, u16 x, u16 y, u16 w, u16 h)
Fill speficied region of tilemap.
Definition vdp_tile.c:209
void VDP_setTileMapDataColumnEx(VDPPlane plane, const u16 *data, u16 basetile, u16 column, u16 y, u16 h, u16 wm, TransferMethod tm)
Set a column of tilemap data - extended version (not supported when plane width is set to 128).
Definition vdp_tile.c:738
void VDP_setTileMapDataColumn(VDPPlane plane, const u16 *data, u16 column, u16 y, u16 h, u16 wm, TransferMethod tm)
Set a column of tilemap data (not supported when plane width is set to 128).
Definition vdp_tile.c:719
void VDP_setTileMapDataRow(VDPPlane plane, const u16 *data, u16 row, u16 x, u16 w, TransferMethod tm)
Set a row of tilemap data.
Definition vdp_tile.c:491
void VDP_clearTileMap(u16 planeAddr, u16 ind, u16 num, bool wait)
Clear tilemap.
Definition vdp_tile.c:97
bool VDP_setMap(VDPPlane plane, const TileMap *tilemap, u16 basetile, u16 x, u16 y)
Definition vdp_tile.c:904
bool VDP_setMapEx(VDPPlane plane, const TileMap *tilemap, u16 basetile, u16 x, u16 y, u16 xm, u16 ym, u16 wm, u16 hm)
Definition vdp_tile.c:909
void VDP_setTileMapDataRectEx(VDPPlane plane, const u16 *data, u16 basetile, u16 x, u16 y, u16 w, u16 h, u16 wm, TransferMethod tm)
Set tilemap data for specified region (extended version).
Definition vdp_tile.c:364
bool VDP_setTileMapRow(VDPPlane plane, const TileMap *tilemap, u16 row, u16 x, u16 w, TransferMethod tm)
Load tilemap row.
Definition vdp_tile.c:806
void VDP_setTileMapDataRowEx(VDPPlane plane, const u16 *data, u16 basetile, u16 row, u16 x, u16 w, TransferMethod tm)
Set a row of tilemap data - extended version.
Definition vdp_tile.c:510
void VDP_setTileMapDataEx(u16 planeAddr, const u16 *data, u16 basetile, u16 ind, u16 num, u16 vramStep)
Set tilemap data at specified index (extended version).
Definition vdp_tile.c:147
bool VDP_setTileMapColumn(VDPPlane plane, const TileMap *tilemap, u16 column, u16 y, u16 h, TransferMethod tm)
Load tilemap column (not supported when plane width is set to 128).
Definition vdp_tile.c:855
void VDP_clearTileMapRect(VDPPlane plane, u16 x, u16 y, u16 w, u16 h)
Clear specified region of tilemap.
Definition vdp_tile.c:204
bool VDP_setTileMapEx(VDPPlane plane, const TileMap *tilemap, u16 basetile, u16 xp, u16 yp, u16 x, u16 y, u16 w, u16 h, TransferMethod tm)
Load tilemap region at specified plane position.
Definition vdp_tile.c:782
void VDP_loadTileData(const u32 *data, u16 index, u16 num, TransferMethod tm)
Load tile data (pattern) in VRAM.
Definition vdp_tile.c:28
void VDP_loadBMPTileDataEx(const u32 *data, u16 index, u16 x, u16 y, u16 w, u16 h, u16 bmp_w)
Load 4bpp bitmap tile data in VRAM.
Definition vdp_tile.c:65
void VDP_setTileMapDataRect(VDPPlane plane, const u16 *data, u16 x, u16 y, u16 w, u16 h, u16 wm, TransferMethod tm)
Set tilemap data for specified region.
Definition vdp_tile.c:283
void VDP_fillTileMapRectInc(VDPPlane plane, u16 basetile, u16 x, u16 y, u16 w, u16 h)
Fill tilemap with index auto increment at specified region.
Definition vdp_tile.c:251
bool VDP_setTileMap(VDPPlane plane, const TileMap *tilemap, u16 x, u16 y, u16 w, u16 h, TransferMethod tm)
Load tilemap region.
Definition vdp_tile.c:758
void VDP_setTileMapXY(VDPPlane plane, u16 tile, u16 x, u16 y)
Set tilemap data (single position).
Definition vdp_tile.c:187
void VDP_setTileMapData(u16 planeAddr, const u16 *data, u16 ind, u16 num, u16 vramStep, TransferMethod tm)
Set tilemap data at specified index.
Definition vdp_tile.c:142
void VDP_loadBMPTileData(const u32 *data, u16 index, u16 w, u16 h, u16 bmp_w)
Load 4bpp bitmap tile data in VRAM.
bool VDP_setTileMapColumnEx(VDPPlane plane, const TileMap *tilemap, u16 basetile, u16 column, u16 x, u16 y, u16 h, TransferMethod tm)
Load tilemap column - extended version (not supported when plane width is set to 128).
Definition vdp_tile.c:879
bool VDP_setTileMapRowEx(VDPPlane plane, const TileMap *tilemap, u16 basetile, u16 row, u16 x, u16 y, u16 w, TransferMethod tm)
Load tilemap row (extended version).
Definition vdp_tile.c:830
u16 VDP_loadTileSet(const TileSet *tileset, u16 index, TransferMethod tm)
Load tile data (pattern) in VRAM.
Definition vdp_tile.c:38
void VDP_fillTileMap(u16 planeAddr, u16 tile, u16 ind, u16 num)
Fill tilemap.
Definition vdp_tile.c:106
void VDP_setTileMapDataColumnFast(VDPPlane plane, u16 *data, u16 column, u16 y, u16 h, TransferMethod tm)
Set a complete column of pre-arranged tilemap data (not supported when plane width is set to 128).
Definition vdp_tile.c:693
void VDP_loadFontData(const u32 *font, u16 length, TransferMethod tm)
Load font tile data in VRAM. Note that you should prefer the VDP_loadBMPFont(..) method to this one ...
Definition vdp_tile.c:33
void VDP_fillTileData(u8 value, u16 index, u16 num, bool wait)
Fill tile data in VRAM.
Definition vdp_tile.c:70