summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/video/tumbleb.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/video/tumbleb.c')
-rw-r--r--src/mame/video/tumbleb.c71
1 files changed, 34 insertions, 37 deletions
diff --git a/src/mame/video/tumbleb.c b/src/mame/video/tumbleb.c
index e18c98b6dff..b1281822308 100644
--- a/src/mame/video/tumbleb.c
+++ b/src/mame/video/tumbleb.c
@@ -121,7 +121,7 @@ WRITE16_MEMBER(tumbleb_state::pangpang_pf2_data_w)
/******************************************************************************/
-static TILEMAP_MAPPER( tumblep_scan )
+TILEMAP_MAPPER_MEMBER(tumbleb_state::tumblep_scan)
{
/* logical (col,row) -> memory offset */
return (col & 0x1f) + ((row & 0x1f) << 5) + ((col & 0x60) << 5);
@@ -139,17 +139,16 @@ INLINE void get_bg_tile_info( running_machine &machine, tile_data &tileinfo, int
0);
}
-static TILE_GET_INFO( get_bg1_tile_info ) { tumbleb_state *state = machine.driver_data<tumbleb_state>(); get_bg_tile_info(machine, tileinfo, tile_index, 2, state->m_pf1_data); }
-static TILE_GET_INFO( get_bg2_tile_info ) { tumbleb_state *state = machine.driver_data<tumbleb_state>(); get_bg_tile_info(machine, tileinfo, tile_index, 1, state->m_pf2_data); }
+TILE_GET_INFO_MEMBER(tumbleb_state::get_bg1_tile_info){ get_bg_tile_info(machine(), tileinfo, tile_index, 2, m_pf1_data); }
+TILE_GET_INFO_MEMBER(tumbleb_state::get_bg2_tile_info){ get_bg_tile_info(machine(), tileinfo, tile_index, 1, m_pf2_data); }
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(tumbleb_state::get_fg_tile_info)
{
- tumbleb_state *state = machine.driver_data<tumbleb_state>();
- int data = state->m_pf1_data[tile_index];
+ int data = m_pf1_data[tile_index];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
- (data & 0x0fff) | state->m_tilebank,
+ (data & 0x0fff) | m_tilebank,
data >> 12,
0);
}
@@ -166,16 +165,15 @@ INLINE void get_fncywld_bg_tile_info( running_machine &machine, tile_data &tilei
0);
}
-static TILE_GET_INFO( get_fncywld_bg1_tile_info ) { tumbleb_state *state = machine.driver_data<tumbleb_state>(); get_fncywld_bg_tile_info(machine, tileinfo, tile_index, 2, state->m_pf1_data); }
-static TILE_GET_INFO( get_fncywld_bg2_tile_info ) { tumbleb_state *state = machine.driver_data<tumbleb_state>(); get_fncywld_bg_tile_info(machine, tileinfo, tile_index, 1, state->m_pf2_data); }
+TILE_GET_INFO_MEMBER(tumbleb_state::get_fncywld_bg1_tile_info){ get_fncywld_bg_tile_info(machine(), tileinfo, tile_index, 2, m_pf1_data); }
+TILE_GET_INFO_MEMBER(tumbleb_state::get_fncywld_bg2_tile_info){ get_fncywld_bg_tile_info(machine(), tileinfo, tile_index, 1, m_pf2_data); }
-static TILE_GET_INFO( get_fncywld_fg_tile_info )
+TILE_GET_INFO_MEMBER(tumbleb_state::get_fncywld_fg_tile_info)
{
- tumbleb_state *state = machine.driver_data<tumbleb_state>();
- int data = state->m_pf1_data[tile_index * 2];
- int attr = state->m_pf1_data[tile_index * 2 + 1];
+ int data = m_pf1_data[tile_index * 2];
+ int attr = m_pf1_data[tile_index * 2 + 1];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
data & 0x1fff,
attr & 0x1f,
@@ -208,16 +206,15 @@ INLINE void pangpang_get_bg2x_tile_info( running_machine &machine, tile_data &ti
}
-static TILE_GET_INFO( pangpang_get_bg1_tile_info ) { tumbleb_state *state = machine.driver_data<tumbleb_state>(); pangpang_get_bg_tile_info(machine, tileinfo, tile_index, 2, state->m_pf1_data); }
-static TILE_GET_INFO( pangpang_get_bg2_tile_info ) { tumbleb_state *state = machine.driver_data<tumbleb_state>(); pangpang_get_bg2x_tile_info(machine, tileinfo, tile_index, 1, state->m_pf2_data); }
+TILE_GET_INFO_MEMBER(tumbleb_state::pangpang_get_bg1_tile_info){ pangpang_get_bg_tile_info(machine(), tileinfo, tile_index, 2, m_pf1_data); }
+TILE_GET_INFO_MEMBER(tumbleb_state::pangpang_get_bg2_tile_info){ pangpang_get_bg2x_tile_info(machine(), tileinfo, tile_index, 1, m_pf2_data); }
-static TILE_GET_INFO( pangpang_get_fg_tile_info )
+TILE_GET_INFO_MEMBER(tumbleb_state::pangpang_get_fg_tile_info)
{
- tumbleb_state *state = machine.driver_data<tumbleb_state>();
- int data = state->m_pf1_data[tile_index * 2 + 1];
- int attr = state->m_pf1_data[tile_index * 2];
+ int data = m_pf1_data[tile_index * 2 + 1];
+ int attr = m_pf1_data[tile_index * 2];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
data & 0x1fff,
(attr >> 12)& 0x1f,
@@ -240,9 +237,9 @@ VIDEO_START( pangpang )
{
tumbleb_state *state = machine.driver_data<tumbleb_state>();
- state->m_pf1_tilemap = tilemap_create(machine, pangpang_get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_pf1_alt_tilemap = tilemap_create(machine, pangpang_get_bg1_tile_info, tumblep_scan, 16, 16, 64, 32);
- state->m_pf2_tilemap = tilemap_create(machine, pangpang_get_bg2_tile_info, tumblep_scan, 16, 16, 64, 32);
+ state->m_pf1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::pangpang_get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_pf1_alt_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::pangpang_get_bg1_tile_info),state), tilemap_mapper_delegate(FUNC(tumbleb_state::tumblep_scan),state), 16, 16, 64, 32);
+ state->m_pf2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::pangpang_get_bg2_tile_info),state), tilemap_mapper_delegate(FUNC(tumbleb_state::tumblep_scan),state), 16, 16, 64, 32);
state->m_pf1_tilemap->set_transparent_pen(0);
state->m_pf1_alt_tilemap->set_transparent_pen(0);
@@ -255,9 +252,9 @@ VIDEO_START( tumblepb )
{
tumbleb_state *state = machine.driver_data<tumbleb_state>();
- state->m_pf1_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_pf1_alt_tilemap = tilemap_create(machine, get_bg1_tile_info, tumblep_scan, 16, 16, 64, 32);
- state->m_pf2_tilemap = tilemap_create(machine, get_bg2_tile_info, tumblep_scan, 16, 16, 64, 32);
+ state->m_pf1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_pf1_alt_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_bg1_tile_info),state), tilemap_mapper_delegate(FUNC(tumbleb_state::tumblep_scan),state), 16, 16, 64, 32);
+ state->m_pf2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_bg2_tile_info),state), tilemap_mapper_delegate(FUNC(tumbleb_state::tumblep_scan),state), 16, 16, 64, 32);
state->m_pf1_tilemap->set_transparent_pen(0);
state->m_pf1_alt_tilemap->set_transparent_pen(0);
@@ -269,9 +266,9 @@ VIDEO_START( sdfight )
{
tumbleb_state *state = machine.driver_data<tumbleb_state>();
- state->m_pf1_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64); // 64*64 to prevent bad tilemap wrapping? - check real behavior
- state->m_pf1_alt_tilemap = tilemap_create(machine, get_bg1_tile_info, tumblep_scan, 16, 16, 64, 32);
- state->m_pf2_tilemap = tilemap_create(machine, get_bg2_tile_info, tumblep_scan, 16, 16, 64, 32);
+ state->m_pf1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64); // 64*64 to prevent bad tilemap wrapping? - check real behavior
+ state->m_pf1_alt_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_bg1_tile_info),state), tilemap_mapper_delegate(FUNC(tumbleb_state::tumblep_scan),state), 16, 16, 64, 32);
+ state->m_pf2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_bg2_tile_info),state), tilemap_mapper_delegate(FUNC(tumbleb_state::tumblep_scan),state), 16, 16, 64, 32);
state->m_pf1_tilemap->set_transparent_pen(0);
state->m_pf1_alt_tilemap->set_transparent_pen(0);
@@ -283,9 +280,9 @@ VIDEO_START( fncywld )
{
tumbleb_state *state = machine.driver_data<tumbleb_state>();
- state->m_pf1_tilemap = tilemap_create(machine, get_fncywld_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_pf1_alt_tilemap = tilemap_create(machine, get_fncywld_bg1_tile_info, tumblep_scan, 16, 16, 64, 32);
- state->m_pf2_tilemap = tilemap_create(machine, get_fncywld_bg2_tile_info, tumblep_scan, 16, 16, 64, 32);
+ state->m_pf1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_fncywld_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_pf1_alt_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_fncywld_bg1_tile_info),state), tilemap_mapper_delegate(FUNC(tumbleb_state::tumblep_scan),state), 16, 16, 64, 32);
+ state->m_pf2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_fncywld_bg2_tile_info),state), tilemap_mapper_delegate(FUNC(tumbleb_state::tumblep_scan),state), 16, 16, 64, 32);
state->m_pf1_tilemap->set_transparent_pen(15);
state->m_pf1_alt_tilemap->set_transparent_pen(15);
@@ -298,9 +295,9 @@ VIDEO_START( suprtrio )
{
tumbleb_state *state = machine.driver_data<tumbleb_state>();
- state->m_pf1_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_pf1_alt_tilemap = tilemap_create(machine, get_bg1_tile_info, tumblep_scan, 16, 16, 64, 32);
- state->m_pf2_tilemap = tilemap_create(machine, get_bg2_tile_info, tumblep_scan, 16, 16, 64, 32);
+ state->m_pf1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_pf1_alt_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_bg1_tile_info),state), tilemap_mapper_delegate(FUNC(tumbleb_state::tumblep_scan),state), 16, 16, 64, 32);
+ state->m_pf2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_bg2_tile_info),state), tilemap_mapper_delegate(FUNC(tumbleb_state::tumblep_scan),state), 16, 16, 64, 32);
state->m_pf1_alt_tilemap->set_transparent_pen(0);