diff options
Diffstat (limited to 'src/mame/video/firetrap.c')
-rw-r--r-- | src/mame/video/firetrap.c | 29 |
1 files changed, 13 insertions, 16 deletions
diff --git a/src/mame/video/firetrap.c b/src/mame/video/firetrap.c index e082d76602e..e4d81dc2bab 100644 --- a/src/mame/video/firetrap.c +++ b/src/mame/video/firetrap.c @@ -72,24 +72,23 @@ PALETTE_INIT( firetrap ) ***************************************************************************/ -static TILEMAP_MAPPER( get_fg_memory_offset ) +TILEMAP_MAPPER_MEMBER(firetrap_state::get_fg_memory_offset) { return (row ^ 0x1f) + (col << 5); } -static TILEMAP_MAPPER( get_bg_memory_offset ) +TILEMAP_MAPPER_MEMBER(firetrap_state::get_bg_memory_offset) { return ((row & 0x0f) ^ 0x0f) | ((col & 0x0f) << 4) | /* hole at bit 8 */ ((row & 0x10) << 5) | ((col & 0x10) << 6); } -static TILE_GET_INFO( get_fg_tile_info ) +TILE_GET_INFO_MEMBER(firetrap_state::get_fg_tile_info) { - firetrap_state *state = machine.driver_data<firetrap_state>(); - int code = state->m_fgvideoram[tile_index]; - int color = state->m_fgvideoram[tile_index + 0x400]; - SET_TILE_INFO( + int code = m_fgvideoram[tile_index]; + int color = m_fgvideoram[tile_index + 0x400]; + SET_TILE_INFO_MEMBER( 0, code | ((color & 0x01) << 8), color >> 4, @@ -107,16 +106,14 @@ INLINE void get_bg_tile_info(running_machine &machine, tile_data &tileinfo, int TILE_FLIPXY((color & 0x0c) >> 2)); } -static TILE_GET_INFO( get_bg1_tile_info ) +TILE_GET_INFO_MEMBER(firetrap_state::get_bg1_tile_info) { - firetrap_state *state = machine.driver_data<firetrap_state>(); - get_bg_tile_info(machine, tileinfo, tile_index, state->m_bg1videoram, 1); + get_bg_tile_info(machine(), tileinfo, tile_index, m_bg1videoram, 1); } -static TILE_GET_INFO( get_bg2_tile_info ) +TILE_GET_INFO_MEMBER(firetrap_state::get_bg2_tile_info) { - firetrap_state *state = machine.driver_data<firetrap_state>(); - get_bg_tile_info(machine, tileinfo, tile_index, state->m_bg2videoram, 2); + get_bg_tile_info(machine(), tileinfo, tile_index, m_bg2videoram, 2); } @@ -129,9 +126,9 @@ static TILE_GET_INFO( get_bg2_tile_info ) VIDEO_START( firetrap ) { firetrap_state *state = machine.driver_data<firetrap_state>(); - state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, get_fg_memory_offset, 8, 8, 32, 32); - state->m_bg1_tilemap = tilemap_create(machine, get_bg1_tile_info, get_bg_memory_offset, 16, 16, 32, 32); - state->m_bg2_tilemap = tilemap_create(machine, get_bg2_tile_info, get_bg_memory_offset, 16, 16, 32, 32); + state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(firetrap_state::get_fg_tile_info),state), tilemap_mapper_delegate(FUNC(firetrap_state::get_fg_memory_offset),state), 8, 8, 32, 32); + state->m_bg1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(firetrap_state::get_bg1_tile_info),state), tilemap_mapper_delegate(FUNC(firetrap_state::get_bg_memory_offset),state), 16, 16, 32, 32); + state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(firetrap_state::get_bg2_tile_info),state), tilemap_mapper_delegate(FUNC(firetrap_state::get_bg_memory_offset),state), 16, 16, 32, 32); state->m_fg_tilemap->set_transparent_pen(0); state->m_bg1_tilemap->set_transparent_pen(0); |