diff options
Diffstat (limited to 'src/emu/screen.c')
-rw-r--r-- | src/emu/screen.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/src/emu/screen.c b/src/emu/screen.c index cacaee71fcb..03141c1e1da 100644 --- a/src/emu/screen.c +++ b/src/emu/screen.c @@ -979,14 +979,11 @@ void screen_device::finalize_burnin() scaledvis.max_y = m_visarea.max_y * m_burnin->height() / m_height; // wrap a bitmap around the subregion we care about - bitmap_t *finalmap = auto_alloc(machine(), bitmap_t(scaledvis.max_x + 1 - scaledvis.min_x, - scaledvis.max_y + 1 - scaledvis.min_y, - BITMAP_FORMAT_ARGB32)); - + bitmap_t finalmap(scaledvis.max_x + 1 - scaledvis.min_x, scaledvis.max_y + 1 - scaledvis.min_y, BITMAP_FORMAT_ARGB32); int srcwidth = m_burnin->width(); int srcheight = m_burnin->height(); - int dstwidth = finalmap->width(); - int dstheight = finalmap->height(); + int dstwidth = finalmap.width(); + int dstheight = finalmap.height(); int xstep = (srcwidth << 16) / dstwidth; int ystep = (srcheight << 16) / dstheight; @@ -1010,7 +1007,7 @@ void screen_device::finalize_burnin() for (int y = 0, srcy = 0; y < dstheight; y++, srcy += ystep) { UINT64 *src = &m_burnin->pix64(srcy >> 16); - UINT32 *dst = &finalmap->pix32(y); + UINT32 *dst = &finalmap.pix32(y); for (int x = 0, srcx = 0; x < dstwidth; x++, srcx += xstep) { int brightness = (UINT64)(maxval - src[srcx >> 16]) * 255 / (maxval - minval); @@ -1074,7 +1071,7 @@ void screen_device::load_effect_overlay(const char *filename) bool screen_device::screen_update(bitmap_t &bitmap, const rectangle &cliprect) { if (m_screen_update != NULL) { - return (*m_screen_update)(*this, &bitmap, cliprect); + return (*m_screen_update)(*this, bitmap, cliprect); } else { return machine().driver_data<driver_device>()->screen_update(*this, bitmap, cliprect); } |