summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/video/pacland.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/video/pacland.c')
-rw-r--r--src/mame/video/pacland.c23
1 files changed, 10 insertions, 13 deletions
diff --git a/src/mame/video/pacland.c b/src/mame/video/pacland.c
index 7848f33b71d..a7dc671f56e 100644
--- a/src/mame/video/pacland.c
+++ b/src/mame/video/pacland.c
@@ -83,33 +83,30 @@ void pacland_state::switch_palette()
color_prom++;
- colortable_palette_set_color(machine().colortable,i,rgb_t(r,g,b));
+ m_palette->set_indirect_color(i,rgb_t(r,g,b));
}
}
-void pacland_state::palette_init()
+PALETTE_INIT_MEMBER(pacland_state, pacland)
{
const UINT8 *color_prom = memregion("proms")->base();
int i;
- /* allocate the colortable */
- machine().colortable = colortable_alloc(machine(), 256);
-
m_color_prom = color_prom; /* we'll need this later */
/* skip the palette data, it will be initialized later */
color_prom += 2 * 0x400;
/* color_prom now points to the beginning of the lookup table */
for (i = 0;i < 0x400;i++)
- colortable_entry_set_value(machine().colortable, m_gfxdecode->gfx(0)->colorbase() + i, *color_prom++);
+ palette.set_pen_indirect(m_gfxdecode->gfx(0)->colorbase() + i, *color_prom++);
/* Background */
for (i = 0;i < 0x400;i++)
- colortable_entry_set_value(machine().colortable, m_gfxdecode->gfx(1)->colorbase() + i, *color_prom++);
+ palette.set_pen_indirect(m_gfxdecode->gfx(1)->colorbase() + i, *color_prom++);
/* Sprites */
for (i = 0;i < 0x400;i++)
- colortable_entry_set_value(machine().colortable, m_gfxdecode->gfx(2)->colorbase() + i, *color_prom++);
+ palette.set_pen_indirect(m_gfxdecode->gfx(2)->colorbase() + i, *color_prom++);
m_palette_bank = 0;
switch_palette();
@@ -128,7 +125,7 @@ void pacland_state::palette_init()
/* iterate over all palette entries except the last one */
for (palentry = 0; palentry < 0x100; palentry++)
{
- UINT32 mask = colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(2), i, palentry);
+ UINT32 mask = palette.transpen_mask(*m_gfxdecode->gfx(2), i, palentry);
/* transmask[0] is a mask that is used to draw only high priority sprite pixels; thus, pens
$00-$7F are opaque, and others are transparent */
@@ -207,8 +204,8 @@ void pacland_state::video_start()
assert(m_gfxdecode->gfx(0)->colors() <= TILEMAP_NUM_GROUPS);
for (color = 0; color < m_gfxdecode->gfx(0)->colors(); color++)
{
- UINT32 mask = colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(0), color, 0x7f);
- mask |= colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(0), color, 0xff);
+ UINT32 mask = m_palette->transpen_mask(*m_gfxdecode->gfx(0), color, 0x7f);
+ mask |= m_palette->transpen_mask(*m_gfxdecode->gfx(0), color, 0xff);
m_fg_tilemap->set_transmask(color, mask, 0);
}
@@ -314,13 +311,13 @@ void pacland_state::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, co
for (x = 0;x <= sizex;x++)
{
if (whichmask != 0)
- m_gfxdecode->gfx(2)->transmask(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transmask(m_palette,bitmap,cliprect,
sprite + gfx_offs[y ^ (sizey * flipy)][x ^ (sizex * flipx)],
color,
flipx,flipy,
sx + 16*x,sy + 16*y,m_transmask[whichmask][color]);
else
- m_gfxdecode->gfx(2)->prio_transmask(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->prio_transmask(m_palette,bitmap,cliprect,
sprite + gfx_offs[y ^ (sizey * flipy)][x ^ (sizex * flipx)],
color,
flipx,flipy,