UINT32 f1gp_state::screen_update_f1gp2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { if (m_gfxctrl & 4) /* blank screen */ bitmap.fill(get_black_pen(machine()), cliprect); else { switch (m_gfxctrl & 3) { case 0: k053936_zoom_draw(m_k053936, bitmap, cliprect, m_roz_tilemap, TILEMAP_DRAW_OPAQUE, 0, 1); m_spr->draw_sprites(m_spritelist, 0x2000, machine(), bitmap, cliprect); m_fg_tilemap->draw(bitmap, cliprect, 0, 0); break; case 1: k053936_zoom_draw(m_k053936, bitmap, cliprect, m_roz_tilemap, TILEMAP_DRAW_OPAQUE, 0, 1); m_fg_tilemap->draw(bitmap, cliprect, 0, 0); m_spr->draw_sprites(m_spritelist, 0x2000, machine(), bitmap, cliprect); break; case 2: m_fg_tilemap->draw(bitmap, cliprect, TILEMAP_DRAW_OPAQUE, 0); k053936_zoom_draw(m_k053936, bitmap, cliprect, m_roz_tilemap, 0, 0, 1); m_spr->draw_sprites(m_spritelist, 0x2000, machine(), bitmap, cliprect); break; #ifdef MAME_DEBUG case 3: popmessage("unsupported priority 3\n"); #endif } } return 0; }
UINT32 polygonet_state::screen_update_polygonet(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { machine().priority_bitmap.fill(0); bitmap.fill(get_black_pen(machine()), cliprect); k053936_zoom_draw(m_k053936, bitmap, cliprect, m_roz_tilemap, 0, 0, 0); m_ttl_tilemap->draw(bitmap, cliprect, 0, 1<<0); return 0; }
UINT32 suprslam_state::screen_update_suprslam(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { m_screen_tilemap->set_scrollx(0, m_screen_vregs[0x04/2] ); bitmap.fill(get_black_pen(machine()), cliprect); k053936_zoom_draw(m_k053936, bitmap, cliprect, m_bg_tilemap, 0, 0, 1); if(!(m_spr_ctrl[0] & 8)) m_spr->draw_sprites(m_spriteram, m_spriteram.bytes(), machine(), bitmap, cliprect); m_screen_tilemap->draw(bitmap, cliprect, 0, 0); if(m_spr_ctrl[0] & 8) m_spr->draw_sprites(m_spriteram, m_spriteram.bytes(), machine(), bitmap, cliprect); return 0; }
UINT32 f1gp_state::screen_update_f1gp(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { machine().priority_bitmap.fill(0, cliprect); k053936_zoom_draw(m_k053936, bitmap, cliprect, m_roz_tilemap, 0, 0, 1); m_fg_tilemap->draw(bitmap, cliprect, 0, 1); /* quick kludge for "continue" screen priority */ if (m_gfxctrl == 0x00) { m_spr_old->turbofrc_draw_sprites(m_spr1vram, m_spr1vram.bytes(), 0, machine(), bitmap, cliprect, 0x02); m_spr_old2->turbofrc_draw_sprites(m_spr2vram, m_spr2vram.bytes(), 0, machine(), bitmap, cliprect, 0x02); } else { m_spr_old->turbofrc_draw_sprites(m_spr1vram, m_spr1vram.bytes(), 0, machine(), bitmap, cliprect, 0x00); m_spr_old2->turbofrc_draw_sprites(m_spr2vram, m_spr2vram.bytes(), 0, machine(), bitmap, cliprect, 0x02); } return 0; }
static void draw_fg(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect) { crshrace_state *state = machine.driver_data<crshrace_state>(); k053936_zoom_draw(state->m_k053936, bitmap, cliprect, state->m_tilemap1, 0, 0, 1); }
static void draw_fg(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect) { crshrace_state *state = machine->driver_data<crshrace_state>(); k053936_zoom_draw(state->k053936, bitmap, cliprect, state->tilemap1, 0, 0, 1); }