sgdk: vdp_tile.h Source File

sgdk

- Main Page
- Related Pages
- Classes
- Files

- File List
- File Members

vdp_tile.h
Go to the documentation of this file.

    00001
    00013 #ifndef _VDP_TILE_H_
    00014 #define _VDP_TILE_H_
    00015
    00016
    00017 #include "vdp.h"
    00018 #include "dma.h"
    00019
    00020
    00025 #define TILE_ATTR_PRIORITY_SFT      15
    00026
    00030 #define TILE_ATTR_PALETTE_SFT       13
    00031
    00035 #define TILE_ATTR_VFLIP_SFT         12
    00036
    00040 #define TILE_ATTR_HFLIP_SFT         11
    00041
    00045 #define TILE_ATTR_PRIORITY_MASK     (1 << TILE_ATTR_PRIORITY_SFT)
    00046
    00050 #define TILE_ATTR_PALETTE_MASK      (3 << TILE_ATTR_PALETTE_SFT)
    00051
    00055 #define TILE_ATTR_VFLIP_MASK        (1 << TILE_ATTR_VFLIP_SFT)
    00056
    00060 #define TILE_ATTR_HFLIP_MASK        (1 << TILE_ATTR_HFLIP_SFT)
    00061
    00065 #define TILE_ATTR_MASK              (TILE_ATTR_PRIORITY_MASK | TILE_ATTR_PALETTE_MASK | TILE_ATTR_VFLIP_MASK | TILE_ATTR_HFLIP_MASK)
    00066
    00080 #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))
    00081
    00096 #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))
    00097
    00113 typedef struct
    00114 {
    00115     u16 compression;
    00116     u16 numTile;
    00117     u32 *tiles;
    00118 } TileSet;
    00119
    00136 typedef struct
    00137 {
    00138     u16 compression;
    00139     u16 w;
    00140     u16 h;
    00141     u16 *tilemap;
    00142 } TileMap;
    00143
    00159 u16 VDP_getPlaneAddress(VDPPlane plane, u16 x, u16 y);
    00160
    00183 void VDP_loadTileData(const u32 *data, u16 index, u16 num, TransferMethod tm);
    00209 u16 VDP_loadTileSet(const TileSet *tileset, u16 index, TransferMethod tm);
    00232 void VDP_loadFontData(const u32 *font, u16 length, TransferMethod tm);
    00257 u16 VDP_loadFont(const TileSet *font, TransferMethod tm);
    00258
    00279 void VDP_loadBMPTileData(const u32 *data, u16 index, u16 w, u16 h, u16 bmp_w);
    00304 void VDP_loadBMPTileDataEx(const u32 *data, u16 index, u16 x, u16 y, u16 w, u16 h, u16 bmp_w);
    00305
    00322 void VDP_fillTileData(u8 value, u16 index, u16 num, bool wait);
    00323
    00345 void VDP_clearTileMap(u16 planeAddr, u16 ind, u16 num, bool wait);
    00365 void VDP_fillTileMap(u16 planeAddr, u16 tile, u16 ind, u16 num);
    00400 void VDP_setTileMapData(u16 planeAddr, const u16 *data, u16 ind, u16 num, u16 vramStep, TransferMethod tm);
    00430 void VDP_setTileMapDataEx(u16 planeAddr, const u16 *data, u16 basetile, u16 ind, u16 num, u16 vramStep);
    00431
    00451 void VDP_setTileMapXY(VDPPlane plane, u16 tile, u16 x, u16 y);
    00473 void VDP_clearTileMapRect(VDPPlane plane, u16 x, u16 y, u16 w, u16 h);
    00500 void VDP_fillTileMapRect(VDPPlane plane, u16 tile, u16 x, u16 y, u16 w, u16 h);
    00531 void VDP_fillTileMapRectInc(VDPPlane plane, u16 basetile, u16 x, u16 y, u16 w, u16 h);
    00532
    00571 void VDP_setTileMapDataRect(VDPPlane plane, const u16 *data, u16 x, u16 y, u16 w, u16 h, u16 wm, TransferMethod tm);
    00615 void VDP_setTileMapDataRectEx(VDPPlane plane, const u16 *data, u16 basetile, u16 x, u16 y, u16 w, u16 h, u16 wm, TransferMethod tm);
    00616
    00651 void VDP_setTileMapDataRow(VDPPlane plane, const u16 *data, u16 row, u16 x, u16 w, TransferMethod tm);
    00691 void VDP_setTileMapDataRowEx(VDPPlane plane, const u16 *data, u16 basetile, u16 row, u16 x, u16 w, TransferMethod tm);
    00728 void VDP_setTileMapDataColumnFast(VDPPlane plane, u16* data, u16 column, u16 y, u16 h, TransferMethod tm);
    00766 void VDP_setTileMapDataColumn(VDPPlane plane, const u16 *data, u16 column, u16 y, u16 h, u16 wm, TransferMethod tm);
    00810 void VDP_setTileMapDataColumnEx(VDPPlane plane, const u16 *data, u16 basetile, u16 column, u16 y, u16 h, u16 wm, TransferMethod tm);
    00811
    00851 bool VDP_setTileMap(VDPPlane plane, const TileMap *tilemap, u16 x, u16 y, u16 w, u16 h, TransferMethod tm);
    00900 bool VDP_setTileMapEx(VDPPlane plane, const TileMap *tilemap, u16 basetile, u16 xp, u16 yp, u16 x, u16 y, u16 w, u16 h, TransferMethod tm);
    00939 bool VDP_setTileMapRow(VDPPlane plane, const TileMap *tilemap, u16 row, u16 x, u16 w, TransferMethod tm);
    00985 bool VDP_setTileMapRowEx(VDPPlane plane, const TileMap *tilemap, u16 basetile, u16 row, u16 x, u16 y, u16 w, TransferMethod tm);
    01025 bool VDP_setTileMapColumn(VDPPlane plane, const TileMap *tilemap, u16 column, u16 y, u16 h, TransferMethod tm);
    01072 bool VDP_setTileMapColumnEx(VDPPlane plane, const TileMap *tilemap, u16 basetile, u16 column, u16 x, u16 y, u16 h, TransferMethod tm);
    01073
    01078 bool VDP_setMap(VDPPlane plane, const TileMap *tilemap, u16 basetile, u16 x, u16 y);
    01083 bool VDP_setMapEx(VDPPlane plane, const TileMap *tilemap, u16 basetile, u16 x, u16 y, u16 xm, u16 ym, u16 wm, u16 hm);
    01084
    01085
    01086 #endif // _VDP_TILE_H_

All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines