22#define SAT_MAX_SIZE 80
33#define SPRITE_SIZE(w, h) ((((w) - 1) << 2) | ((h) - 1))
120extern s16 highestVDPSpriteIndex;
Basic SGDK library configuration file.
TransferMethod
VRAM transfer method.
Definition dma.h:52
VDP sprite definition structure replicating VDP hardware sprite.
Definition vdp_spr.h:66
short s16
Definition types.h:84
unsigned short u16
Definition types.h:100
unsigned char u8
Definition types.h:95
void VDP_setSpriteFull(u16 index, s16 x, s16 y, u8 size, u16 attribut, u8 link)
Set a sprite (use sprite list cache).
Definition vdp_spr.c:160
void VDP_setSpriteTile(u16 index, u16 tile)
Set sprite tile index (use sprite list cache).
Definition vdp_spr.c:283
u16 VDP_getAvailableSprites(void)
Returns the number of available VDP sprite from the SAT. WARNING: the SAT maximum size is 128 entries...
Definition vdp_spr.c:125
s16 VDP_refreshHighestAllocatedSpriteIndex(void)
Compute and return the highest index of currently allocated VDP sprite. A value of -1 mean no VDP Sp...
Definition vdp_spr.c:130
void VDP_updateSprites(u16 num, TransferMethod tm)
Send the cached sprite list to the VDP.
Definition vdp_spr.c:224
void VDP_setSpriteFlipH(u16 index, bool flipH)
Set sprite horizontal flip (use sprite list cache).
Definition vdp_spr.c:263
void VDP_setSpriteLink(u16 index, u8 link)
Set sprite link (use sprite list cache).
Definition vdp_spr.c:199
void VDP_setSpriteFlipV(u16 index, bool flipV)
Set sprite vertical flip (use sprite list cache).
Definition vdp_spr.c:268
void VDP_setSpriteSize(u16 index, u8 size)
Set sprite size (use sprite list cache).
Definition vdp_spr.c:189
VDPSprite * VDP_linkSprites(u16 index, u16 num)
Link sprites starting at the specified index. Links are created in simple ascending order (1 --> 2 -...
Definition vdp_spr.c:204
s16 VDP_allocateSprites(u16 num)
Allocate the specified number of hardware VDP sprites and link them together.
Definition vdp_spr.c:49
void VDP_clearSprites(void)
Clear all sprites.
Definition vdp_spr.c:151
void VDP_releaseSprites(u16 index, u16 num)
Release specified number of VDP sprites.
Definition vdp_spr.c:103
bool VDP_getSpriteFlipV(u16 index)
Get sprite vertical flip (use sprite list cache).
Definition vdp_spr.c:278
u16 VDP_getSpriteTile(u16 index)
Get sprite tile index (use sprite list cache).
Definition vdp_spr.c:288
void VDP_setSprite(u16 index, s16 x, s16 y, u8 size, u16 attribut)
Set a sprite (use sprite list cache).
Definition vdp_spr.c:171
void VDP_setSpriteAttribut(u16 index, u16 attribut)
Set sprite attributes (use sprite list cache).
Definition vdp_spr.c:194
void VDP_resetSprites(void)
Clear all sprites and reset VDP sprite allocation (if any).
Definition vdp_spr.c:27
#define SAT_MAX_SIZE
Maximum size of Sprite Attribute Table (128 in VRAM but limited to 80 in VDP anyway)
Definition vdp_spr.h:22
void VDP_setSpritePriority(u16 index, bool priority)
Set sprite priority (use sprite list cache).
Definition vdp_spr.c:236
u16 VDP_getSpritePalette(u16 index)
Get sprite palette (use sprite list cache).
Definition vdp_spr.c:251
void VDP_setSpriteFlip(u16 index, bool flipH, bool flipV)
Set sprite horizontal and vertical flip (use sprite list cache).
Definition vdp_spr.c:256
bool VDP_getSpritePriority(u16 index)
Get sprite priority (use sprite list cache).
Definition vdp_spr.c:241
bool VDP_getSpriteFlipH(u16 index)
Get sprite horizontal flip (use sprite list cache).
Definition vdp_spr.c:273
void VDP_setSpritePalette(u16 index, u16 palette)
Set sprite palette (use sprite list cache).
Definition vdp_spr.c:246
void VDP_setSpritePosition(u16 index, s16 x, s16 y)
Set sprite position (use sprite list cache).
Definition vdp_spr.c:181
void VDP_releaseAllSprites(void)
Release all VDP sprite allocation.
Definition vdp_spr.c:35