diff options
Diffstat (limited to 'src/devices/video/imagetek_i4100.cpp')
-rw-r--r-- | src/devices/video/imagetek_i4100.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/devices/video/imagetek_i4100.cpp b/src/devices/video/imagetek_i4100.cpp index ad6973d4ec7..565dfda76cd 100644 --- a/src/devices/video/imagetek_i4100.cpp +++ b/src/devices/video/imagetek_i4100.cpp @@ -211,10 +211,9 @@ imagetek_i4100_device::imagetek_i4100_device(const machine_config &mconfig, devi , m_blit_irq_cb(*this) , m_support_8bpp( has_ext_tiles ) , m_support_16x16( has_ext_tiles ) + , m_tilemap_scrolldx{0, 0, 0} + , m_tilemap_scrolldy{0, 0, 0} { - m_tilemap_scrolldx[0] = 0; - m_tilemap_scrolldx[1] = 0; - m_tilemap_scrolldx[2] = 0; } imagetek_i4100_device::imagetek_i4100_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) @@ -263,6 +262,14 @@ void imagetek_i4100_device::static_set_tmap_xoffsets(device_t &device, int x1, i } +void imagetek_i4100_device::static_set_tmap_yoffsets(device_t &device, int y1, int y2, int y3) +{ + downcast<imagetek_i4100_device &>(device).m_tilemap_scrolldy[0] = y1; + downcast<imagetek_i4100_device &>(device).m_tilemap_scrolldy[1] = y2; + downcast<imagetek_i4100_device &>(device).m_tilemap_scrolldy[2] = y3; +} + + //------------------------------------------------- // device_start - device-specific startup //------------------------------------------------- @@ -1065,6 +1072,7 @@ void imagetek_i4100_device::draw_tilemap( screen_device &screen, bitmap_ind16 &b int windowheight = height >> 3; sx += m_tilemap_scrolldx[layer] * (m_screen_flip ? 1 : -1); + sy += m_tilemap_scrolldy[layer] * (m_screen_flip ? 1 : -1); for (y = 0; y < scrheight; y++) { |