Example #1
0
/* Draw a character at x, y in the dest frame. */
static void
gfx_draw_char_sprite(int x, int y, unsigned int c, int color, int shadow, frame_t *dest)
{
	static const int sprite_offset_from_ascii[] = {

		-1, -1, -1, -1, -1, -1, -1, -1,
		-1, -1, -1, -1, -1, -1, -1, -1,
		-1, -1, -1, -1, -1, -1, -1, -1,
		-1, -1, -1, -1, -1, -1, -1, -1,
		-1, -1, -1, -1, -1, 43, -1, -1,
		-1, -1, -1, -1, -1, 40, 39, -1,
		29, 30, 31, 32, 33, 34, 35, 36,
		37, 38, 41, -1, -1, -1, -1, 42,
		-1,  0,  1,  2,  3,  4,  5,  6,
		 7,  8,  9, 10, 11, 12, 13, 14,
		15, 16, 17, 18, 19, 20, 21, 22,
		23, 24, 25, -1, -1, -1, -1, -1,
		-1,  0,  1,  2,  3,  4,  5,  6,
		 7,  8,  9, 10, 11, 12, 13, 14,
		15, 16, 17, 18, 19, 20, 21, 22,
		23, 24, 25, -1, -1, -1, -1, -1,

		-1, -1, -1, -1, -1, -1, -1, -1,
		-1, -1, -1, -1, -1, -1, -1, -1,
		-1, -1, -1, -1, -1, -1, -1, -1,
		-1, -1, -1, -1, -1, -1, -1, -1,
		-1, -1, -1, -1, -1, -1, -1, -1,
		-1, -1, -1, -1, -1, -1, -1, -1,
		-1, -1, -1, -1, -1, -1, -1, -1,
		-1, -1, -1, -1, -1, -1, -1, -1,
		-1, -1, -1, -1, -1, -1, -1, -1,
		-1, -1, -1, -1, -1, -1, -1, -1,
		-1, -1, -1, -1, -1, -1, -1, -1,
		-1, -1, -1, -1, -1, -1, -1, -1,
		-1, -1, -1, -1, -1, -1, -1, -1,
		-1, -1, -1, -1, -1, -1, -1, -1,
		-1, -1, -1, -1, -1, -1, -1, -1,
		-1, -1, -1, -1, -1, -1, -1, -1,
	};

	int s = sprite_offset_from_ascii[c];
	if (s < 0) return;

	if (shadow) {
		sdl_draw_transp_sprite(data_get_object(DATA_FONT_SHADOW_BASE + s, NULL),
				       x, y, 0, 0, shadow, dest);
	}
	sdl_draw_transp_sprite(data_get_object(DATA_FONT_BASE + s, NULL),
			       x, y, 0, 0, color, dest);
}
Example #2
0
static void
draw_minimap_rect(minimap_t *minimap, frame_t *frame)
{
	sprite_t *sprite = (sprite_t*)data_get_object(354, NULL);
	int y = minimap->obj.height/2;
	int x = minimap->obj.width/2;
	sdl_draw_transp_sprite(sprite, x, y, 1, 0, 0, frame);
}
Example #3
0
/* Select the color palette that is location at the given data file index. */
void
gfx_set_palette(int palette)
{
    uint8_t *pal = reinterpret_cast<uint8_t*>(data_get_object(palette, NULL));
	sdl_set_palette(pal);
}
Example #4
0
/* Draw the transparent sprite with data file index of
   sprite at x, y in dest frame.*/
void
gfx_draw_transp_sprite(int x, int y, int sprite, frame_t *dest)
{
	sprite_t *spr = data_get_object(sprite, NULL);
	if (spr != NULL) sdl_draw_transp_sprite(spr, x, y, 0, 0, 0, dest);
}