summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/video/pocketc.cpp
blob: dc845f029df17a0dfe630b4a8939019af5aaa95b (plain) (blame)
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
// license:GPL-2.0+
// copyright-holders:Peter Trauner
#include "emu.h"
#include "includes/pocketc.h"

// TODO: Convert to SVG rendering or internal layout

const rgb_t pocketc_state::indirect_palette[] =
{
	{  99, 107,  99 },
	{  94, 111, 103 },
	{ 255, 255, 255 },
	{ 255, 255, 255 },
	{  60,  66,  60 },
	{   0,   0,   0 }
};

const int pocketc_state::colortable[8][2] =
{
	{ 5, 4 },
	{ 5, 0 },
	{ 5, 2 },
	{ 4, 5 },
	{ 1, 4 },
	{ 0, 5 },
	{ 1, 5 },
	{ 3, 5 }
};

void pocketc_state::pocketc_palette(palette_device &palette) const
{
	for (int i = 0; i < ARRAY_LENGTH(indirect_palette); i++)
		palette.set_indirect_color(i, indirect_palette[i]);

	for (int i = 0; i < ARRAY_LENGTH(colortable); i++)
	{
		palette.set_pen_indirect(i*2,   colortable[i][0]);
		palette.set_pen_indirect(i*2+1, colortable[i][1]);
	}
}

void pocketc_state::pocketc_draw_special(bitmap_ind16 &bitmap, int x, int y, const char* const *fig, int color)
{
	for (int i = 0; i < 5; i++, y++)
		for (int j = 0; fig[i][j]; j++)
			if (fig[i][j] != ' ')
				bitmap.pix16(y, x + j) = color;
}