summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/video/madalien.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/video/madalien.cpp')
-rw-r--r--src/mame/video/madalien.cpp23
1 files changed, 10 insertions, 13 deletions
diff --git a/src/mame/video/madalien.cpp b/src/mame/video/madalien.cpp
index 380d80cba01..56496074be2 100644
--- a/src/mame/video/madalien.cpp
+++ b/src/mame/video/madalien.cpp
@@ -118,27 +118,24 @@ WRITE8_MEMBER(madalien_state::madalien_videoram_w)
void madalien_state::video_start()
{
- static const tilemap_mapper_delegate scan_functions[4] =
+ // can't make this static or it will keep stale pointers after a hard reset
+ const tilemap_mapper_delegate scan_functions[4] =
{
- tilemap_mapper_delegate(FUNC(madalien_state::scan_mode0),this),
- tilemap_mapper_delegate(FUNC(madalien_state::scan_mode1),this),
- tilemap_mapper_delegate(FUNC(madalien_state::scan_mode2),this),
- tilemap_mapper_delegate(FUNC(madalien_state::scan_mode3),this)
+ tilemap_mapper_delegate(*this, FUNC(madalien_state::scan_mode0)),
+ tilemap_mapper_delegate(*this, FUNC(madalien_state::scan_mode1)),
+ tilemap_mapper_delegate(*this, FUNC(madalien_state::scan_mode2)),
+ tilemap_mapper_delegate(*this, FUNC(madalien_state::scan_mode3))
};
- static const int tilemap_cols[4] =
- {
- 16, 16, 32, 32
- };
+ static constexpr int tilemap_cols[4] = { 16, 16, 32, 32 };
- m_tilemap_fg = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(madalien_state::get_tile_info_FG),this), TILEMAP_SCAN_COLS_FLIP_X, 8, 8, 32, 32);
+ m_tilemap_fg = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(madalien_state::get_tile_info_FG)), TILEMAP_SCAN_COLS_FLIP_X, 8, 8, 32, 32);
m_tilemap_fg->set_transparent_pen(0);
for (int i = 0; i < 4; i++)
{
- m_tilemap_edge1[i] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(madalien_state::get_tile_info_BG_1),this), scan_functions[i], 16, 16, tilemap_cols[i], 8);
-
- m_tilemap_edge2[i] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(madalien_state::get_tile_info_BG_2),this), scan_functions[i], 16, 16, tilemap_cols[i], 8);
+ m_tilemap_edge1[i] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(madalien_state::get_tile_info_BG_1)), scan_functions[i], 16, 16, tilemap_cols[i], 8);
+ m_tilemap_edge2[i] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(madalien_state::get_tile_info_BG_2)), scan_functions[i], 16, 16, tilemap_cols[i], 8);
}
m_headlight_bitmap = std::make_unique<bitmap_ind16>(128, 128);