Synopsis #
Copy a 16-bit sprite/image to the VRAM buffer.
Definition #
void CopySprite(color_t* sprite, int x, int y, int width, int height) {
color_t* VRAM = (color_t*)GetVRAMAddress();
VRAM += LCD_WIDTH_PX*y + x;
for(int j=y; j<y+height; j++) {
for(int i=x; i<x+width; i++) {
*(VRAM++) = *(sprite++);
}
VRAM += LCD_WIDTH_PX-width;
}
}
Inputs #
- color_t* sprite: The sprite data (from SourceCoder?)
- int x: X-coordinate of top-left of sprite
- int y: Y-coordinate of top-left of sprite
- int width: Width of sprite, in pixels
- int height: Height of sprite, in pixels
Outputs #
Sprite drawn to VRAM
Comments #
SourceCoder can be used to convert .png, .bmp, and .gif images to arrays that you can use with this routine.