summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/video/tecmo16.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/video/tecmo16.cpp')
-rw-r--r--src/mame/video/tecmo16.cpp18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/mame/video/tecmo16.cpp b/src/mame/video/tecmo16.cpp
index e256f9b1fc2..dbd5da59a7d 100644
--- a/src/mame/video/tecmo16.cpp
+++ b/src/mame/video/tecmo16.cpp
@@ -69,6 +69,7 @@ void tecmo16_state::video_start()
/* set up tile layers */
m_screen->register_screen_bitmap(m_tile_bitmap_bg);
m_screen->register_screen_bitmap(m_tile_bitmap_fg);
+ m_screen->register_screen_bitmap(m_tile_bitmap_tx);
/* set up sprites */
m_screen->register_screen_bitmap(m_sprite_bitmap);
@@ -93,6 +94,7 @@ VIDEO_START_MEMBER(tecmo16_state,ginkun)
/* set up tile layers */
m_screen->register_screen_bitmap(m_tile_bitmap_bg);
m_screen->register_screen_bitmap(m_tile_bitmap_fg);
+ m_screen->register_screen_bitmap(m_tile_bitmap_tx);
/* set up sprites */
m_screen->register_screen_bitmap(m_sprite_bitmap);
@@ -115,6 +117,7 @@ VIDEO_START_MEMBER(tecmo16_state,riot)
/* set up tile layers */
m_screen->register_screen_bitmap(m_tile_bitmap_bg);
m_screen->register_screen_bitmap(m_tile_bitmap_fg);
+ m_screen->register_screen_bitmap(m_tile_bitmap_tx);
/* set up sprites */
m_screen->register_screen_bitmap(m_sprite_bitmap);
@@ -219,20 +222,19 @@ uint32_t tecmo16_state::screen_update(screen_device &screen, bitmap_rgb32 &bitma
{
m_tile_bitmap_bg.fill(0, cliprect);
m_tile_bitmap_fg.fill(0, cliprect);
- m_sprite_bitmap.fill(0, cliprect);
+ m_tile_bitmap_tx.fill(0, cliprect);
bitmap.fill(0, cliprect);
- if (m_game_is_riot) m_sprgen->gaiden_draw_sprites(screen, m_gfxdecode, cliprect, m_spriteram, 0, 0, flip_screen(), m_sprite_bitmap);
- else m_sprgen->gaiden_draw_sprites(screen, m_gfxdecode, cliprect, m_spriteram, 2, 0, flip_screen(), m_sprite_bitmap);
-
m_bg_tilemap->draw(screen, m_tile_bitmap_bg, cliprect, 0, 0);
m_fg_tilemap->draw(screen, m_tile_bitmap_fg, cliprect, 0, 0);
+ m_tx_tilemap->draw(screen, m_tile_bitmap_tx, cliprect, 0, 0);
- m_mixer->mix_bitmaps(screen, bitmap, cliprect, *m_palette, &m_tile_bitmap_bg, &m_tile_bitmap_fg, (bitmap_ind16*)nullptr, &m_sprite_bitmap);
-
- // todo, this should go through the mixer!
- m_tx_tilemap->draw(screen, bitmap, cliprect, 0, 0);
+ m_mixer->mix_bitmaps(screen, bitmap, cliprect, *m_palette, &m_tile_bitmap_bg, &m_tile_bitmap_fg, &m_tile_bitmap_tx, &m_sprite_bitmap);
+ // 2 frame sprite lags
+ m_sprite_bitmap.fill(0, cliprect);
+ if (m_game_is_riot) m_sprgen->gaiden_draw_sprites(screen, m_gfxdecode, cliprect, m_spriteram->buffer(), 0, 0, flip_screen(), m_sprite_bitmap);
+ else m_sprgen->gaiden_draw_sprites(screen, m_gfxdecode, cliprect, m_spriteram->buffer(), 2, 0, flip_screen(), m_sprite_bitmap);
return 0;
}