diff options
Diffstat (limited to 'src/mame/video/vulgus.c')
-rw-r--r-- | src/mame/video/vulgus.c | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/src/mame/video/vulgus.c b/src/mame/video/vulgus.c index b26a290e5a8..3848b55fca7 100644 --- a/src/mame/video/vulgus.c +++ b/src/mame/video/vulgus.c @@ -16,13 +16,11 @@ ***************************************************************************/ -void vulgus_state::palette_init() +PALETTE_INIT_MEMBER(vulgus_state, vulgus) { const UINT8 *color_prom = memregion("proms")->base(); int i; - machine().colortable = colortable_alloc(machine(), 256); - for (i = 0;i < 256;i++) { int bit0,bit1,bit2,bit3,r,g,b; @@ -43,7 +41,7 @@ void vulgus_state::palette_init() bit3 = (color_prom[2*256] >> 3) & 0x01; b = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3; - colortable_palette_set_color(machine().colortable,i,rgb_t(r,g,b)); + palette.set_indirect_color(i,rgb_t(r,g,b)); color_prom++; } @@ -53,19 +51,19 @@ void vulgus_state::palette_init() /* characters use colors 32-47 (?) */ for (i = 0;i < m_gfxdecode->gfx(0)->colors() * m_gfxdecode->gfx(0)->granularity();i++) - colortable_entry_set_value(machine().colortable, m_gfxdecode->gfx(0)->colorbase() + i, 32 + *color_prom++); + palette.set_pen_indirect(m_gfxdecode->gfx(0)->colorbase() + i, 32 + *color_prom++); /* sprites use colors 16-31 */ for (i = 0;i < m_gfxdecode->gfx(2)->colors() * m_gfxdecode->gfx(2)->granularity();i++) - colortable_entry_set_value(machine().colortable, m_gfxdecode->gfx(2)->colorbase() + i, 16 + *color_prom++); + palette.set_pen_indirect(m_gfxdecode->gfx(2)->colorbase() + i, 16 + *color_prom++); /* background tiles use colors 0-15, 64-79, 128-143, 192-207 in four banks */ for (i = 0;i < m_gfxdecode->gfx(1)->colors() * m_gfxdecode->gfx(1)->granularity() / 4;i++) { - colortable_entry_set_value(machine().colortable, m_gfxdecode->gfx(1)->colorbase() + 0*32*8 + i, *color_prom); - colortable_entry_set_value(machine().colortable, m_gfxdecode->gfx(1)->colorbase() + 1*32*8 + i, *color_prom + 64); - colortable_entry_set_value(machine().colortable, m_gfxdecode->gfx(1)->colorbase() + 2*32*8 + i, *color_prom + 128); - colortable_entry_set_value(machine().colortable, m_gfxdecode->gfx(1)->colorbase() + 3*32*8 + i, *color_prom + 192); + palette.set_pen_indirect(m_gfxdecode->gfx(1)->colorbase() + 0*32*8 + i, *color_prom); + palette.set_pen_indirect(m_gfxdecode->gfx(1)->colorbase() + 1*32*8 + i, *color_prom + 64); + palette.set_pen_indirect(m_gfxdecode->gfx(1)->colorbase() + 2*32*8 + i, *color_prom + 128); + palette.set_pen_indirect(m_gfxdecode->gfx(1)->colorbase() + 3*32*8 + i, *color_prom + 192); color_prom++; } } @@ -116,7 +114,7 @@ void vulgus_state::video_start() m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(vulgus_state::get_fg_tile_info),this),TILEMAP_SCAN_ROWS, 8, 8,32,32); m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(vulgus_state::get_bg_tile_info),this),TILEMAP_SCAN_COLS,16,16,32,32); - colortable_configure_tilemap_groups(machine().colortable, m_fg_tilemap, m_gfxdecode->gfx(0), 47); + m_palette->configure_tilemap_groups(*m_fg_tilemap, *m_gfxdecode->gfx(0), 47); } @@ -194,14 +192,14 @@ void vulgus_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect) do { - m_gfxdecode->gfx(2)->transpen(bitmap,cliprect, + m_gfxdecode->gfx(2)->transpen(m_palette,bitmap,cliprect, code + i, col, flip_screen(),flip_screen(), sx, sy + 16 * i * dir,15); /* draw again with wraparound */ - m_gfxdecode->gfx(2)->transpen(bitmap,cliprect, + m_gfxdecode->gfx(2)->transpen(m_palette,bitmap,cliprect, code + i, col, flip_screen(),flip_screen(), |