summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/video/sshangha.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/video/sshangha.c')
-rw-r--r--src/mame/video/sshangha.c23
1 files changed, 11 insertions, 12 deletions
diff --git a/src/mame/video/sshangha.c b/src/mame/video/sshangha.c
index 0782b2e933a..cac4abb913a 100644
--- a/src/mame/video/sshangha.c
+++ b/src/mame/video/sshangha.c
@@ -28,35 +28,34 @@ void sshangha_state::video_start()
/******************************************************************************/
-SCREEN_UPDATE_RGB32( sshangha )
+UINT32 sshangha_state::screen_update_sshangha(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
- sshangha_state *state = screen.machine().driver_data<sshangha_state>();
- screen.machine().device<decospr_device>("spritegen1")->draw_sprites(bitmap, cliprect, state->m_spriteram, 0x800, true);
+ screen.machine().device<decospr_device>("spritegen1")->draw_sprites(bitmap, cliprect, m_spriteram, 0x800, true);
// I'm pretty sure only the original has the 2nd spriteram, used for the Japanese text on the 2nd scene (non-scrolling text) in the intro of the quest (3rd in JPN) mode
- if (state->m_spriteram2 != NULL)
- screen.machine().device<decospr_device>("spritegen2")->draw_sprites(bitmap, cliprect, state->m_spriteram2, 0x800, true);
+ if (m_spriteram2 != NULL)
+ screen.machine().device<decospr_device>("spritegen2")->draw_sprites(bitmap, cliprect, m_spriteram2, 0x800, true);
- screen.machine().tilemap().set_flip_all(state->flip_screen_x() ? (TILEMAP_FLIPY | TILEMAP_FLIPX) : 0);
+ screen.machine().tilemap().set_flip_all(flip_screen_x() ? (TILEMAP_FLIPY | TILEMAP_FLIPX) : 0);
bitmap.fill(get_black_pen(screen.machine()), cliprect);
- deco16ic_pf_update(state->m_deco_tilegen1, state->m_pf1_rowscroll, state->m_pf2_rowscroll);
+ deco16ic_pf_update(m_deco_tilegen1, m_pf1_rowscroll, m_pf2_rowscroll);
/* the tilemap 4bpp + 4bpp = 8bpp mixing actually seems external to the tilemap, note video_control is not part of the tilemap chip */
- if ((state->m_video_control&4)==0) {
- deco16ic_tilemap_12_combine_draw(state->m_deco_tilegen1, bitmap, cliprect, 0, 0, 1);
+ if ((m_video_control&4)==0) {
+ deco16ic_tilemap_12_combine_draw(m_deco_tilegen1, bitmap, cliprect, 0, 0, 1);
screen.machine().device<decospr_device>("spritegen1")->inefficient_copy_sprite_bitmap(bitmap, cliprect, 0x0200, 0x0200, 0x100, 0x1ff);
}
else {
- deco16ic_tilemap_2_draw(state->m_deco_tilegen1, bitmap, cliprect, 0, 0);
+ deco16ic_tilemap_2_draw(m_deco_tilegen1, bitmap, cliprect, 0, 0);
screen.machine().device<decospr_device>("spritegen1")->inefficient_copy_sprite_bitmap(bitmap, cliprect, 0x0200, 0x0200, 0x100, 0x1ff);
- deco16ic_tilemap_1_draw(state->m_deco_tilegen1, bitmap, cliprect, 0, 0);
+ deco16ic_tilemap_1_draw(m_deco_tilegen1, bitmap, cliprect, 0, 0);
}
- if (state->m_spriteram2 != NULL)
+ if (m_spriteram2 != NULL)
screen.machine().device<decospr_device>("spritegen2")->inefficient_copy_sprite_bitmap(bitmap, cliprect, 0x0000, 0x0000, 0, 0x1ff);
screen.machine().device<decospr_device>("spritegen1")->inefficient_copy_sprite_bitmap(bitmap, cliprect, 0x0000, 0x0200, 0, 0x1ff);