diff options
142 files changed, 572 insertions, 579 deletions
diff --git a/src/emu/mame.h b/src/emu/mame.h index d698b6788c7..d9b9385dfc3 100644 --- a/src/emu/mame.h +++ b/src/emu/mame.h @@ -163,6 +163,7 @@ struct _running_machine const pen_t * pens; /* remapped palette pen numbers */ struct _colortable_t * colortable; /* global colortable for remapping */ pen_t * shadow_table; /* table for looking up a shadowed pen */ + bitmap_t *priority_bitmap; /* priority bitmap */ /* audio-related information */ int sample_rate; /* the digital audio sample rate */ diff --git a/src/emu/tilemap.c b/src/emu/tilemap.c index 71c9cb334bf..07fa6dc1ab3 100644 --- a/src/emu/tilemap.c +++ b/src/emu/tilemap.c @@ -126,8 +126,6 @@ struct _tilemap GLOBAL VARIABLES ***************************************************************************/ -bitmap_t * priority_bitmap; - static tilemap * tilemap_list; static tilemap ** tilemap_tailptr; static int tilemap_instance; @@ -303,7 +301,7 @@ void tilemap_init(running_machine *machine) tilemap_tailptr = &tilemap_list; tilemap_instance = 0; - priority_bitmap = auto_bitmap_alloc(machine, screen_width, screen_height, BITMAP_FORMAT_INDEXED8); + machine->priority_bitmap = auto_bitmap_alloc(machine, screen_width, screen_height, BITMAP_FORMAT_INDEXED8); add_exit_callback(machine, tilemap_exit); } } @@ -1564,6 +1562,7 @@ static void configure_blit_parameters(blit_parameters *blit, tilemap *tmap, bitm static void tilemap_draw_instance(tilemap *tmap, const blit_parameters *blit, int xpos, int ypos) { + bitmap_t *priority_bitmap = tmap->machine->priority_bitmap; bitmap_t *dest = blit->bitmap; const UINT16 *source_baseaddr; const UINT8 *mask_baseaddr; @@ -1743,6 +1742,7 @@ static void tilemap_draw_roz_core(tilemap *tmap, const blit_parameters *blit, UINT32 startx, UINT32 starty, int incxx, int incxy, int incyx, int incyy, int wraparound) { const pen_t *clut = &tmap->machine->pens[blit->tilemap_priority_code >> 16]; + bitmap_t *priority_bitmap = tmap->machine->priority_bitmap; bitmap_t *destbitmap = blit->bitmap; bitmap_t *srcbitmap = tmap->pixmap; bitmap_t *flagsmap = tmap->flagsmap; diff --git a/src/emu/tilemap.h b/src/emu/tilemap.h index ca1e6a65372..b5541e2a582 100644 --- a/src/emu/tilemap.h +++ b/src/emu/tilemap.h @@ -408,14 +408,6 @@ typedef tilemap_memory_index (*tilemap_mapper_func)(UINT32 col, UINT32 row, UINT /*************************************************************************** - GLOBAL VARIABLES -***************************************************************************/ - -extern bitmap_t *priority_bitmap; - - - -/*************************************************************************** FUNCTION PROTOTYPES ***************************************************************************/ diff --git a/src/mame/drivers/backfire.c b/src/mame/drivers/backfire.c index 106d69dbdb4..f080f7a5845 100644 --- a/src/mame/drivers/backfire.c +++ b/src/mame/drivers/backfire.c @@ -158,7 +158,7 @@ static void draw_sprites(running_machine *machine,bitmap_t *bitmap,const rectang colour, fx,fy, x,y + mult * multi, - priority_bitmap,pri,0); + machine->priority_bitmap,pri,0); multi--; } @@ -181,7 +181,7 @@ static VIDEO_UPDATE(backfire) if (screen == left_screen) { - bitmap_fill(priority_bitmap,NULL,0); + bitmap_fill(screen->machine->priority_bitmap,NULL,0); bitmap_fill(bitmap,cliprect,0x100); if (backfire_left_priority[0] == 0) @@ -201,7 +201,7 @@ static VIDEO_UPDATE(backfire) } else if (screen == right_screen) { - bitmap_fill(priority_bitmap,NULL,0); + bitmap_fill(screen->machine->priority_bitmap,NULL,0); bitmap_fill(bitmap,cliprect,0x500); if (backfire_right_priority[0] == 0) diff --git a/src/mame/drivers/bnstars.c b/src/mame/drivers/bnstars.c index 469d28d711b..d1a0f4adef3 100644 --- a/src/mame/drivers/bnstars.c +++ b/src/mame/drivers/bnstars.c @@ -448,7 +448,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta color, flipx, flipy, sx,sy, - xzoom, yzoom, priority_bitmap,pri_mask, 0); + xzoom, yzoom, machine->priority_bitmap,pri_mask, 0); } /* end sprite loop */ } @@ -489,7 +489,7 @@ static VIDEO_UPDATE(bnstars) const device_config *left_screen = devtag_get_device(screen->machine, "lscreen"); const device_config *right_screen = devtag_get_device(screen->machine, "rscreen"); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); if (screen==left_screen) { diff --git a/src/mame/drivers/dblewing.c b/src/mame/drivers/dblewing.c index ca2463b4697..4977a942ccd 100644 --- a/src/mame/drivers/dblewing.c +++ b/src/mame/drivers/dblewing.c @@ -124,7 +124,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan colour, fx,fy, x,y + mult * multi, - priority_bitmap,pri,0); + machine->priority_bitmap,pri,0); if (xsize) pdrawgfx_transpen(bitmap,cliprect,machine->gfx[2], @@ -132,7 +132,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan colour, fx,fy, x-16,y + mult * multi, - priority_bitmap,pri,0); + machine->priority_bitmap,pri,0); multi--; @@ -159,7 +159,7 @@ static VIDEO_UPDATE(dblewing) deco16_pf12_update(deco16_pf1_rowscroll,deco16_pf2_rowscroll); bitmap_fill(bitmap,cliprect,0); /* not Confirmed */ - bitmap_fill(priority_bitmap,NULL,0); + bitmap_fill(screen->machine->priority_bitmap,NULL,0); deco16_tilemap_2_draw(screen,bitmap,cliprect,0,2); deco16_tilemap_1_draw(screen,bitmap,cliprect,0,4); diff --git a/src/mame/drivers/deco156.c b/src/mame/drivers/deco156.c index 46d784a3b68..022385ef9cd 100644 --- a/src/mame/drivers/deco156.c +++ b/src/mame/drivers/deco156.c @@ -124,7 +124,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan colour, fx,fy, x,y + mult * multi, - priority_bitmap,pri,0); + machine->priority_bitmap,pri,0); multi--; } @@ -135,7 +135,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan static VIDEO_UPDATE( wcvol95 ) { - bitmap_fill(priority_bitmap,NULL,0); + bitmap_fill(screen->machine->priority_bitmap,NULL,0); bitmap_fill(bitmap,NULL,0); deco16_pf12_update(deco16_pf1_rowscroll,deco16_pf2_rowscroll); diff --git a/src/mame/drivers/fcrash.c b/src/mame/drivers/fcrash.c index 4259694d207..7739dce0cd3 100644 --- a/src/mame/drivers/fcrash.c +++ b/src/mame/drivers/fcrash.c @@ -147,7 +147,7 @@ static void fcrash_render_sprites(running_machine *machine, bitmap_t *bitmap,con colour = cps1_gfxram[base+pos+1]&0x1f; ypos = 256-ypos; - pdrawgfx_transpen(bitmap,cliprect,machine->gfx[2],tileno,colour,flipx,flipy,xpos+49,ypos-16,priority_bitmap,0x02,15); + pdrawgfx_transpen(bitmap,cliprect,machine->gfx[2],tileno,colour,flipx,flipy,xpos+49,ypos-16,machine->priority_bitmap,0x02,15); } @@ -257,7 +257,7 @@ static VIDEO_UPDATE( fcrash ) /* Blank screen */ bitmap_fill(bitmap,cliprect,0xbff); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); l0 = (layercontrol >> 0x06) & 03; l1 = (layercontrol >> 0x08) & 03; l2 = (layercontrol >> 0x0a) & 03; @@ -328,7 +328,7 @@ static VIDEO_UPDATE( kodb ) /* Blank screen */ bitmap_fill(bitmap,cliprect,0xbff); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); l0 = (layercontrol >> 0x06) & 03; l1 = (layercontrol >> 0x08) & 03; l2 = (layercontrol >> 0x0a) & 03; diff --git a/src/mame/drivers/limenko.c b/src/mame/drivers/limenko.c index 0e39098b88b..0f58c1b45ff 100644 --- a/src/mame/drivers/limenko.c +++ b/src/mame/drivers/limenko.c @@ -401,7 +401,7 @@ static void draw_sprites(running_machine *machine, UINT32 *sprites, const rectan } } -static void copy_sprites(running_machine *machine, bitmap_t *bitmap, bitmap_t *sprites_bitmap, const rectangle *cliprect) +static void copy_sprites(bitmap_t *bitmap, bitmap_t *sprites_bitmap, bitmap_t *priority_bitmap, const rectangle *cliprect) { int y; for( y=cliprect->min_y; y<=cliprect->max_y; y++ ) @@ -440,7 +440,7 @@ static VIDEO_UPDATE( limenko ) { // limenko_videoreg[4] ???? It always has this value: 0xffeffff8 (2 signed bytes? values: -17 and -8 ?) - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); tilemap_set_enable(bg_tilemap, limenko_videoreg[0] & 4); tilemap_set_enable(md_tilemap, limenko_videoreg[0] & 2); @@ -459,7 +459,7 @@ static VIDEO_UPDATE( limenko ) tilemap_draw(bitmap,cliprect,fg_tilemap,0,1); if(limenko_videoreg[0] & 8) - copy_sprites(screen->machine, bitmap, sprites_bitmap, cliprect); + copy_sprites(bitmap, sprites_bitmap, screen->machine->priority_bitmap, cliprect); return 0; } diff --git a/src/mame/drivers/mwarr.c b/src/mame/drivers/mwarr.c index 4a6229efad2..3e64a41b5d8 100644 --- a/src/mame/drivers/mwarr.c +++ b/src/mame/drivers/mwarr.c @@ -361,7 +361,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta color, flipx,0, x,y+i*16, - priority_bitmap,pri_mask,0 ); + machine->priority_bitmap,pri_mask,0 ); /* wrap around x */ pdrawgfx_transpen( bitmap, @@ -371,7 +371,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta color, flipx,0, x-1024,y+i*16, - priority_bitmap,pri_mask,0 ); + machine->priority_bitmap,pri_mask,0 ); /* wrap around y */ pdrawgfx_transpen( bitmap, @@ -381,7 +381,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta color, flipx,0, x,y-512+i*16, - priority_bitmap,pri_mask,0 ); + machine->priority_bitmap,pri_mask,0 ); /* wrap around x & y */ pdrawgfx_transpen( bitmap, @@ -391,7 +391,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta color, flipx,0, x-1024,y-512+i*16, - priority_bitmap,pri_mask,0 ); + machine->priority_bitmap,pri_mask,0 ); } } @@ -403,7 +403,7 @@ static VIDEO_UPDATE( mwarr ) { int i; - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); if(vidattrram[6] & 1) { diff --git a/src/mame/drivers/namcoic.c b/src/mame/drivers/namcoic.c index d5371694b95..73bc0705c3f 100644 --- a/src/mame/drivers/namcoic.c +++ b/src/mame/drivers/namcoic.c @@ -341,6 +341,7 @@ static void zdrawgfxzoom( if( ex>sx ) { /* skip if inner loop doesn't draw anything */ int y; + bitmap_t *priority_bitmap = gfx->machine->priority_bitmap; if( priority_bitmap ) { for( y=sy; y<ey; y++ ) @@ -416,7 +417,7 @@ namcos2_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle int loop; if( pri==0 ) { - bitmap_fill( priority_bitmap, cliprect , 0); + bitmap_fill( machine->priority_bitmap, cliprect , 0); } for( loop=0; loop < 128; loop++ ) { @@ -527,7 +528,7 @@ namcos2_draw_sprites_metalhawk(running_machine *machine, bitmap_t *bitmap, const int loop; if( pri==0 ) { - bitmap_fill( priority_bitmap, cliprect , 0); + bitmap_fill( machine->priority_bitmap, cliprect , 0); } for( loop=0; loop < 128; loop++ ) { @@ -945,7 +946,7 @@ namco_obj_draw(running_machine *machine, bitmap_t *bitmap, const rectangle *clip // int offs = spriteram16[0x18000/2]; /* end-of-sprite-list */ if( pri==0 ) { - bitmap_fill( priority_bitmap, cliprect , 0); + bitmap_fill( machine->priority_bitmap, cliprect , 0); } // if( offs==0 ) { /* boot */ diff --git a/src/mame/drivers/namcos23.c b/src/mame/drivers/namcos23.c index 027c256ac44..57f7073a778 100644 --- a/src/mame/drivers/namcos23.c +++ b/src/mame/drivers/namcos23.c @@ -877,7 +877,7 @@ DrawPoly( bitmap_t *bitmap, const UINT32 *pSource, int n, int bNew ) static VIDEO_UPDATE( ss23 ) { bitmap_fill(bitmap, cliprect, get_black_pen(screen->machine)); - bitmap_fill(priority_bitmap, cliprect, 0); + bitmap_fill(screen->machine->priority_bitmap, cliprect, 0); tilemap_mark_all_tiles_dirty(bgtilemap); tilemap_draw( bitmap, cliprect, bgtilemap, 0/*flags*/, 0/*priority*/ ); /* opaque */ diff --git a/src/mame/drivers/vmetal.c b/src/mame/drivers/vmetal.c index 179c8aecf19..209e8e4d6e1 100644 --- a/src/mame/drivers/vmetal.c +++ b/src/mame/drivers/vmetal.c @@ -407,7 +407,7 @@ static VIDEO_START(varia) static VIDEO_UPDATE(varia) { bitmap_fill(bitmap, cliprect, get_black_pen(screen->machine)); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); tilemap_set_scrollx(vmetal_mid2tilemap,0, vmetal_videoregs[0x06a/2]-64 /*+ vmetal_videoregs[0x066/2]*/); tilemap_set_scrollx(vmetal_mid1tilemap,0, vmetal_videoregs[0x07a/2]-64 /*+ vmetal_videoregs[0x076/2]*/); diff --git a/src/mame/machine/konamigx.c b/src/mame/machine/konamigx.c index 06da1d01f27..975e6e2e50b 100644 --- a/src/mame/machine/konamigx.c +++ b/src/mame/machine/konamigx.c @@ -1046,7 +1046,7 @@ void konamigx_mixer_init(running_machine *machine, int objdma) gx_objdma = 0; gx_primode = 0; - gx_objzbuf = (UINT8 *)priority_bitmap->base; + gx_objzbuf = (UINT8 *)machine->priority_bitmap->base; gx_shdzbuf = auto_alloc_array(machine, UINT8, GX_ZBUFSIZE); gx_objpool = auto_alloc_array(machine, struct GX_OBJ, GX_MAX_OBJECTS); diff --git a/src/mame/video/aerofgt.c b/src/mame/video/aerofgt.c index 9a03ead7eb5..759293feb79 100644 --- a/src/mame/video/aerofgt.c +++ b/src/mame/video/aerofgt.c @@ -460,7 +460,7 @@ static void turbofrc_draw_sprites(running_machine *machine, bitmap_t *bitmap,con flipx,flipy, sx,sy, zoomx << 11, zoomy << 11, - priority_bitmap,pri ? 0 : 2,15); + machine->priority_bitmap,pri ? 0 : 2,15); map_start++; } @@ -534,7 +534,7 @@ static void spinlbrk_draw_sprites(running_machine *machine, bitmap_t *bitmap,con flipx,flipy, sx,sy, zoomx << 11, zoomy << 11, - priority_bitmap,pri ? 2 : 0,15); + machine->priority_bitmap,pri ? 2 : 0,15); map_start++; } @@ -609,7 +609,7 @@ static void aerfboo2_draw_sprites(running_machine *machine, bitmap_t *bitmap,con flipx,flipy, sx,sy, zoomx << 11, zoomy << 11, - priority_bitmap,pri ? 0 : 2,15); + machine->priority_bitmap,pri ? 0 : 2,15); map_start++; } @@ -731,7 +731,7 @@ static void aerfboot_draw_sprites(running_machine *machine, bitmap_t *bitmap,con flipx,flipy, sx,sy, zoomx << 11,zoomy << 11, - priority_bitmap,pri ? 0 : 2,15); + machine->priority_bitmap,pri ? 0 : 2,15); } @@ -768,7 +768,7 @@ static void aerfboot_draw_sprites(running_machine *machine, bitmap_t *bitmap,con flipx,flipy, sx,sy, zoomx << 11,zoomy << 11, - priority_bitmap,pri ? 0 : 2,15); + machine->priority_bitmap,pri ? 0 : 2,15); } } @@ -803,7 +803,7 @@ VIDEO_UPDATE( pspikes ) tilemap_set_scrollx(bg1_tilemap,(i + scrolly) & 0xff,aerofgt_rasterram[i]); tilemap_set_scrolly(bg1_tilemap,0,scrolly); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); tilemap_draw(bitmap,cliprect,bg1_tilemap,0,0); turbofrc_draw_sprites(screen->machine,bitmap,cliprect,0,-1); @@ -873,7 +873,7 @@ VIDEO_UPDATE( karatblz ) tilemap_set_scrollx(bg2_tilemap,0,bg2scrollx-4); tilemap_set_scrolly(bg2_tilemap,0,bg2scrolly); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); tilemap_draw(bitmap,cliprect,bg1_tilemap,0,0); tilemap_draw(bitmap,cliprect,bg2_tilemap,0,0); @@ -898,7 +898,7 @@ VIDEO_UPDATE( spinlbrk ) tilemap_set_scrollx(bg2_tilemap,0,bg2scrollx-4); // tilemap_set_scrolly(bg2_tilemap,0,bg2scrolly); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); tilemap_draw(bitmap,cliprect,bg1_tilemap,0,0); tilemap_draw(bitmap,cliprect,bg2_tilemap,0,1); @@ -924,7 +924,7 @@ VIDEO_UPDATE( turbofrc ) tilemap_set_scrollx(bg2_tilemap,0,bg2scrollx-7); tilemap_set_scrolly(bg2_tilemap,0,bg2scrolly+2); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); tilemap_draw(bitmap,cliprect,bg1_tilemap,0,0); tilemap_draw(bitmap,cliprect,bg2_tilemap,0,1); @@ -944,7 +944,7 @@ VIDEO_UPDATE( aerofgt ) tilemap_set_scrollx(bg2_tilemap,0,aerofgt_rasterram[0x0200]-20); tilemap_set_scrolly(bg2_tilemap,0,bg2scrolly); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); tilemap_draw(bitmap,cliprect,bg1_tilemap,0,0); @@ -971,7 +971,7 @@ VIDEO_UPDATE( aerfboot ) tilemap_set_scrollx(bg2_tilemap,0,bg2scrollx+172); tilemap_set_scrolly(bg2_tilemap,0,bg2scrolly+2); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); tilemap_draw(bitmap,cliprect,bg1_tilemap,0,0); tilemap_draw(bitmap,cliprect,bg2_tilemap,0,1); @@ -994,7 +994,7 @@ VIDEO_UPDATE( aerfboo2 ) tilemap_set_scrollx(bg2_tilemap,0,bg2scrollx-7); tilemap_set_scrolly(bg2_tilemap,0,bg2scrolly+2); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); tilemap_draw(bitmap,cliprect,bg1_tilemap,0,0); tilemap_draw(bitmap,cliprect,bg2_tilemap,0,1); @@ -1017,7 +1017,7 @@ VIDEO_UPDATE( wbbc97 ) tilemap_set_scrollx(bg1_tilemap,(i + scrolly) & 0xff,aerofgt_rasterram[i]); tilemap_set_scrolly(bg1_tilemap,0,scrolly); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); if(wbbc97_bitmap_enable) { diff --git a/src/mame/video/ajax.c b/src/mame/video/ajax.c index 19b50cad488..83f83359bd3 100644 --- a/src/mame/video/ajax.c +++ b/src/mame/video/ajax.c @@ -94,7 +94,7 @@ VIDEO_UPDATE( ajax ) { K052109_tilemap_update(); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); bitmap_fill(bitmap,cliprect,get_black_pen(screen->machine)); tilemap_draw(bitmap,cliprect,K052109_tilemap[2],0,1); diff --git a/src/mame/video/aliens.c b/src/mame/video/aliens.c index f9ed82804a0..901eff1b4a5 100644 --- a/src/mame/video/aliens.c +++ b/src/mame/video/aliens.c @@ -75,7 +75,7 @@ VIDEO_UPDATE( aliens ) { K052109_tilemap_update(); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); bitmap_fill(bitmap,cliprect,layer_colorbase[1] * 16); tilemap_draw(bitmap,cliprect,K052109_tilemap[1],0,1); tilemap_draw(bitmap,cliprect,K052109_tilemap[2],0,2); diff --git a/src/mame/video/asterix.c b/src/mame/video/asterix.c index c0fe1bd3b22..9585bb74c55 100644 --- a/src/mame/video/asterix.c +++ b/src/mame/video/asterix.c @@ -116,7 +116,7 @@ VIDEO_UPDATE( asterix ) sortlayers(layer, layerpri); - bitmap_fill(priority_bitmap, cliprect, 0); + bitmap_fill(screen->machine->priority_bitmap, cliprect, 0); bitmap_fill(bitmap, cliprect, 0); K056832_tilemap_draw(screen->machine, bitmap, cliprect, layer[0], 0, 1); diff --git a/src/mame/video/asuka.c b/src/mame/video/asuka.c index 54a2d2c496a..e3429369200 100644 --- a/src/mame/video/asuka.c +++ b/src/mame/video/asuka.c @@ -53,7 +53,7 @@ VIDEO_UPDATE( asuka ) layer[1] = layer[0]^1; layer[2] = 2; - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); /* Ensure screen blanked even when bottom layer not drawn due to disable bit */ bitmap_fill(bitmap, cliprect, 0); @@ -78,7 +78,7 @@ VIDEO_UPDATE( bonzeadv ) layer[1] = layer[0]^1; layer[2] = 2; - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); /* Ensure screen blanked even when bottom layer not drawn due to disable bit */ bitmap_fill(bitmap, cliprect, 0); diff --git a/src/mame/video/atarig42.c b/src/mame/video/atarig42.c index 3d45bb76a11..85874898692 100644 --- a/src/mame/video/atarig42.c +++ b/src/mame/video/atarig42.c @@ -227,6 +227,8 @@ void atarig42_scanline_update(const device_config *screen, int scanline) VIDEO_UPDATE( atarig42 ) { + bitmap_t *priority_bitmap = screen->machine->priority_bitmap; + /* draw the playfield */ bitmap_fill(priority_bitmap, cliprect, 0); tilemap_draw(bitmap, cliprect, atarigen_playfield_tilemap, 0, 0); diff --git a/src/mame/video/atarigx2.c b/src/mame/video/atarigx2.c index 2b8462b8280..b4b347c5f61 100644 --- a/src/mame/video/atarigx2.c +++ b/src/mame/video/atarigx2.c @@ -225,6 +225,8 @@ void atarigx2_scanline_update(const device_config *screen, int scanline) VIDEO_UPDATE( atarigx2 ) { + bitmap_t *priority_bitmap = screen->machine->priority_bitmap; + /* draw the playfield */ bitmap_fill(priority_bitmap, cliprect, 0); tilemap_draw(bitmap, cliprect, atarigen_playfield_tilemap, 0, 0); diff --git a/src/mame/video/atarisy2.c b/src/mame/video/atarisy2.c index 01c1a444d28..8b12e69fd67 100644 --- a/src/mame/video/atarisy2.c +++ b/src/mame/video/atarisy2.c @@ -329,6 +329,7 @@ WRITE16_HANDLER( atarisy2_videoram_w ) VIDEO_UPDATE( atarisy2 ) { + bitmap_t *priority_bitmap = screen->machine->priority_bitmap; atarimo_rect_list rectlist; bitmap_t *mobitmap; int x, y, r; diff --git a/src/mame/video/batman.c b/src/mame/video/batman.c index 529705c3674..cd5b1b6ce91 100644 --- a/src/mame/video/batman.c +++ b/src/mame/video/batman.c @@ -201,6 +201,7 @@ void batman_scanline_update(const device_config *screen, int scanline) VIDEO_UPDATE( batman ) { + bitmap_t *priority_bitmap = screen->machine->priority_bitmap; atarimo_rect_list rectlist; bitmap_t *mobitmap; int x, y, r; diff --git a/src/mame/video/bishi.c b/src/mame/video/bishi.c index dd42f912aad..0a0caa403eb 100644 --- a/src/mame/video/bishi.c +++ b/src/mame/video/bishi.c @@ -83,7 +83,7 @@ VIDEO_UPDATE(bishi) sortlayers(layers, layerpri); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); for (i = 0; i < 4; i++) { diff --git a/src/mame/video/blmbycar.c b/src/mame/video/blmbycar.c index 4dcfbac666b..230ae809c71 100644 --- a/src/mame/video/blmbycar.c +++ b/src/mame/video/blmbycar.c @@ -205,7 +205,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta 0x20 + (attr & 0xf), flipx, flipy, x, y, - priority_bitmap, + machine->priority_bitmap, pri_mask,0 ); } } @@ -242,7 +242,7 @@ if (input_code_pressed(KEYCODE_Z)) } #endif - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); if (layers_ctrl&1) for (i = 0; i <= 1; i++) diff --git a/src/mame/video/blockhl.c b/src/mame/video/blockhl.c index 027becd9c5f..41837dbd73b 100644 --- a/src/mame/video/blockhl.c +++ b/src/mame/video/blockhl.c @@ -54,7 +54,7 @@ VIDEO_START( blockhl ) VIDEO_UPDATE( blockhl ) { - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); K052109_tilemap_update(); diff --git a/src/mame/video/bloodbro.c b/src/mame/video/bloodbro.c index cb42601f36f..b044003fb4a 100644 --- a/src/mame/video/bloodbro.c +++ b/src/mame/video/bloodbro.c @@ -175,7 +175,7 @@ static void bloodbro_draw_sprites(running_machine *machine, bitmap_t *bitmap, co color, flipx,flipy, flipx ? (sx + 16*(width-x)) : (sx + 16*x),flipy ? (sy + 16*(height-y)) : (sy + 16*y), - priority_bitmap, + machine->priority_bitmap, pri_mask,15); } } @@ -219,7 +219,7 @@ static void weststry_draw_sprites(running_machine *machine, bitmap_t *bitmap, co color, flipx,flipy, sx,sy, - priority_bitmap, + machine->priority_bitmap, pri_mask,15); } } @@ -233,7 +233,7 @@ VIDEO_UPDATE( bloodbro ) tilemap_set_scrollx(fg_tilemap,0,bloodbro_scroll[0x12]); tilemap_set_scrolly(fg_tilemap,0,bloodbro_scroll[0x13]); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); tilemap_draw(bitmap,cliprect,bg_tilemap,0,0); tilemap_draw(bitmap,cliprect,fg_tilemap,0,1); @@ -249,7 +249,7 @@ VIDEO_UPDATE( weststry ) // tilemap_set_scrollx(fg_tilemap,0,bloodbro_scroll[0x12]); // tilemap_set_scrolly(fg_tilemap,0,bloodbro_scroll[0x13]); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); tilemap_draw(bitmap,cliprect,bg_tilemap,0,0); tilemap_draw(bitmap,cliprect,fg_tilemap,0,1); @@ -266,7 +266,7 @@ VIDEO_UPDATE( skysmash ) tilemap_set_scrollx(fg_tilemap,0,bloodbro_scroll[0x0a]); tilemap_set_scrolly(fg_tilemap,0,bloodbro_scroll[0x0b]); /* ? */ - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); tilemap_draw(bitmap,cliprect,bg_tilemap,0,0); tilemap_draw(bitmap,cliprect,fg_tilemap,0,1); diff --git a/src/mame/video/boogwing.c b/src/mame/video/boogwing.c index 16df24de5c6..be8f261aa47 100644 --- a/src/mame/video/boogwing.c +++ b/src/mame/video/boogwing.c @@ -163,7 +163,7 @@ VIDEO_UPDATE(boogwing) /* Draw playfields */ deco16_clear_sprite_priority_bitmap(); bitmap_fill(bitmap,cliprect,screen->machine->pens[0x400]); /* pen not confirmed */ - bitmap_fill(priority_bitmap,NULL,0); + bitmap_fill(screen->machine->priority_bitmap,NULL,0); // bit&0x8 is definitely some kind of palette effect // bit&0x4 combines playfields diff --git a/src/mame/video/cninja.c b/src/mame/video/cninja.c index 076de344e99..1abe2df94bf 100644 --- a/src/mame/video/cninja.c +++ b/src/mame/video/cninja.c @@ -210,7 +210,7 @@ static void cninja_draw_sprites(running_machine *machine, bitmap_t *bitmap, cons colour, fx,fy, x,y + mult * multi, - priority_bitmap,pri,0); + machine->priority_bitmap,pri,0); multi--; } @@ -278,7 +278,7 @@ static void robocop2_draw_sprites(running_machine *machine, bitmap_t *bitmap, co colour, fx,fy, x,y + mult * multi, - priority_bitmap,pri,0); + machine->priority_bitmap,pri,0); multi--; } @@ -383,7 +383,7 @@ static void mutantf_draw_sprites(running_machine *machine, bitmap_t *bitmap, con colour, fx,fy, sx + x_mult * (w-x),sy + y_mult * (h-y), - priority_bitmap,0, + machine->priority_bitmap,0, 0,alpha); } } @@ -401,7 +401,7 @@ VIDEO_UPDATE( cninja ) deco16_pf34_update(deco16_pf3_rowscroll,deco16_pf4_rowscroll); /* Draw playfields */ - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); bitmap_fill(bitmap,cliprect,512); deco16_tilemap_4_draw(screen,bitmap,cliprect,TILEMAP_DRAW_OPAQUE,1); deco16_tilemap_3_draw(screen,bitmap,cliprect,0,2); @@ -418,7 +418,7 @@ VIDEO_UPDATE( edrandy ) deco16_pf12_update(deco16_pf1_rowscroll,deco16_pf2_rowscroll); deco16_pf34_update(deco16_pf3_rowscroll,deco16_pf4_rowscroll); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); bitmap_fill(bitmap,cliprect,0); deco16_tilemap_4_draw(screen,bitmap,cliprect,TILEMAP_DRAW_OPAQUE,1); if (deco16_raster_display_position) @@ -450,7 +450,7 @@ VIDEO_UPDATE( robocop2 ) deco16_pf34_update(deco16_pf3_rowscroll,deco16_pf4_rowscroll); /* Draw playfields */ - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); bitmap_fill(bitmap,cliprect,0x200); if ((deco16_priority&4)==0) deco16_tilemap_4_draw(screen,bitmap,cliprect,TILEMAP_DRAW_OPAQUE,1); @@ -510,14 +510,14 @@ VIDEO_UPDATE( mutantf ) then when two alpha blended shadows overlapped then they would be 25% transparent against the background, rather than 50% */ if (deco16_priority&1) { - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); mutantf_draw_sprites(screen->machine,bitmap,cliprect,buffered_spriteram16,3); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); mutantf_draw_sprites(screen->machine,bitmap,cliprect,buffered_spriteram16_2,4); } else { - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); mutantf_draw_sprites(screen->machine,bitmap,cliprect,buffered_spriteram16_2,4); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); mutantf_draw_sprites(screen->machine,bitmap,cliprect,buffered_spriteram16,3); } deco16_tilemap_1_draw(screen,bitmap,cliprect,0,0); diff --git a/src/mame/video/combatsc.c b/src/mame/video/combatsc.c index c599c950c0a..a6a3a1e2fd1 100644 --- a/src/mame/video/combatsc.c +++ b/src/mame/video/combatsc.c @@ -516,7 +516,7 @@ VIDEO_UPDATE( combasc ) tilemap_set_scrolly(bg_tilemap[0],0,K007121_ctrlram[0][0x02]); tilemap_set_scrolly(bg_tilemap[1],0,K007121_ctrlram[1][0x02]); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); if (priority == 0) { diff --git a/src/mame/video/cps1.c b/src/mame/video/cps1.c index efbd3983315..21d90b22b42 100644 --- a/src/mame/video/cps1.c +++ b/src/mame/video/cps1.c @@ -2217,14 +2217,14 @@ static void cps1_render_sprites(running_machine *machine, bitmap_t *bitmap, cons CODE, \ COLOR, \ !(FLIPX),!(FLIPY), \ - 511-16-(SX),255-16-(SY), priority_bitmap,0x02,15); \ + 511-16-(SX),255-16-(SY), machine->priority_bitmap,0x02,15); \ else \ pdrawgfx_transpen(bitmap,\ cliprect,machine->gfx[2], \ CODE, \ COLOR, \ FLIPX,FLIPY, \ - SX,SY, priority_bitmap,0x02,15); \ + SX,SY, machine->priority_bitmap,0x02,15); \ } @@ -2453,14 +2453,14 @@ static void cps2_render_sprites(running_machine *machine, bitmap_t *bitmap,const CODE, \ COLOR, \ !(FLIPX),!(FLIPY), \ - 511-16-(SX),255-16-(SY), priority_bitmap,primasks[priority],15); \ + 511-16-(SX),255-16-(SY), machine->priority_bitmap,primasks[priority],15); \ else \ pdrawgfx_transpen(bitmap,\ cliprect,machine->gfx[2], \ CODE, \ COLOR, \ FLIPX,FLIPY, \ - SX,SY, priority_bitmap,primasks[priority],15); \ + SX,SY, machine->priority_bitmap,primasks[priority],15); \ } int i; @@ -2765,7 +2765,7 @@ VIDEO_UPDATE( cps1 ) l1 = (layercontrol >> 0x08) & 03; l2 = (layercontrol >> 0x0a) & 03; l3 = (layercontrol >> 0x0c) & 03; - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); if (cps_version == 1) { diff --git a/src/mame/video/dassault.c b/src/mame/video/dassault.c index cd2dee63726..6d77e1b3d9e 100644 --- a/src/mame/video/dassault.c +++ b/src/mame/video/dassault.c @@ -170,7 +170,7 @@ VIDEO_UPDATE( dassault ) /* Draw playfields/update priority bitmap */ deco16_clear_sprite_priority_bitmap(); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); bitmap_fill(bitmap,cliprect,screen->machine->pens[3072]); deco16_tilemap_4_draw(screen,bitmap,cliprect,TILEMAP_DRAW_OPAQUE,0); diff --git a/src/mame/video/dbz.c b/src/mame/video/dbz.c index 25c455dc0db..1de6278ab60 100644 --- a/src/mame/video/dbz.c +++ b/src/mame/video/dbz.c @@ -157,7 +157,7 @@ VIDEO_UPDATE( dbz ) sortlayers(layer, layerpri); - bitmap_fill(priority_bitmap, cliprect, 0); + bitmap_fill(screen->machine->priority_bitmap, cliprect, 0); for(plane = 0; plane < 5; plane++) { diff --git a/src/mame/video/dcon.c b/src/mame/video/dcon.c index 16ee3e562a1..579db7d1792 100644 --- a/src/mame/video/dcon.c +++ b/src/mame/video/dcon.c @@ -190,76 +190,76 @@ static void draw_sprites(running_machine* machine, bitmap_t *bitmap,const rectan pdrawgfx_transpen(bitmap,cliprect,machine->gfx[4], sprite + inc, color,fx,fy,x+ax*16,y+ay*16, - priority_bitmap,pri_mask,15); + machine->priority_bitmap,pri_mask,15); // wrap around y pdrawgfx_transpen(bitmap,cliprect,machine->gfx[4], sprite + inc, color,fx,fy,x+ax*16,y+ay*16 + 512, - priority_bitmap,pri_mask,15); + machine->priority_bitmap,pri_mask,15); // wrap around y pdrawgfx_transpen(bitmap,cliprect,machine->gfx[4], sprite + inc, color,fx,fy,x+ax*16,y+ay*16 - 512, - priority_bitmap,pri_mask,15); + machine->priority_bitmap,pri_mask,15); } else if (fx && !fy) { pdrawgfx_transpen(bitmap,cliprect,machine->gfx[4], sprite + inc, color,fx,fy,x+(dx-1-ax)*16,y+ay*16, - priority_bitmap,pri_mask,15); + machine->priority_bitmap,pri_mask,15); // wrap around y pdrawgfx_transpen(bitmap,cliprect,machine->gfx[4], sprite + inc, color,fx,fy,x+(dx-1-ax)*16,y+ay*16 + 512, - priority_bitmap,pri_mask,15); + machine->priority_bitmap,pri_mask,15); // wrap around y pdrawgfx_transpen(bitmap,cliprect,machine->gfx[4], sprite + inc, color,fx,fy,x+(dx-1-ax)*16,y+ay*16 - 512, - priority_bitmap,pri_mask,15); + machine->priority_bitmap,pri_mask,15); } else if (!fx && fy) { pdrawgfx_transpen(bitmap,cliprect,machine->gfx[4], sprite + inc, color,fx,fy,x+ax*16,y+(dy-1-ay)*16, - priority_bitmap,pri_mask,15); + machine->priority_bitmap,pri_mask,15); // wrap around y pdrawgfx_transpen(bitmap,cliprect,machine->gfx[4], sprite + inc, color,fx,fy,x+ax*16,y+(dy-1-ay)*16 + 512, - priority_bitmap,pri_mask,15); + machine->priority_bitmap,pri_mask,15); // wrap around y pdrawgfx_transpen(bitmap,cliprect,machine->gfx[4], sprite + inc, color,fx,fy,x+ax*16,y+(dy-1-ay)*16 - 512, - priority_bitmap,pri_mask,15); + machine->priority_bitmap,pri_mask,15); } else { pdrawgfx_transpen(bitmap,cliprect,machine->gfx[4], sprite + inc, color,fx,fy,x+(dx-1-ax)*16,y+(dy-1-ay)*16, - priority_bitmap,pri_mask,15); + machine->priority_bitmap,pri_mask,15); // wrap around y pdrawgfx_transpen(bitmap,cliprect,machine->gfx[4], sprite + inc, color,fx,fy,x+(dx-1-ax)*16,y+(dy-1-ay)*16 + 512, - priority_bitmap,pri_mask,15); + machine->priority_bitmap,pri_mask,15); // wrap around y pdrawgfx_transpen(bitmap,cliprect,machine->gfx[4], sprite + inc, color,fx,fy,x+(dx-1-ax)*16,y+(dy-1-ay)*16 - 512, - priority_bitmap,pri_mask,15); + machine->priority_bitmap,pri_mask,15); } inc++; @@ -269,7 +269,7 @@ static void draw_sprites(running_machine* machine, bitmap_t *bitmap,const rectan VIDEO_UPDATE( dcon ) { - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); /* Setup the tilemaps */ tilemap_set_scrollx( background_layer,0, dcon_scroll_ram[0] ); @@ -296,7 +296,7 @@ VIDEO_UPDATE( sdgndmps ) { static int last_gfx_bank=0; - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); /* Gfx banking */ if (last_gfx_bank!=dcon_gfx_bank_select) diff --git a/src/mame/video/deadang.c b/src/mame/video/deadang.c index 94e0e1c9763..bd8258453a0 100644 --- a/src/mame/video/deadang.c +++ b/src/mame/video/deadang.c @@ -118,7 +118,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta pdrawgfx_transpen(bitmap,cliprect,machine->gfx[1], sprite, color,fx,fy,x,y, - priority_bitmap,pri,15); + machine->priority_bitmap,pri,15); } } @@ -148,7 +148,7 @@ VIDEO_UPDATE( deadang ) flip_screen_set(screen->machine, deadang_scroll_ram[0x34]&0x40 ); bitmap_fill(bitmap,cliprect,get_black_pen(screen->machine)); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); tilemap_draw(bitmap,cliprect,pf3_layer,0,1); tilemap_draw(bitmap,cliprect,pf1_layer,0,2); tilemap_draw(bitmap,cliprect,pf2_layer,0,4); diff --git a/src/mame/video/deco16ic.c b/src/mame/video/deco16ic.c index 702b0fc7097..6b73a051bfe 100644 --- a/src/mame/video/deco16ic.c +++ b/src/mame/video/deco16ic.c @@ -842,7 +842,7 @@ void deco16_pdrawgfx( { int ox,oy,cx,cy; int x_index,y_index,x,y; - + bitmap_t *priority_bitmap = gfx->machine->priority_bitmap; const pen_t *pal = &gfx->machine->pens[gfx->color_base + gfx->color_granularity * (color % gfx->total_colors)]; const UINT8 *code_base = gfx_element_get_data(gfx, code % gfx->total_elements); @@ -1019,9 +1019,9 @@ static void custom_tilemap_draw( if ((flags&TILEMAP_DRAW_OPAQUE) || (p&trans_mask)) { *BITMAP_ADDR16(bitmap, y, x) = machine->pens[p]; - if (priority_bitmap) + if (machine->priority_bitmap) { - UINT8 *pri = BITMAP_ADDR8(priority_bitmap, y, 0); + UINT8 *pri = BITMAP_ADDR8(machine->priority_bitmap, y, 0); pri[x]|=priority; } } @@ -1044,9 +1044,9 @@ static void custom_tilemap_draw( if ((flags&TILEMAP_DRAW_OPAQUE) || (p&trans_mask)) { *BITMAP_ADDR32(bitmap, y, x) = machine->pens[p]; - if (priority_bitmap) + if (machine->priority_bitmap) { - UINT8 *pri = BITMAP_ADDR8(priority_bitmap, y, 0); + UINT8 *pri = BITMAP_ADDR8(machine->priority_bitmap, y, 0); pri[x]|=priority; } } diff --git a/src/mame/video/deco32.c b/src/mame/video/deco32.c index e15b073ce45..21ca8292101 100644 --- a/src/mame/video/deco32.c +++ b/src/mame/video/deco32.c @@ -284,7 +284,7 @@ static void captaven_draw_sprites(running_machine* machine, bitmap_t *bitmap, co colour, fx,fy, sx + x_mult * (w-x),sy + y_mult * (h-y), - priority_bitmap,prival,0); + machine->priority_bitmap,prival,0); // wrap-around y pdrawgfx_transpen(bitmap,cliprect,machine->gfx[gfxbank], @@ -292,7 +292,7 @@ static void captaven_draw_sprites(running_machine* machine, bitmap_t *bitmap, co colour, fx,fy, sx + x_mult * (w-x),sy + y_mult * (h-y) - 512, - priority_bitmap,prival,0); + machine->priority_bitmap,prival,0); } } } @@ -1258,7 +1258,7 @@ VIDEO_UPDATE( captaven ) tilemap_set_enable(pf2_tilemap,pf2_enable); tilemap_set_enable(pf3_tilemap,pf3_enable); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); if ((deco32_pri&1)==0) { if (pf3_enable) tilemap_draw(bitmap,cliprect,pf3_tilemap,TILEMAP_DRAW_OPAQUE,1); @@ -1415,7 +1415,7 @@ VIDEO_UPDATE( fghthist ) /* Draw screen */ deco16_clear_sprite_priority_bitmap(); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); bitmap_fill(bitmap,cliprect,screen->machine->pens[0x000]); // Palette index not confirmed tilemap_draw(bitmap,cliprect,pf4_tilemap,0,0); if(deco32_pri&1) @@ -1443,15 +1443,16 @@ VIDEO_UPDATE( fghthist ) */ static void mixDualAlphaSprites(bitmap_t *bitmap, const rectangle *cliprect, const gfx_element *gfx0, const gfx_element *gfx1, int mixAlphaTilemap) { - const pen_t *pens = gfx0->machine->pens; + running_machine *machine = gfx0->machine; + const pen_t *pens = machine->pens; const pen_t *pal0 = &pens[gfx0->color_base]; const pen_t *pal1 = &pens[gfx1->color_base]; - const pen_t *pal2 = &pens[gfx0->machine->gfx[(deco32_pri&1) ? 1 : 2]->color_base]; + const pen_t *pal2 = &pens[machine->gfx[(deco32_pri&1) ? 1 : 2]->color_base]; int x,y; /* Mix sprites into main bitmap, based on priority & alpha */ for (y=8; y<248; y++) { - UINT8* tilemapPri=BITMAP_ADDR8(priority_bitmap, y, 0); + UINT8* tilemapPri=BITMAP_ADDR8(machine->priority_bitmap, y, 0); UINT16* sprite0=BITMAP_ADDR16(sprite0_mix_bitmap, y, 0); UINT16* sprite1=BITMAP_ADDR16(sprite1_mix_bitmap, y, 0); UINT32* destLine=BITMAP_ADDR32(bitmap, y, 0); @@ -1614,7 +1615,7 @@ VIDEO_UPDATE( nslasher ) bitmap_fill(sprite0_mix_bitmap,cliprect,0); bitmap_fill(sprite1_mix_bitmap,cliprect,0); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); if ((deco32_pf34_control[5]&0x8000)==0) bitmap_fill(bitmap,cliprect,screen->machine->pens[0x200]); diff --git a/src/mame/video/deniam.c b/src/mame/video/deniam.c index 38f3ca17e96..3207a31a003 100644 --- a/src/mame/video/deniam.c +++ b/src/mame/video/deniam.c @@ -258,9 +258,9 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta if (sx+x >= cliprect->min_x && sx+x <= cliprect->max_x && y >= cliprect->min_y && y <= cliprect->max_y) { - if ((*BITMAP_ADDR8(priority_bitmap, y, sx+x) & primask) == 0) + if ((*BITMAP_ADDR8(machine->priority_bitmap, y, sx+x) & primask) == 0) *BITMAP_ADDR16(bitmap, y, sx+x) = color*16+(rom[i]&0x0f); - *BITMAP_ADDR8(priority_bitmap, y, sx+x) = 8; + *BITMAP_ADDR8(machine->priority_bitmap, y, sx+x) = 8; } } x++; @@ -278,9 +278,9 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta if (sx+x >= cliprect->min_x && sx+x <= cliprect->max_x && y >= cliprect->min_y && y <= cliprect->max_y) { - if ((*BITMAP_ADDR8(priority_bitmap, y, sx+x) & primask) == 0) + if ((*BITMAP_ADDR8(machine->priority_bitmap, y, sx+x) & primask) == 0) *BITMAP_ADDR16(bitmap, y, sx+x) = color*16+(rom[i]>>4); - *BITMAP_ADDR8(priority_bitmap, y, sx+x) = 8; + *BITMAP_ADDR8(machine->priority_bitmap, y, sx+x) = 8; } } x++; @@ -302,9 +302,9 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta if (sx+x >= cliprect->min_x && sx+x <= cliprect->max_x && y >= cliprect->min_y && y <= cliprect->max_y) { - if ((*BITMAP_ADDR8(priority_bitmap, y, sx+x) & primask) == 0) + if ((*BITMAP_ADDR8(machine->priority_bitmap, y, sx+x) & primask) == 0) *BITMAP_ADDR16(bitmap, y, sx+x) = color*16+(rom[i]>>4); - *BITMAP_ADDR8(priority_bitmap, y, sx+x) = 8; + *BITMAP_ADDR8(machine->priority_bitmap, y, sx+x) = 8; } } x++; @@ -322,9 +322,9 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta if (sx+x >= cliprect->min_x && sx+x <= cliprect->max_x && y >= cliprect->min_y && y <= cliprect->max_y) { - if ((*BITMAP_ADDR8(priority_bitmap, y, sx+x) & primask) == 0) + if ((*BITMAP_ADDR8(machine->priority_bitmap, y, sx+x) & primask) == 0) *BITMAP_ADDR16(bitmap, y, sx+x) = color*16+(rom[i]&0x0f); - *BITMAP_ADDR8(priority_bitmap, y, sx+x) = 8; + *BITMAP_ADDR8(machine->priority_bitmap, y, sx+x) = 8; } } x++; @@ -390,7 +390,7 @@ VIDEO_UPDATE( deniam ) tilemap_set_scrollx(fg_tilemap,0,fg_scrollx & 0x1ff); tilemap_set_scrolly(fg_tilemap,0,fg_scrolly & 0x0ff); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); tilemap_draw(bitmap,cliprect,bg_tilemap,0,1); tilemap_draw(bitmap,cliprect,fg_tilemap,0,2); diff --git a/src/mame/video/docastle.c b/src/mame/video/docastle.c index 26552b9874d..b156e47bf2d 100644 --- a/src/mame/video/docastle.c +++ b/src/mame/video/docastle.c @@ -129,7 +129,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta { int offs; - bitmap_fill(priority_bitmap,NULL,1); + bitmap_fill(machine->priority_bitmap,NULL,1); for (offs = spriteram_size - 4;offs >= 0;offs -= 4) { @@ -202,7 +202,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta color, flipx,flipy, sx,sy, - priority_bitmap, + machine->priority_bitmap, 0x00,0x80ff); /* then draw the mask, behind the background but obscuring following sprites */ @@ -211,7 +211,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta color, flipx,flipy, sx,sy, - priority_bitmap, + machine->priority_bitmap, 0x02,0x7fff); } } diff --git a/src/mame/video/dooyong.c b/src/mame/video/dooyong.c index 1bb1d4ed990..2792d9a0322 100644 --- a/src/mame/video/dooyong.c +++ b/src/mame/video/dooyong.c @@ -429,7 +429,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta color, flipx, flipy, sx, sy + (16 * (flipy ? (height - y) : y)), - priority_bitmap, + machine->priority_bitmap, pri, 15); } } @@ -495,7 +495,7 @@ static void rshark_draw_sprites(running_machine *machine, bitmap_t *bitmap, cons color, flipx, flipy, _x, _y, - priority_bitmap, + machine->priority_bitmap, pri, 15); code++; } @@ -508,7 +508,7 @@ static void rshark_draw_sprites(running_machine *machine, bitmap_t *bitmap, cons VIDEO_UPDATE( lastday ) { bitmap_fill(bitmap, cliprect, get_black_pen(screen->machine)); - bitmap_fill(priority_bitmap, cliprect, 0); + bitmap_fill(screen->machine->priority_bitmap, cliprect, 0); tilemap_draw(bitmap, cliprect, bg_tilemap, 0, 1); tilemap_draw(bitmap, cliprect, fg_tilemap, 0, 2); @@ -522,7 +522,7 @@ VIDEO_UPDATE( lastday ) VIDEO_UPDATE( gulfstrm ) { bitmap_fill(bitmap, cliprect, get_black_pen(screen->machine)); - bitmap_fill(priority_bitmap, cliprect, 0); + bitmap_fill(screen->machine->priority_bitmap, cliprect, 0); tilemap_draw(bitmap, cliprect, bg_tilemap, 0, 1); tilemap_draw(bitmap, cliprect, fg_tilemap, 0, 2); @@ -535,7 +535,7 @@ VIDEO_UPDATE( gulfstrm ) VIDEO_UPDATE( pollux ) { bitmap_fill(bitmap, cliprect, get_black_pen(screen->machine)); - bitmap_fill(priority_bitmap, cliprect, 0); + bitmap_fill(screen->machine->priority_bitmap, cliprect, 0); tilemap_draw(bitmap, cliprect, bg_tilemap, 0, 1); tilemap_draw(bitmap, cliprect, fg_tilemap, 0, 2); @@ -548,7 +548,7 @@ VIDEO_UPDATE( pollux ) VIDEO_UPDATE( flytiger ) { bitmap_fill(bitmap, cliprect, get_black_pen(screen->machine)); - bitmap_fill(priority_bitmap, cliprect, 0); + bitmap_fill(screen->machine->priority_bitmap, cliprect, 0); if (flytiger_pri) { @@ -570,7 +570,7 @@ VIDEO_UPDATE( flytiger ) VIDEO_UPDATE( bluehawk ) { bitmap_fill(bitmap, cliprect, get_black_pen(screen->machine)); - bitmap_fill(priority_bitmap, cliprect, 0); + bitmap_fill(screen->machine->priority_bitmap, cliprect, 0); tilemap_draw(bitmap, cliprect, bg_tilemap, 0, 1); tilemap_draw(bitmap, cliprect, fg_tilemap, 0, 2); @@ -595,7 +595,7 @@ VIDEO_UPDATE( primella ) VIDEO_UPDATE( rshark ) { bitmap_fill(bitmap, cliprect, get_black_pen(screen->machine)); - bitmap_fill(priority_bitmap, cliprect, 0); + bitmap_fill(screen->machine->priority_bitmap, cliprect, 0); tilemap_draw(bitmap, cliprect, bg_tilemap, 0, 1); tilemap_draw(bitmap, cliprect, bg2_tilemap, 0, (rshark_pri ? 2 : 1)); @@ -609,7 +609,7 @@ VIDEO_UPDATE( rshark ) VIDEO_UPDATE( popbingo ) { bitmap_fill(bitmap, cliprect, get_black_pen(screen->machine)); - bitmap_fill(priority_bitmap, cliprect, 0); + bitmap_fill(screen->machine->priority_bitmap, cliprect, 0); tilemap_draw(bitmap, cliprect, bg_tilemap, 0, 1); diff --git a/src/mame/video/esd16.c b/src/mame/video/esd16.c index 111febf9049..174777967c1 100644 --- a/src/mame/video/esd16.c +++ b/src/mame/video/esd16.c @@ -252,7 +252,7 @@ static void esd16_draw_sprites(running_machine *machine, bitmap_t *bitmap, const color, flipx, flipy, sx, y, - priority_bitmap, pri_mask, 0 ); + machine->priority_bitmap, pri_mask, 0 ); } } } @@ -315,7 +315,7 @@ static void hedpanic_draw_sprites(running_machine *machine, bitmap_t *bitmap, co color, flipx, flipy, sx, y, - priority_bitmap, pri_mask, 0 ); + machine->priority_bitmap, pri_mask, 0 ); } } } @@ -334,7 +334,7 @@ VIDEO_UPDATE( esd16 ) { int layers_ctrl = -1; - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); tilemap_set_scrollx(esdtilemap_0, 0, esd16_scroll_0[0]); tilemap_set_scrolly(esdtilemap_0, 0, esd16_scroll_0[1]); @@ -365,7 +365,7 @@ VIDEO_UPDATE( hedpanic ) { int layers_ctrl = -1; - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); #ifdef MAME_DEBUG @@ -427,7 +427,7 @@ VIDEO_UPDATE( hedpanio ) { int layers_ctrl = -1; - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); #ifdef MAME_DEBUG diff --git a/src/mame/video/f1gp.c b/src/mame/video/f1gp.c index ed1fc8327a6..d83f93bf761 100644 --- a/src/mame/video/f1gp.c +++ b/src/mame/video/f1gp.c @@ -232,7 +232,7 @@ static void f1gp_draw_sprites(running_machine *machine,bitmap_t *bitmap,const re flipx,flipy, sx,sy, 0x1000 * zoomx,0x1000 * zoomy, - priority_bitmap, + machine->priority_bitmap, // pri ? 0 : 0x2); primask,15); map_start++; @@ -298,7 +298,7 @@ static void f1gpb_draw_sprites(running_machine *machine, bitmap_t *bitmap,const color, flipx,flipy, x,y, - priority_bitmap, + machine->priority_bitmap, pri ? 0 : 0x2,15); // wrap around x @@ -307,7 +307,7 @@ static void f1gpb_draw_sprites(running_machine *machine, bitmap_t *bitmap,const color, flipx,flipy, x - 512,y, - priority_bitmap, + machine->priority_bitmap, pri ? 0 : 0x2,15); } } @@ -315,7 +315,7 @@ static void f1gpb_draw_sprites(running_machine *machine, bitmap_t *bitmap,const VIDEO_UPDATE( f1gp ) { - bitmap_fill(priority_bitmap, cliprect, 0); + bitmap_fill(screen->machine->priority_bitmap, cliprect, 0); K053936_0_zoom_draw(bitmap,cliprect,roz_tilemap,0,0,1); @@ -348,7 +348,7 @@ VIDEO_UPDATE( f1gpb ) tilemap_set_scrolly(fg_tilemap,0,f1gpb_fgregs[0] + 8); - bitmap_fill(priority_bitmap, cliprect, 0); + bitmap_fill(screen->machine->priority_bitmap, cliprect, 0); tilemap_draw_roz(bitmap, cliprect, roz_tilemap, startx << 13, starty << 13, diff --git a/src/mame/video/foodf.c b/src/mame/video/foodf.c index da6155d4b93..0508e0475eb 100644 --- a/src/mame/video/foodf.c +++ b/src/mame/video/foodf.c @@ -121,6 +121,8 @@ WRITE16_HANDLER( foodf_paletteram_w ) VIDEO_UPDATE( foodf ) { int offs; + const gfx_element *gfx = screen->machine->gfx[1]; + bitmap_t *priority_bitmap = screen->machine->priority_bitmap; /* first draw the playfield opaquely */ tilemap_draw(bitmap, cliprect, atarigen_playfield_tilemap, TILEMAP_DRAW_OPAQUE, 0); @@ -143,11 +145,11 @@ VIDEO_UPDATE( foodf ) int vflip = (data1 >> 14) & 1; int pri = (data1 >> 13) & 1; - pdrawgfx_transpen(bitmap, cliprect, screen->machine->gfx[1], pict, color, hflip, vflip, + pdrawgfx_transpen(bitmap, cliprect, gfx, pict, color, hflip, vflip, xpos, ypos, priority_bitmap, pri * 2, 0); /* draw again with wraparound (needed to get the end of level animation right) */ - pdrawgfx_transpen(bitmap, cliprect, screen->machine->gfx[1], pict, color, hflip, vflip, + pdrawgfx_transpen(bitmap, cliprect, gfx, pict, color, hflip, vflip, xpos - 256, ypos, priority_bitmap, pri * 2, 0); } diff --git a/src/mame/video/fuukifg2.c b/src/mame/video/fuukifg2.c index 8d8b268db83..0156e92fc91 100644 --- a/src/mame/video/fuukifg2.c +++ b/src/mame/video/fuukifg2.c @@ -147,7 +147,8 @@ VIDEO_START( fuuki16 ) static void draw_sprites(const device_config *screen, bitmap_t *bitmap, const rectangle *cliprect) { int offs; - + const gfx_element *gfx = screen->machine->gfx[0]; + bitmap_t *priority_bitmap = screen->machine->priority_bitmap; const rectangle *visarea = video_screen_get_visible_area(screen); int max_x = visarea->max_x+1; int max_y = visarea->max_y+1; @@ -202,7 +203,7 @@ static void draw_sprites(const device_config *screen, bitmap_t *bitmap, const re for (x = xstart; x != xend; x += xinc) { if (xzoom == (16*8) && yzoom == (16*8)) - pdrawgfx_transpen( bitmap,cliprect,screen->machine->gfx[0], + pdrawgfx_transpen( bitmap,cliprect,gfx, code++, attr & 0x3f, flipx, flipy, @@ -210,7 +211,7 @@ static void draw_sprites(const device_config *screen, bitmap_t *bitmap, const re priority_bitmap, pri_mask,15 ); else - pdrawgfxzoom_transpen( bitmap,cliprect,screen->machine->gfx[0], + pdrawgfxzoom_transpen( bitmap,cliprect,gfx, code++, attr & 0x3f, flipx, flipy, @@ -341,7 +342,7 @@ VIDEO_UPDATE( fuuki16 ) /* Actually, bg colour is simply the last pen i.e. 0x1fff -pjp */ bitmap_fill(bitmap,cliprect,(0x800*4)-1); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); fuuki16_draw_layer(bitmap,cliprect, tm_back, 0, 1); fuuki16_draw_layer(bitmap,cliprect, tm_middle, 0, 2); diff --git a/src/mame/video/fuukifg3.c b/src/mame/video/fuukifg3.c index fcb389b8edc..ad73dd09216 100644 --- a/src/mame/video/fuukifg3.c +++ b/src/mame/video/fuukifg3.c @@ -162,7 +162,8 @@ VIDEO_START( fuuki32 ) static void draw_sprites(const device_config *screen, bitmap_t *bitmap, const rectangle *cliprect) { int offs; - + const gfx_element *gfx = screen->machine->gfx[0]; + bitmap_t *priority_bitmap = screen->machine->priority_bitmap; const rectangle *visarea = video_screen_get_visible_area(screen); int max_x = visarea->max_x+1; int max_y = visarea->max_y+1; @@ -234,7 +235,7 @@ static void draw_sprites(const device_config *screen, bitmap_t *bitmap, const re for (x = xstart; x != xend; x += xinc) { if (xzoom == (16*8) && yzoom == (16*8)) - pdrawgfx_transpen( bitmap,cliprect,screen->machine->gfx[0], + pdrawgfx_transpen( bitmap,cliprect,gfx, code++, attr & 0x3f, flipx, flipy, @@ -242,7 +243,7 @@ static void draw_sprites(const device_config *screen, bitmap_t *bitmap, const re priority_bitmap, pri_mask,15 ); else - pdrawgfxzoom_transpen( bitmap,cliprect,screen->machine->gfx[0], + pdrawgfxzoom_transpen( bitmap,cliprect,gfx, code++, attr & 0x3f, flipx, flipy, @@ -367,7 +368,7 @@ VIDEO_UPDATE( fuuki32 ) /* The bg colour is the last pen i.e. 0x1fff */ bitmap_fill(bitmap,cliprect,(0x800*4)-1); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); fuuki32_draw_layer(bitmap,cliprect, tm_back, 0, 1); fuuki32_draw_layer(bitmap,cliprect, tm_middle, 0, 2); diff --git a/src/mame/video/gaelco.c b/src/mame/video/gaelco.c index 96857863cda..a9099b585bd 100644 --- a/src/mame/video/gaelco.c +++ b/src/mame/video/gaelco.c @@ -175,7 +175,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta pdrawgfx_transpen(bitmap,cliprect,gfx,number + x_offset[ex] + y_offset[ey], color,xflip,yflip, sx-0x0f+x*8,sy+y*8, - priority_bitmap,pri_mask,0); + machine->priority_bitmap,pri_mask,0); } } } @@ -195,7 +195,7 @@ VIDEO_UPDATE( maniacsq ) tilemap_set_scrolly(pant[1], 0, gaelco_vregs[2]); tilemap_set_scrollx(pant[1], 0, gaelco_vregs[3]); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); bitmap_fill( bitmap, cliprect , 0); tilemap_draw(bitmap,cliprect,pant[1],3,0); @@ -222,7 +222,7 @@ VIDEO_UPDATE( bigkarnk ) tilemap_set_scrolly(pant[1], 0, gaelco_vregs[2]); tilemap_set_scrollx(pant[1], 0, gaelco_vregs[3]); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); bitmap_fill( bitmap, cliprect , 0); tilemap_draw(bitmap,cliprect,pant[1],TILEMAP_DRAW_LAYER1 | 3,0); diff --git a/src/mame/video/gaiden.c b/src/mame/video/gaiden.c index 5d4174efabb..d81f44bc776 100644 --- a/src/mame/video/gaiden.c +++ b/src/mame/video/gaiden.c @@ -366,7 +366,7 @@ static void gaiden_draw_sprites(running_machine *machine, bitmap_t *bitmap, cons gfx->color_base + color * gfx->color_granularity, flipx, flipy, sx, sy, - priority_bitmap, priority_mask, 0); + machine->priority_bitmap, priority_mask, 0); } } } @@ -466,7 +466,7 @@ static void raiga_draw_sprites(running_machine *machine, bitmap_t *bitmap_bg, bi gfx->color_base + color * gfx->color_granularity, flipx, flipy, sx, sy, - priority_bitmap, priority_mask, 0); + machine->priority_bitmap, priority_mask, 0); } } } @@ -486,7 +486,7 @@ static void raiga_draw_sprites(running_machine *machine, bitmap_t *bitmap_bg, bi gfx->color_base + color * gfx->color_granularity, flipx, flipy, sx, sy, - priority_bitmap, priority_mask, 0); + machine->priority_bitmap, priority_mask, 0); } } } @@ -542,21 +542,21 @@ static void drgnbowl_draw_sprites(running_machine *machine, bitmap_t *bitmap, co code, machine->gfx[3]->color_base + color * machine->gfx[3]->color_granularity, flipx,flipy,x,y, - priority_bitmap, priority_mask,15); + machine->priority_bitmap, priority_mask,15); /* wrap x*/ pdrawgfx_transpen_raw(bitmap,cliprect,machine->gfx[3], code, machine->gfx[3]->color_base + color * machine->gfx[3]->color_granularity, flipx,flipy,x-512,y, - priority_bitmap, priority_mask,15); + machine->priority_bitmap, priority_mask,15); } } VIDEO_UPDATE( gaiden ) { - bitmap_fill(priority_bitmap, cliprect, 0); + bitmap_fill(screen->machine->priority_bitmap, cliprect, 0); bitmap_fill(bitmap, cliprect, 0x200); tilemap_draw(bitmap, cliprect, background, 0, 1); @@ -569,7 +569,7 @@ VIDEO_UPDATE( gaiden ) VIDEO_UPDATE( raiga ) { - bitmap_fill(priority_bitmap, cliprect, 0); + bitmap_fill(screen->machine->priority_bitmap, cliprect, 0); bitmap_fill(tile_bitmap_bg, cliprect, 0x200); bitmap_fill(tile_bitmap_fg, cliprect, 0); @@ -593,7 +593,7 @@ VIDEO_UPDATE( raiga ) VIDEO_UPDATE( drgnbowl ) { - bitmap_fill(priority_bitmap, cliprect, 0); + bitmap_fill(screen->machine->priority_bitmap, cliprect, 0); tilemap_draw(bitmap, cliprect, background, 0, 1); tilemap_draw(bitmap, cliprect, foreground, 0, 2); diff --git a/src/mame/video/galastrm.c b/src/mame/video/galastrm.c index 7743e5c6848..a90896ca7d8 100644 --- a/src/mame/video/galastrm.c +++ b/src/mame/video/galastrm.c @@ -227,7 +227,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta sprite_ptr->flipx,sprite_ptr->flipy, sprite_ptr->x,sprite_ptr->y, sprite_ptr->zoomx,sprite_ptr->zoomy, - priority_bitmap,primasks[sprite_ptr->primask],0); + machine->priority_bitmap,primasks[sprite_ptr->primask],0); } } } @@ -462,7 +462,7 @@ VIDEO_UPDATE( galastrm ) UINT16 priority; static const int primasks[4] = {0xfffc, 0xfff0, 0xff00, 0x0}; rectangle clip; - + bitmap_t *priority_bitmap = screen->machine->priority_bitmap; clip.min_x = 0; clip.min_y = 0; @@ -493,17 +493,17 @@ VIDEO_UPDATE( galastrm ) #if 0 if (layer[0]==0 && layer[1]==3 && layer[2]==2 && layer[3]==1) { - if (!input_code_pressed(KEYCODE_Z)) TC0480SCP_tilemap_draw(tmpbitmaps,&clip,layer[0],0,1); - if (!input_code_pressed(KEYCODE_X)) TC0480SCP_tilemap_draw(tmpbitmaps,&clip,layer[1],0,4); - if (!input_code_pressed(KEYCODE_C)) TC0480SCP_tilemap_draw(tmpbitmaps,&clip,layer[2],0,4); - if (!input_code_pressed(KEYCODE_V)) TC0480SCP_tilemap_draw(tmpbitmaps,&clip,layer[3],0,4); + if (!input_code_pressed(KEYCODE_Z)) TC0480SCP_tilemap_draw(screen->machine,tmpbitmaps,&clip,layer[0],0,1); + if (!input_code_pressed(KEYCODE_X)) TC0480SCP_tilemap_draw(screen->machine,tmpbitmaps,&clip,layer[1],0,4); + if (!input_code_pressed(KEYCODE_C)) TC0480SCP_tilemap_draw(screen->machine,tmpbitmaps,&clip,layer[2],0,4); + if (!input_code_pressed(KEYCODE_V)) TC0480SCP_tilemap_draw(screen->machine,tmpbitmaps,&clip,layer[3],0,4); } else { - if (!input_code_pressed(KEYCODE_Z)) TC0480SCP_tilemap_draw(tmpbitmaps,&clip,layer[0],0,1); - if (!input_code_pressed(KEYCODE_X)) TC0480SCP_tilemap_draw(tmpbitmaps,&clip,layer[1],0,2); - if (!input_code_pressed(KEYCODE_C)) TC0480SCP_tilemap_draw(tmpbitmaps,&clip,layer[2],0,4); - if (!input_code_pressed(KEYCODE_V)) TC0480SCP_tilemap_draw(tmpbitmaps,&clip,layer[3],0,8); + if (!input_code_pressed(KEYCODE_Z)) TC0480SCP_tilemap_draw(screen->machine,tmpbitmaps,&clip,layer[0],0,1); + if (!input_code_pressed(KEYCODE_X)) TC0480SCP_tilemap_draw(screen->machine,tmpbitmaps,&clip,layer[1],0,2); + if (!input_code_pressed(KEYCODE_C)) TC0480SCP_tilemap_draw(screen->machine,tmpbitmaps,&clip,layer[2],0,4); + if (!input_code_pressed(KEYCODE_V)) TC0480SCP_tilemap_draw(screen->machine,tmpbitmaps,&clip,layer[3],0,8); } if (layer[0]==3 && layer[1]==0 && layer[2]==1 && layer[3]==2) @@ -532,24 +532,24 @@ VIDEO_UPDATE( galastrm ) bitmap_fill(priority_bitmap, cliprect, 0); draw_sprites(screen->machine,bitmap,cliprect,primasks,0); - if (!input_code_pressed(KEYCODE_B)) TC0480SCP_tilemap_draw(bitmap,cliprect,layer[4],0,0); + if (!input_code_pressed(KEYCODE_B)) TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[4],0,0); if (!input_code_pressed(KEYCODE_M)) TC0100SCN_tilemap_draw(screen->machine,bitmap,cliprect,0,pivlayer[2],0,0); #else if (layer[0]==0 && layer[1]==3 && layer[2]==2 && layer[3]==1) { - TC0480SCP_tilemap_draw(tmpbitmaps,&clip,layer[0],0,1); - TC0480SCP_tilemap_draw(tmpbitmaps,&clip,layer[1],0,4); - TC0480SCP_tilemap_draw(tmpbitmaps,&clip,layer[2],0,4); - TC0480SCP_tilemap_draw(tmpbitmaps,&clip,layer[3],0,4); + TC0480SCP_tilemap_draw(screen->machine,tmpbitmaps,&clip,layer[0],0,1); + TC0480SCP_tilemap_draw(screen->machine,tmpbitmaps,&clip,layer[1],0,4); + TC0480SCP_tilemap_draw(screen->machine,tmpbitmaps,&clip,layer[2],0,4); + TC0480SCP_tilemap_draw(screen->machine,tmpbitmaps,&clip,layer[3],0,4); } else { - TC0480SCP_tilemap_draw(tmpbitmaps,&clip,layer[0],0,1); - TC0480SCP_tilemap_draw(tmpbitmaps,&clip,layer[1],0,2); - TC0480SCP_tilemap_draw(tmpbitmaps,&clip,layer[2],0,4); - TC0480SCP_tilemap_draw(tmpbitmaps,&clip,layer[3],0,8); + TC0480SCP_tilemap_draw(screen->machine,tmpbitmaps,&clip,layer[0],0,1); + TC0480SCP_tilemap_draw(screen->machine,tmpbitmaps,&clip,layer[1],0,2); + TC0480SCP_tilemap_draw(screen->machine,tmpbitmaps,&clip,layer[2],0,4); + TC0480SCP_tilemap_draw(screen->machine,tmpbitmaps,&clip,layer[3],0,8); } if (layer[0]==3 && layer[1]==0 && layer[2]==1 && layer[3]==2) @@ -578,7 +578,7 @@ VIDEO_UPDATE( galastrm ) bitmap_fill(priority_bitmap, cliprect, 0); draw_sprites(screen->machine,bitmap,cliprect,primasks,0); - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[4],0,0); + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[4],0,0); TC0100SCN_tilemap_draw(screen->machine,bitmap,cliprect,0,pivlayer[2],0,0); #endif diff --git a/src/mame/video/galpani2.c b/src/mame/video/galpani2.c index d649546c003..fece70d1c3a 100644 --- a/src/mame/video/galpani2.c +++ b/src/mame/video/galpani2.c @@ -162,7 +162,7 @@ if (input_code_pressed(KEYCODE_Z)) #endif bitmap_fill(bitmap,cliprect,0); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); if (layers_ctrl & 0x1) { diff --git a/src/mame/video/gcpinbal.c b/src/mame/video/gcpinbal.c index ffb67f0274a..aabc040bccf 100644 --- a/src/mame/video/gcpinbal.c +++ b/src/mame/video/gcpinbal.c @@ -236,7 +236,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan col, flipx, flipy, curx,cury, - priority_bitmap, + machine->priority_bitmap, priority ? 0xfc : 0xf0,0); code++; @@ -317,7 +317,7 @@ VIDEO_UPDATE( gcpinbal ) tilemap_set_scrolly(gcpinbal_tilemap[i], 0, gcpinbal_scrolly[i]); } - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); bitmap_fill(bitmap, cliprect, 0); layer[0] = 0; diff --git a/src/mame/video/gijoe.c b/src/mame/video/gijoe.c index 5b30653e8e0..1076e757574 100644 --- a/src/mame/video/gijoe.c +++ b/src/mame/video/gijoe.c @@ -144,7 +144,7 @@ VIDEO_UPDATE( gijoe ) sortlayers(layer, layer_pri); bitmap_fill(bitmap, cliprect, get_black_pen(screen->machine)); - bitmap_fill(priority_bitmap, cliprect, 0); + bitmap_fill(screen->machine->priority_bitmap, cliprect, 0); K056832_tilemap_draw(screen->machine, bitmap,cliprect, layer[0], 0, 1); K056832_tilemap_draw(screen->machine, bitmap,cliprect, layer[1], 0, 2); diff --git a/src/mame/video/gradius3.c b/src/mame/video/gradius3.c index ed20c0dc2c7..ff13dfdfc34 100644 --- a/src/mame/video/gradius3.c +++ b/src/mame/video/gradius3.c @@ -121,7 +121,7 @@ VIDEO_UPDATE( gradius3 ) K052109_tilemap_update(); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); if (gradius3_priority == 0) { tilemap_draw(bitmap,cliprect,K052109_tilemap[1],TILEMAP_DRAW_OPAQUE,2); diff --git a/src/mame/video/groundfx.c b/src/mame/video/groundfx.c index 3c696ebaced..e46a3bc6a1a 100644 --- a/src/mame/video/groundfx.c +++ b/src/mame/video/groundfx.c @@ -209,7 +209,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan sprite_ptr->flipx,sprite_ptr->flipy, sprite_ptr->x,sprite_ptr->y, sprite_ptr->zoomx,sprite_ptr->zoomy, - priority_bitmap,primasks[sprite_ptr->pri],0); + machine->priority_bitmap,primasks[sprite_ptr->pri],0); } } @@ -239,7 +239,7 @@ VIDEO_UPDATE( groundfx ) pivlayer[1] = pivlayer[0]^1; pivlayer[2] = 2; - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); bitmap_fill(bitmap,cliprect,0); /* wrong color? */ TC0100SCN_tilemap_draw(screen->machine,bitmap,cliprect,0,pivlayer[0],TILEMAP_DRAW_OPAQUE,0); @@ -262,22 +262,22 @@ VIDEO_UPDATE( groundfx ) */ if (TC0100SCN_long_r(space,0x4090/4,0xffffffff) || TC0480SCP_long_r(space,0x20/4,0xffffffff)==0x240866) { /* Anything in text layer - really stupid hack */ - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[1],0,2); - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[2],0,4); - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[3],0,8); -// TC0100SCN_tilemap_draw(machine,bitmap,cliprect,0,pivlayer[2],0,0); + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[1],0,2); + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[2],0,4); + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[3],0,8); + //TC0100SCN_tilemap_draw(screen->machine,bitmap,cliprect,0,pivlayer[2],0,0); if (TC0480SCP_long_r(space,0x20/4,0xffffffff)!=0x240866) /* Stupid hack for start of race */ - TC0480SCP_tilemap_draw(bitmap,&hack_cliprect,layer[0],0,0); + TC0480SCP_tilemap_draw(screen->machine,bitmap,&hack_cliprect,layer[0],0,0); draw_sprites(screen->machine,bitmap,cliprect,1,44,-574); } else { - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[0],0,1); - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[1],0,2); - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[2],0,4); - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[3],0,8); + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[0],0,1); + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[1],0,2); + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[2],0,4); + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[3],0,8); TC0100SCN_tilemap_draw(screen->machine,bitmap,cliprect,0,pivlayer[2],0,0); draw_sprites(screen->machine,bitmap,cliprect,0,44,-574); } - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[4],0,0); /* TC0480SCP text layer */ + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[4],0,0); /* TC0480SCP text layer */ return 0; } diff --git a/src/mame/video/gunbustr.c b/src/mame/video/gunbustr.c index 78cb81a723d..146e82a05a9 100644 --- a/src/mame/video/gunbustr.c +++ b/src/mame/video/gunbustr.c @@ -203,7 +203,7 @@ logerror("Sprite number %04x had %02x invalid chunks\n",tilenum,bad_chunks); sprite_ptr->flipx,sprite_ptr->flipy, sprite_ptr->x,sprite_ptr->y, sprite_ptr->zoomx,sprite_ptr->zoomy, - priority_bitmap,sprite_ptr->primask,0); + machine->priority_bitmap,sprite_ptr->primask,0); } } @@ -228,24 +228,24 @@ VIDEO_UPDATE( gunbustr ) layer[3] = (priority &0x000f) >> 0; /* tells us which is top */ layer[4] = 4; /* text layer always over bg layers */ - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); /* We have to assume 2nd to bottom layer is always underneath sprites as pdrawgfx cannot yet cope with more than 4 layers */ #ifdef MAME_DEBUG - if (!input_code_pressed (KEYCODE_Z)) TC0480SCP_tilemap_draw(bitmap,cliprect,layer[0],TILEMAP_DRAW_OPAQUE,0); - if (!input_code_pressed (KEYCODE_X)) TC0480SCP_tilemap_draw(bitmap,cliprect,layer[1],0,1); - if (!input_code_pressed (KEYCODE_C)) TC0480SCP_tilemap_draw(bitmap,cliprect,layer[2],0,2); - if (!input_code_pressed (KEYCODE_V)) TC0480SCP_tilemap_draw(bitmap,cliprect,layer[3],0,4); - if (!input_code_pressed (KEYCODE_B)) TC0480SCP_tilemap_draw(bitmap,cliprect,layer[4],0,8); + if (!input_code_pressed (KEYCODE_Z)) TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[0],TILEMAP_DRAW_OPAQUE,0); + if (!input_code_pressed (KEYCODE_X)) TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[1],0,1); + if (!input_code_pressed (KEYCODE_C)) TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[2],0,2); + if (!input_code_pressed (KEYCODE_V)) TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[3],0,4); + if (!input_code_pressed (KEYCODE_B)) TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[4],0,8); if (!input_code_pressed (KEYCODE_N)) draw_sprites(screen->machine,bitmap,cliprect,primasks,48,-116); #else - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[0],TILEMAP_DRAW_OPAQUE,0); - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[1],0,1); - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[2],0,2); - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[3],0,4); - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[4],0,8); /* text layer */ + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[0],TILEMAP_DRAW_OPAQUE,0); + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[1],0,1); + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[2],0,2); + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[3],0,4); + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[4],0,8); /* text layer */ draw_sprites(screen->machine,bitmap,cliprect,primasks,48,-116); #endif return 0; diff --git a/src/mame/video/hyprduel.c b/src/mame/video/hyprduel.c index 909042ccc22..1bb6f280d81 100644 --- a/src/mame/video/hyprduel.c +++ b/src/mame/video/hyprduel.c @@ -536,7 +536,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta flipx, flipy, x, y, zoom, zoom, - priority_bitmap,primask[pri], 255); + machine->priority_bitmap,primask[pri], 255); } else { @@ -552,7 +552,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta flipx, flipy, x, y, zoom, zoom, - priority_bitmap,primask[pri], 15); + machine->priority_bitmap,primask[pri], 15); } #if 0 { /* Display priority + zoom on each sprite */ @@ -670,7 +670,7 @@ VIDEO_UPDATE( hyprduel ) hyprduel_sprite_yoffs = hyprduel_videoregs[0x04/2] - video_screen_get_height(screen) / 2 - hyprduel_sprite_yoffs_sub; /* The background color is selected by a register */ - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); bitmap_fill(bitmap,cliprect,((hyprduel_videoregs[0x12/2] & 0x0fff)) + 0x1000); /* Screen Control Register: diff --git a/src/mame/video/inufuku.c b/src/mame/video/inufuku.c index 417952aebb7..9af6094f34d 100644 --- a/src/mame/video/inufuku.c +++ b/src/mame/video/inufuku.c @@ -149,7 +149,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta flipx, flipy, sx - 16, sy - 16, zoomx << 11, zoomy << 11, - priority_bitmap,priority_mask, 15); + machine->priority_bitmap,priority_mask, 15); map_start += 2; } @@ -233,7 +233,7 @@ VIDEO_UPDATE( inufuku ) int i; bitmap_fill(bitmap, cliprect, get_black_pen(screen->machine)); - bitmap_fill(priority_bitmap, NULL, 0); + bitmap_fill(screen->machine->priority_bitmap, NULL, 0); if (inufuku_bg_raster) { tilemap_set_scroll_rows(inufuku_bg_tilemap, 512); diff --git a/src/mame/video/kaneko16.c b/src/mame/video/kaneko16.c index ada63993ef5..6d85a89d79d 100644 --- a/src/mame/video/kaneko16.c +++ b/src/mame/video/kaneko16.c @@ -438,7 +438,7 @@ static void kaneko16_draw_sprites_custom(bitmap_t *dest_bmp,const rectangle *cli { pen_t pen_base = gfx->color_base + gfx->color_granularity * (color % gfx->total_colors); const UINT8 *source_base = gfx_element_get_data(gfx, code % gfx->total_elements); - + bitmap_t *priority_bitmap = gfx->machine->priority_bitmap; int sprite_screen_height = ((1<<16)*gfx->height+0x8000)>>16; int sprite_screen_width = ((1<<16)*gfx->width+0x8000)>>16; @@ -989,7 +989,7 @@ static VIDEO_UPDATE( common ) { int i; - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); kaneko16_prepare_first_tilemap_chip(screen->machine, bitmap, cliprect); kaneko16_prepare_second_tilemap_chip(screen->machine, bitmap, cliprect); diff --git a/src/mame/video/konamigx.c b/src/mame/video/konamigx.c index 721e24d496a..a4a09ed4655 100644 --- a/src/mame/video/konamigx.c +++ b/src/mame/video/konamigx.c @@ -378,7 +378,7 @@ VIDEO_START(opengolf) // urgh.. the priority bitmap is global, and because our temp bitmaps are bigger than the screen, this causes issues.. so just allocate something huge // until there is a better solution, or priority bitmap can be specified manually. - priority_bitmap = auto_bitmap_alloc(machine,2048,2048,BITMAP_FORMAT_INDEXED16); + machine->priority_bitmap = auto_bitmap_alloc(machine,2048,2048,BITMAP_FORMAT_INDEXED16); } @@ -419,7 +419,7 @@ VIDEO_START(racinfrc) // urgh.. the priority bitmap is global, and because our temp bitmaps are bigger than the screen, this causes issues.. so just allocate something huge // until there is a better solution, or priority bitmap can be specified manually. - priority_bitmap = auto_bitmap_alloc(machine,2048,2048,BITMAP_FORMAT_INDEXED16); + machine->priority_bitmap = auto_bitmap_alloc(machine,2048,2048,BITMAP_FORMAT_INDEXED16); } diff --git a/src/mame/video/konamiic.c b/src/mame/video/konamiic.c index 62985d2edf8..7c05c8d4d7b 100644 --- a/src/mame/video/konamiic.c +++ b/src/mame/video/konamiic.c @@ -1297,6 +1297,7 @@ void K007121_sprites_draw(int chip,bitmap_t *bitmap,const rectangle *cliprect, g int global_x_offset,int bank_base, UINT32 pri_mask) { const gfx_element *gfx = gfxs[chip]; + bitmap_t *priority_bitmap = gfx->machine->priority_bitmap; int flipscreen = K007121_flipscreen[chip]; int i,num,inc,offs[5]; int is_flakatck = (ctable == NULL); @@ -2817,7 +2818,7 @@ void K051960_sprites_draw(running_machine *machine,bitmap_t *bitmap,const rectan color, flipx,flipy, sx & 0x1ff,sy, - priority_bitmap,pri, + machine->priority_bitmap,pri, drawmode_table,machine->shadow_table); else drawgfx_transtable(bitmap,cliprect,K051960_gfx, @@ -2856,7 +2857,7 @@ void K051960_sprites_draw(running_machine *machine,bitmap_t *bitmap,const rectan flipx,flipy, sx & 0x1ff,sy, (zw << 16) / 16,(zh << 16) / 16, - priority_bitmap,pri, + machine->priority_bitmap,pri, drawmode_table,machine->shadow_table); else drawgfxzoom_transtable(bitmap,cliprect,K051960_gfx, @@ -3420,7 +3421,7 @@ void K053245_sprites_draw(running_machine *machine, int chip, bitmap_t *bitmap,c color, fx,fy, sx,sy, - priority_bitmap,pri, + machine->priority_bitmap,pri, drawmode_table,machine->shadow_table); } else @@ -3431,7 +3432,7 @@ void K053245_sprites_draw(running_machine *machine, int chip, bitmap_t *bitmap,c fx,fy, sx,sy, (zw << 16) / 16,(zh << 16) / 16, - priority_bitmap,pri, + machine->priority_bitmap,pri, drawmode_table,machine->shadow_table); } @@ -3657,7 +3658,7 @@ void K053245_sprites_draw_lethal(running_machine *machine,int chip, bitmap_t *bi color, fx,fy, sx,sy, - priority_bitmap,pri, + machine->priority_bitmap,pri, drawmode_table,machine->shadow_table); } else @@ -3668,7 +3669,7 @@ void K053245_sprites_draw_lethal(running_machine *machine,int chip, bitmap_t *bi fx,fy, sx,sy, (zw << 16) / 16,(zh << 16) / 16, - priority_bitmap,pri, + machine->priority_bitmap,pri, drawmode_table,machine->shadow_table); } @@ -4486,7 +4487,7 @@ void K053247_sprites_draw(running_machine *machine, bitmap_t *bitmap,const recta color, fx,fy, sx,sy, - priority_bitmap,primask, + machine->priority_bitmap,primask, whichtable,machine->shadow_table); } else @@ -4497,7 +4498,7 @@ void K053247_sprites_draw(running_machine *machine, bitmap_t *bitmap,const recta fx,fy, sx,sy, (zw << 16) >> 4,(zh << 16) >> 4, - priority_bitmap,primask, + machine->priority_bitmap,primask, whichtable,machine->shadow_table); } @@ -4510,7 +4511,7 @@ void K053247_sprites_draw(running_machine *machine, bitmap_t *bitmap,const recta color, fx,!fy, sx,sy, - priority_bitmap,primask, + machine->priority_bitmap,primask, whichtable,machine->shadow_table); } else @@ -4521,7 +4522,7 @@ void K053247_sprites_draw(running_machine *machine, bitmap_t *bitmap,const recta fx,!fy, sx,sy, (zw << 16) >> 4,(zh << 16) >> 4, - priority_bitmap,primask, + machine->priority_bitmap,primask, whichtable,machine->shadow_table); } } @@ -7613,13 +7614,13 @@ READ16_HANDLER( K053250_1_rom_r ) static void K053250_pdraw_scanline8( bitmap_t *bitmap,int x,int y,int length, - const UINT8 *src,pen_t *pens,int transparent_pen,UINT32 orient,int pri) + const UINT8 *src,pen_t *pens,int transparent_pen,UINT32 orient,bitmap_t *priority,UINT8 pri) { /* 8bpp destination */ if (bitmap->bpp == 8) { /* adjust in case we're oddly oriented */ - ADJUST_FOR_ORIENTATION(UINT8, orient, bitmap, priority_bitmap, x, y); + ADJUST_FOR_ORIENTATION(UINT8, orient, bitmap, priority, x, y); /* with pen lookups */ if (pens) @@ -7676,7 +7677,7 @@ static void K053250_pdraw_scanline8( else if(bitmap->bpp == 16) { /* adjust in case we're oddly oriented */ - ADJUST_FOR_ORIENTATION(UINT16, orient, bitmap, priority_bitmap, x, y); + ADJUST_FOR_ORIENTATION(UINT16, orient, bitmap, priority, x, y); /* with pen lookups */ if (pens) { @@ -7732,7 +7733,7 @@ static void K053250_pdraw_scanline8( else { /* adjust in case we're oddly oriented */ - ADJUST_FOR_ORIENTATION(UINT32, orient, bitmap, priority_bitmap, x, y); + ADJUST_FOR_ORIENTATION(UINT32, orient, bitmap, priority, x, y); /* with pen lookups */ if (pens) { @@ -7989,7 +7990,7 @@ void K053250_draw(running_machine *machine, bitmap_t *bitmap, const rectangle *c // utility function to render a clipped scanline vertically or horizontally INLINE void K053250_pdraw_scanline32(bitmap_t *bitmap, const pen_t *palette, UINT8 *source, const rectangle *cliprect, int linepos, int scroll, int zoom, - UINT32 clipmask, UINT32 wrapmask, UINT32 orientation, int priority) + UINT32 clipmask, UINT32 wrapmask, UINT32 orientation, bitmap_t *priority, UINT8 pri) { // a sixteen-bit fixed point resolution should be adequate to our application #define FIXPOINT_PRECISION 16 @@ -8006,7 +8007,6 @@ INLINE void K053250_pdraw_scanline32(bitmap_t *bitmap, const pen_t *palette, UIN UINT8 *pri_base; UINT32 *dst_base; int dst_adv; - UINT8 pri; // flip X and flip Y also switch role when the X Y coordinates are swapped if (!(orientation & ORIENTATION_SWAP_XY)) @@ -8093,7 +8093,7 @@ INLINE void K053250_pdraw_scanline32(bitmap_t *bitmap, const pen_t *palette, UIN // calculate target increment for horizontal scanlines which is exactly one dst_adv = 1; dst_offset = dst_length; - pri_base = BITMAP_ADDR8(priority_bitmap, linepos, dst_start + dst_offset); + pri_base = BITMAP_ADDR8(priority, linepos, dst_start + dst_offset); dst_base = BITMAP_ADDR32(bitmap, linepos, dst_start + dst_length); } else @@ -8101,7 +8101,7 @@ INLINE void K053250_pdraw_scanline32(bitmap_t *bitmap, const pen_t *palette, UIN // calculate target increment for vertical scanlines which is the bitmap's pitch value dst_adv = bitmap->rowpixels; dst_offset= dst_length * dst_adv; - pri_base = BITMAP_ADDR8(priority_bitmap, dst_start, linepos + dst_offset); + pri_base = BITMAP_ADDR8(priority, dst_start, linepos + dst_offset); dst_base = BITMAP_ADDR32(bitmap, dst_start, linepos + dst_offset); } @@ -8114,7 +8114,6 @@ INLINE void K053250_pdraw_scanline32(bitmap_t *bitmap, const pen_t *palette, UIN src_wrapmask = (clipmask) ? ~0 : wrapmask; pal_base = palette; - pri = (UINT8)priority; dst_offset = -dst_offset; // negate target offset in order to terminated draw loop at zero condition if (pri) @@ -8360,7 +8359,7 @@ void K053250_draw(running_machine *machine, bitmap_t *bitmap, const rectangle *c priority : value to be written to the priority bitmap, no effect when equals zero */ K053250_pdraw_scanline32(bitmap, pal_ptr, pix_ptr, cliprect, - line_pos, scroll, zoom, src_clipmask, src_wrapmask, orientation, priority); + line_pos, scroll, zoom, src_clipmask, src_wrapmask, orientation, machine->priority_bitmap, (UINT8)priority); // shift scanline position one virtual screen upward to render the wrapped end if necessary scroll -= dst_height; diff --git a/src/mame/video/labyrunr.c b/src/mame/video/labyrunr.c index 8281446f14a..d866a16f12a 100644 --- a/src/mame/video/labyrunr.c +++ b/src/mame/video/labyrunr.c @@ -175,7 +175,7 @@ VIDEO_UPDATE( labyrunr ) set_pens(screen->machine->colortable); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); bitmap_fill(bitmap,cliprect,get_black_pen(screen->machine)); if(~K007121_ctrlram[0][3] & 0x20) diff --git a/src/mame/video/lethal.c b/src/mame/video/lethal.c index 6c9b09fc331..032834db5ff 100644 --- a/src/mame/video/lethal.c +++ b/src/mame/video/lethal.c @@ -107,7 +107,7 @@ extern UINT16 *K056832_videoram; VIDEO_UPDATE(lethalen) { bitmap_fill(bitmap, cliprect, 7168); - bitmap_fill(priority_bitmap, cliprect, 0); + bitmap_fill(screen->machine->priority_bitmap, cliprect, 0); K056832_tilemap_draw(screen->machine, bitmap, cliprect, 3, 0, 1); K056832_tilemap_draw(screen->machine, bitmap, cliprect, 2, 0, 2); diff --git a/src/mame/video/lkage.c b/src/mame/video/lkage.c index 55f581b8d0c..32ae3c9780f 100644 --- a/src/mame/video/lkage.c +++ b/src/mame/video/lkage.c @@ -154,7 +154,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta flipx,flipy, sx&0xff, sy + 16*y, - priority_bitmap, + machine->priority_bitmap, priority_mask,0 ); } source+=4; @@ -195,7 +195,7 @@ VIDEO_UPDATE( lkage ) tilemap_set_scrollx(bg_tilemap,0,lkage_scroll[4]); tilemap_set_scrolly(bg_tilemap,0,lkage_scroll[5]); - bitmap_fill(priority_bitmap, cliprect, 0); + bitmap_fill(screen->machine->priority_bitmap, cliprect, 0); if ((lkage_vreg[2] & 0xf0) == 0xf0) { tilemap_draw( bitmap,cliprect,bg_tilemap,0,1 ); diff --git a/src/mame/video/m90.c b/src/mame/video/m90.c index 8300ff42122..2b4bcde46ff 100644 --- a/src/mame/video/m90.c +++ b/src/mame/video/m90.c @@ -165,7 +165,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan colour, fx,fy, x,y+i*16, - priority_bitmap, + machine->priority_bitmap, (colour & 0x08) ? 0x00 : 0x02,0); else if (m90_video_control_data[7] & 0x02) pdrawgfx_transpen(bitmap,cliprect,machine->gfx[1], @@ -173,7 +173,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan colour, fx,fy, x,y+i*16, - priority_bitmap, + machine->priority_bitmap, ((colour & 0x0c)==0x0c) ? 0x00 : 0x02,0); else pdrawgfx_transpen(bitmap,cliprect,machine->gfx[1], @@ -181,7 +181,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan colour, fx,fy, x,y+i*16, - priority_bitmap, + machine->priority_bitmap, 0x02,0); } } @@ -219,7 +219,7 @@ static void bomblord_draw_sprites(running_machine *machine, bitmap_t *bitmap,con colour, fx,fy, x,y, - priority_bitmap, + machine->priority_bitmap, (colour & 0x08) ? 0x00 : 0x02,0); } } @@ -256,7 +256,7 @@ static void dynablsb_draw_sprites(running_machine *machine, bitmap_t *bitmap,con colour, fx,fy, x,y, - priority_bitmap, + machine->priority_bitmap, (colour & 0x08) ? 0x00 : 0x02,0); } } @@ -349,7 +349,7 @@ VIDEO_UPDATE( m90 ) tilemap_set_scrollx( pf2_wide_layer,0, m90_video_control_data[3]+256-2 ); } - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); if (video_enable) { if (!pf2_enable) @@ -445,7 +445,7 @@ VIDEO_UPDATE( m90 ) VIDEO_UPDATE( bomblord ) { int i; - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); bitmap_fill(bitmap,cliprect,get_black_pen(screen->machine)); /* Setup scrolling */ @@ -496,7 +496,7 @@ VIDEO_UPDATE( bomblord ) VIDEO_UPDATE( dynablsb ) { - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); bitmap_fill(bitmap,cliprect,get_black_pen(screen->machine)); if (!(m90_video_data[0xf008/2] & 0x4000)) { diff --git a/src/mame/video/m92.c b/src/mame/video/m92.c index fff2dc83e8e..67ed9de0885 100644 --- a/src/mame/video/m92.c +++ b/src/mame/video/m92.c @@ -345,7 +345,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta colour, !fx,!fy, 464-x,240-(y-i*16), - priority_bitmap,pri_back,0); + machine->priority_bitmap,pri_back,0); // wrap around x pdrawgfx_transpen(bitmap,cliprect,machine->gfx[1], @@ -353,14 +353,14 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta colour, !fx,!fy, 464-x+512,240-(y-i*16), - priority_bitmap,pri_back,0); + machine->priority_bitmap,pri_back,0); } else { pdrawgfx_transpen(bitmap,cliprect,machine->gfx[1], sprite + s_ptr, colour, fx,fy, x,y-i*16, - priority_bitmap,pri_back,0); + machine->priority_bitmap,pri_back,0); // wrap around x pdrawgfx_transpen(bitmap,cliprect,machine->gfx[1], @@ -368,7 +368,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta colour, fx,fy, x-512,y-i*16, - priority_bitmap,pri_back,0); + machine->priority_bitmap,pri_back,0); } if (fy) s_ptr++; else s_ptr--; } @@ -430,7 +430,7 @@ static void m92_update_scroll_positions(void) static void m92_screenrefresh(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect) { - bitmap_fill(priority_bitmap, cliprect, 0); + bitmap_fill(machine->priority_bitmap, cliprect, 0); if ((~pf_master_control[2] >> 4) & 1) { diff --git a/src/mame/video/mainevt.c b/src/mame/video/mainevt.c index 163da591da5..19fb3bda3c2 100644 --- a/src/mame/video/mainevt.c +++ b/src/mame/video/mainevt.c @@ -93,7 +93,7 @@ VIDEO_UPDATE( mainevt ) { K052109_tilemap_update(); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); tilemap_draw(bitmap,cliprect,K052109_tilemap[1],TILEMAP_DRAW_OPAQUE,1); tilemap_draw(bitmap,cliprect,K052109_tilemap[2],1,2); /* low priority part of layer */ tilemap_draw(bitmap,cliprect,K052109_tilemap[2],0,4); /* high priority part of layer */ diff --git a/src/mame/video/mcatadv.c b/src/mame/video/mcatadv.c index 73afb99a1c4..8703c5a3934 100644 --- a/src/mame/video/mcatadv.c +++ b/src/mame/video/mcatadv.c @@ -124,7 +124,7 @@ static void draw_sprites( running_machine *machine, bitmap_t *bitmap, const rect if ((drawypos >= cliprect->min_y) && (drawypos <= cliprect->max_y)) { destline = BITMAP_ADDR16(bitmap, drawypos, 0); - priline = BITMAP_ADDR8(priority_bitmap, drawypos, 0); + priline = BITMAP_ADDR8(machine->priority_bitmap, drawypos, 0); for (xcnt = xstart; xcnt != xend; xcnt += xinc) { drawxpos = x+xcnt-global_x; @@ -202,7 +202,7 @@ VIDEO_UPDATE( mcatadv ) int i; bitmap_fill(bitmap, cliprect, get_black_pen(screen->machine)); - bitmap_fill(priority_bitmap, cliprect, 0); + bitmap_fill(screen->machine->priority_bitmap, cliprect, 0); if(mcatadv_scroll[2] != palette_bank1) { palette_bank1 = mcatadv_scroll[2]; diff --git a/src/mame/video/mcr.c b/src/mame/video/mcr.c index 11cbb44e325..b148b66ac14 100644 --- a/src/mame/video/mcr.c +++ b/src/mame/video/mcr.c @@ -277,7 +277,7 @@ static void render_sprites_91399(running_machine *machine, bitmap_t *bitmap, con { const UINT8 *src = gfx_element_get_data(gfx, code) + gfx->line_modulo * (y ^ vflip); UINT16 *dst = BITMAP_ADDR16(bitmap, sy, 0); - UINT8 *pri = BITMAP_ADDR8(priority_bitmap, sy, 0); + UINT8 *pri = BITMAP_ADDR8(machine->priority_bitmap, sy, 0); /* loop over columns */ for (x = 0; x < 32; x++) @@ -347,7 +347,7 @@ static void render_sprites_91464(running_machine *machine, bitmap_t *bitmap, con { const UINT8 *src = gfx_element_get_data(gfx, code) + gfx->line_modulo * (y ^ vflip); UINT16 *dst = BITMAP_ADDR16(bitmap, sy, 0); - UINT8 *pri = BITMAP_ADDR8(priority_bitmap, sy, 0); + UINT8 *pri = BITMAP_ADDR8(machine->priority_bitmap, sy, 0); /* loop over columns */ for (x = 0; x < 32; x++) @@ -389,7 +389,7 @@ VIDEO_UPDATE( mcr ) tilemap_set_flip(bg_tilemap, mcr_cocktail_flip ? (TILEMAP_FLIPX | TILEMAP_FLIPY) : 0); /* draw the background */ - bitmap_fill(priority_bitmap, cliprect, 0); + bitmap_fill(screen->machine->priority_bitmap, cliprect, 0); tilemap_draw(bitmap, cliprect, bg_tilemap, 0, 0x00); tilemap_draw(bitmap, cliprect, bg_tilemap, 1, 0x10); tilemap_draw(bitmap, cliprect, bg_tilemap, 2, 0x20); diff --git a/src/mame/video/mcr3.c b/src/mame/video/mcr3.c index 9ff2bd134c2..5713d2775a0 100644 --- a/src/mame/video/mcr3.c +++ b/src/mame/video/mcr3.c @@ -192,7 +192,7 @@ static void mcr3_update_sprites(running_machine *machine, bitmap_t *bitmap, cons { int offs; - bitmap_fill(priority_bitmap, cliprect, 1); + bitmap_fill(machine->priority_bitmap, cliprect, 1); /* loop over sprite RAM */ for (offs = spriteram_size - 4; offs >= 0; offs -= 4) @@ -234,21 +234,21 @@ static void mcr3_update_sprites(running_machine *machine, bitmap_t *bitmap, cons { /* first draw the sprite, visible */ pdrawgfx_transmask(bitmap, cliprect, machine->gfx[1], code, color, flipx, flipy, sx, sy, - priority_bitmap, 0x00, 0x0101); + machine->priority_bitmap, 0x00, 0x0101); /* then draw the mask, behind the background but obscuring following sprites */ pdrawgfx_transmask(bitmap, cliprect, machine->gfx[1], code, color, flipx, flipy, sx, sy, - priority_bitmap, 0x02, 0xfeff); + machine->priority_bitmap, 0x02, 0xfeff); } else { /* first draw the sprite, visible */ pdrawgfx_transmask(bitmap, cliprect, machine->gfx[1], code, color, !flipx, !flipy, 480 - sx, 452 - sy, - priority_bitmap, 0x00, 0x0101); + machine->priority_bitmap, 0x00, 0x0101); /* then draw the mask, behind the background but obscuring following sprites */ pdrawgfx_transmask(bitmap, cliprect, machine->gfx[1], code, color, !flipx, !flipy, 480 - sx, 452 - sy, - priority_bitmap, 0x02, 0xfeff); + machine->priority_bitmap, 0x02, 0xfeff); } } } diff --git a/src/mame/video/mcr68.c b/src/mame/video/mcr68.c index 2b98fc577c4..767ffd37469 100644 --- a/src/mame/video/mcr68.c +++ b/src/mame/video/mcr68.c @@ -217,7 +217,7 @@ static void mcr68_update_sprites(running_machine *machine, bitmap_t *bitmap, con sprite_clip.max_x -= mcr68_sprite_clip; sect_rect(&sprite_clip, cliprect); - bitmap_fill(priority_bitmap,&sprite_clip,1); + bitmap_fill(machine->priority_bitmap,&sprite_clip,1); /* loop over sprite RAM */ for (offs = spriteram_size / 2 - 4;offs >= 0;offs -= 4) @@ -250,11 +250,11 @@ static void mcr68_update_sprites(running_machine *machine, bitmap_t *bitmap, con /* first draw the sprite, visible */ pdrawgfx_transmask(bitmap, &sprite_clip, machine->gfx[1], code, color, flipx, flipy, x, y, - priority_bitmap, 0x00, 0x0101); + machine->priority_bitmap, 0x00, 0x0101); /* then draw the mask, behind the background but obscuring following sprites */ pdrawgfx_transmask(bitmap, &sprite_clip, machine->gfx[1], code, color, flipx, flipy, x, y, - priority_bitmap, 0x02, 0xfeff); + machine->priority_bitmap, 0x02, 0xfeff); } } @@ -263,7 +263,7 @@ static void zwackery_update_sprites(running_machine *machine, bitmap_t *bitmap, { int offs; - bitmap_fill(priority_bitmap,cliprect,1); + bitmap_fill(machine->priority_bitmap,cliprect,1); /* loop over sprite RAM */ for (offs = spriteram_size / 2 - 4;offs >= 0;offs -= 4) @@ -306,11 +306,11 @@ static void zwackery_update_sprites(running_machine *machine, bitmap_t *bitmap, /* first draw the sprite, visible */ pdrawgfx_transmask(bitmap, cliprect, machine->gfx[1], code, color, flipx, flipy, x, y, - priority_bitmap, 0x00, 0x0101); + machine->priority_bitmap, 0x00, 0x0101); /* then draw the mask, behind the background but obscuring following sprites */ pdrawgfx_transmask(bitmap, cliprect, machine->gfx[1], code, color, flipx, flipy, x, y, - priority_bitmap, 0x02, 0xfeff); + machine->priority_bitmap, 0x02, 0xfeff); } } diff --git a/src/mame/video/megasys1.c b/src/mame/video/megasys1.c index b2101116ff6..61afb2eaead 100644 --- a/src/mame/video/megasys1.c +++ b/src/mame/video/megasys1.c @@ -626,7 +626,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan color, flipx, flipy, sx, sy, - priority_bitmap, + machine->priority_bitmap, (attr & 0x08) ? 0x0c : 0x0a,15); } /* sprite */ } /* offs */ @@ -666,7 +666,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan color, flipx, flipy, sx, sy, - priority_bitmap, + machine->priority_bitmap, (attr & 0x08) ? 0x0c : 0x0a,15); } /* sprite */ } /* Z hw */ @@ -981,7 +981,7 @@ VIDEO_UPDATE( megasys1 ) } } - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); flag = TILEMAP_DRAW_OPAQUE; primask = 0; diff --git a/src/mame/video/metro.c b/src/mame/video/metro.c index ed71e72cb7d..e974f4a0749 100644 --- a/src/mame/video/metro.c +++ b/src/mame/video/metro.c @@ -703,7 +703,7 @@ void metro_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectan flipx, flipy, x, y, zoom, zoom, - priority_bitmap,primask[pri], 255); + machine->priority_bitmap,primask[pri], 255); } else { @@ -719,7 +719,7 @@ void metro_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectan flipx, flipy, x, y, zoom, zoom, - priority_bitmap,primask[pri], 15); + machine->priority_bitmap,primask[pri], 15); } #if 0 { /* Display priority + zoom on each sprite */ @@ -888,7 +888,7 @@ VIDEO_UPDATE( metro ) metro_sprite_yoffs = metro_videoregs[0x04/2] - video_screen_get_height(screen) / 2; /* The background color is selected by a register */ - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); bitmap_fill(bitmap,cliprect,((metro_videoregs[0x12/2] & 0x0fff)) + 0x1000); /* Screen Control Register: diff --git a/src/mame/video/model1.c b/src/mame/video/model1.c index 83342ab3bba..a5a9fb3f898 100644 --- a/src/mame/video/model1.c +++ b/src/mame/video/model1.c @@ -1505,7 +1505,7 @@ VIDEO_UPDATE(model1) ayyc = cos(ayy); ayys = sin(ayy); - bitmap_fill(priority_bitmap, NULL, 0); + bitmap_fill(screen->machine->priority_bitmap, NULL, 0); bitmap_fill(bitmap, cliprect, screen->machine->pens[0]); sys24_tile_draw(screen->machine, bitmap, cliprect, 6, 0, 0); diff --git a/src/mame/video/moo.c b/src/mame/video/moo.c index 8b86b1df987..0cc9139bff0 100644 --- a/src/mame/video/moo.c +++ b/src/mame/video/moo.c @@ -146,7 +146,7 @@ VIDEO_UPDATE(moo) K054338_update_all_shadows(screen->machine); K054338_fill_backcolor(screen->machine, bitmap, 0); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); if (layerpri[0] < K053251_get_priority(K053251_CI1)) /* bucky hides back layer behind background */ K056832_tilemap_draw(screen->machine, bitmap, cliprect, layers[0], 0, 1); diff --git a/src/mame/video/ms32.c b/src/mame/video/ms32.c index 830ce5771db..bf3d1f84e98 100644 --- a/src/mame/video/ms32.c +++ b/src/mame/video/ms32.c @@ -368,7 +368,7 @@ if (input_code_pressed(KEYCODE_F) && (pri & 1)) color = rand(); color, flipx, flipy, sx,sy, - xzoom, yzoom, priority_bitmap,pri_mask, 0); + xzoom, yzoom, machine->priority_bitmap,pri_mask, 0); } /* end sprite loop */ } @@ -479,7 +479,7 @@ VIDEO_UPDATE( ms32 ) tilemap_set_scrolly(ms32_bg_tilemap, 0, scrolly); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); /* TODO: 0 is correct for gametngk, but break f1superb scrolling grid (text at top and bottom of the screen becomes black on black) */ diff --git a/src/mame/video/namcona1.c b/src/mame/video/namcona1.c index e850956b0c6..d6bd23f8e6f 100644 --- a/src/mame/video/namcona1.c +++ b/src/mame/video/namcona1.c @@ -393,7 +393,7 @@ static void pdraw_tile(running_machine *machine, const UINT8 *source = source_base + (y_index>>16) * gfx->line_modulo; const UINT8 *mask_addr = mask_base + (y_index>>16) * mask->line_modulo; UINT16 *dest = BITMAP_ADDR16(dest_bmp, y, 0); - UINT8 *pri = BITMAP_ADDR8(priority_bitmap, y, 0); + UINT8 *pri = BITMAP_ADDR8(machine->priority_bitmap, y, 0); int x, x_index = x_index_base; for( x=sx; x<ex; x++ ) @@ -596,7 +596,7 @@ static void draw_background(running_machine *machine, bitmap_t *bitmap, const re */ draw_pixel_line( BITMAP_ADDR16(bitmap, line, 0), - BITMAP_ADDR8(priority_bitmap, line, 0), + BITMAP_ADDR8(machine->priority_bitmap, line, 0), videoram16 + ydata + 25, paldata ); } @@ -666,7 +666,7 @@ VIDEO_UPDATE( namcona1 ) } } - bitmap_fill( priority_bitmap,cliprect ,0); + bitmap_fill( screen->machine->priority_bitmap,cliprect ,0); bitmap_fill( bitmap, cliprect , 0xff); /* background color? */ diff --git a/src/mame/video/namcos1.c b/src/mame/video/namcos1.c index c97fd64f120..1bf5579599c 100644 --- a/src/mame/video/namcos1.c +++ b/src/mame/video/namcos1.c @@ -328,7 +328,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta flipx,flipy, sx & 0x1ff, ((sy + 16) & 0xff) - 16, - priority_bitmap, pri_mask, + machine->priority_bitmap, pri_mask, 0xf); else pdrawgfx_transtable( bitmap, cliprect, gfx, @@ -337,7 +337,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta flipx,flipy, sx & 0x1ff, ((sy + 16) & 0xff) - 16, - priority_bitmap, pri_mask, + machine->priority_bitmap, pri_mask, drawmode_table, machine->shadow_table); source -= 0x10; @@ -397,7 +397,7 @@ VIDEO_UPDATE( namcos1 ) } - bitmap_fill(priority_bitmap, &new_clip, 0); + bitmap_fill(screen->machine->priority_bitmap, &new_clip, 0); /* bit 0-2 priority */ /* bit 3 disable */ diff --git a/src/mame/video/namcos22.c b/src/mame/video/namcos22.c index 05cacdba25d..0c085762d28 100644 --- a/src/mame/video/namcos22.c +++ b/src/mame/video/namcos22.c @@ -253,6 +253,7 @@ struct _poly_extra_data rgbint fogColor; rgbint fadeColor; const pen_t *pens; + bitmap_t *priority_bitmap; int bn; UINT16 flags; int cmode; @@ -287,7 +288,7 @@ static void renderscanline_uvi_full(void *dest, INT32 scanline, const poly_exten rgbint fadeColor = extra->fadeColor; int penmask, penshift; int prioverchar; - const UINT8 *pCharPri = BITMAP_ADDR8(priority_bitmap, scanline, 0); + const UINT8 *pCharPri = BITMAP_ADDR8(extra->priority_bitmap, scanline, 0); UINT32 *pDest = BITMAP_ADDR32(bitmap, scanline, 0); int x; @@ -437,6 +438,7 @@ static void poly3d_DrawQuad(running_machine *machine, bitmap_t *bitmap, int text extra = (poly_extra_data *)poly_get_extra_data(poly); extra->pens = &machine->pens[(color&0x7f)<<8]; + extra->priority_bitmap = machine->priority_bitmap; extra->bn = textureBank; extra->flags = flags; extra->cmode = cmode; @@ -496,7 +498,7 @@ static void renderscanline_sprite(void *destbase, INT32 scanline, const poly_ext int alpha = extra->alpha; UINT8 *source = (UINT8 *)extra->source + (y_index>>16) * extra->line_modulo; UINT32 *dest = BITMAP_ADDR32(destmap, scanline, 0); - const UINT8 *pCharPri = BITMAP_ADDR8(priority_bitmap, scanline, 0); + const UINT8 *pCharPri = BITMAP_ADDR8(extra->priority_bitmap, scanline, 0); int x; int bFogEnable = 0; @@ -596,6 +598,7 @@ mydrawgfxzoom( extra->prioverchar = prioverchar; extra->line_modulo = gfx->line_modulo; extra->pens = &gfx->machine->pens[gfx->color_base + gfx->color_granularity * (color % gfx->total_colors)]; + extra->priority_bitmap = gfx->machine->priority_bitmap; extra->source = gfx_element_get_data(gfx, code % gfx->total_elements); #ifdef RENDER_AS_QUADS poly_render_quad_fan(poly, dest_bmp, clip, renderscanline_sprite, 2, 4, &vert[0]); @@ -1557,7 +1560,7 @@ static void DrawCharacterLayer(running_machine *machine, bitmap_t *bitmap, const * namcos22_tilemapattr[0x8/4] == 0x01ff0000 * namcos22_tilemapattr[0xe/4] == ? */ - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(machine->priority_bitmap,cliprect,0); tilemap_set_scrollx( bgtilemap,0, (dx-0x35c)&0x3ff ); tilemap_set_scrolly( bgtilemap,0, dy&0x3ff ); tilemap_set_palette_offset( bgtilemap, mixer.palBase*256 ); diff --git a/src/mame/video/namcos86.c b/src/mame/video/namcos86.c index bb0eced2fe2..b7cdddb1f59 100644 --- a/src/mame/video/namcos86.c +++ b/src/mame/video/namcos86.c @@ -316,7 +316,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta flipx,flipy, sx & 0x1ff, ((sy + 16) & 0xff) - 16, - priority_bitmap, pri_mask,0xf); + machine->priority_bitmap, pri_mask,0xf); source -= 0x10; } @@ -353,7 +353,7 @@ VIDEO_UPDATE( namcos86 ) set_scroll(screen->machine, 2); set_scroll(screen->machine, 3); - bitmap_fill(priority_bitmap, cliprect, 0); + bitmap_fill(screen->machine->priority_bitmap, cliprect, 0); bitmap_fill(bitmap,cliprect,screen->machine->gfx[0]->color_base + 8*backcolor+7); diff --git a/src/mame/video/nemesis.c b/src/mame/video/nemesis.c index f4396105239..f73249ecbab 100644 --- a/src/mame/video/nemesis.c +++ b/src/mame/video/nemesis.c @@ -402,7 +402,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta flipx,flipy, sx,sy, zoom,zoom, - priority_bitmap,0xffcc,0 ); + machine->priority_bitmap,0xffcc,0 ); } } /* if sprite */ } /* for loop */ @@ -416,7 +416,7 @@ VIDEO_UPDATE( nemesis ) int offs; rectangle clip; - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); bitmap_fill(bitmap,cliprect,0); clip.min_x = 0; diff --git a/src/mame/video/othldrby.c b/src/mame/video/othldrby.c index 9dd42e801dd..2b951fa5207 100644 --- a/src/mame/video/othldrby.c +++ b/src/mame/video/othldrby.c @@ -196,7 +196,7 @@ VIDEO_UPDATE( othldrby ) } } - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); bitmap_fill(bitmap,cliprect,0); diff --git a/src/mame/video/othunder.c b/src/mame/video/othunder.c index 3966a2b721f..086da6442af 100644 --- a/src/mame/video/othunder.c +++ b/src/mame/video/othunder.c @@ -208,7 +208,7 @@ logerror("Sprite number %04x had %02x invalid chunks\n",tilenum,bad_chunks); sprite_ptr->flipx,sprite_ptr->flipy, sprite_ptr->x,sprite_ptr->y, sprite_ptr->zoomx,sprite_ptr->zoomy, - priority_bitmap,sprite_ptr->primask,0); + machine->priority_bitmap,sprite_ptr->primask,0); } } @@ -227,7 +227,7 @@ VIDEO_UPDATE( othunder ) layer[1] = layer[0]^1; layer[2] = 2; - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); /* Ensure screen blanked even when bottom layer not drawn due to disable bit */ bitmap_fill(bitmap, cliprect, 0); diff --git a/src/mame/video/overdriv.c b/src/mame/video/overdriv.c index 035e03b0a54..5d59e8083c6 100644 --- a/src/mame/video/overdriv.c +++ b/src/mame/video/overdriv.c @@ -77,7 +77,7 @@ VIDEO_UPDATE( overdriv ) zoom_colorbase[1] = K053251_get_palette_index(K053251_CI3); zoom_colorbase[0] = K053251_get_palette_index(K053251_CI4); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); K051316_zoom_draw_0(bitmap,cliprect,0,0); K051316_zoom_draw_1(bitmap,cliprect,0,1); diff --git a/src/mame/video/pacland.c b/src/mame/video/pacland.c index 6133199e329..af21b42711e 100644 --- a/src/mame/video/pacland.c +++ b/src/mame/video/pacland.c @@ -334,14 +334,14 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta color, flipx,flipy, sx + 16*x,sy + 16*y, - priority_bitmap,0,transmask[whichmask][color]); + machine->priority_bitmap,0,transmask[whichmask][color]); } } } } -static void draw_fg(bitmap_t *bitmap, const rectangle *cliprect, int priority ) +static void draw_fg(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int priority ) { int y, x; @@ -353,7 +353,7 @@ static void draw_fg(bitmap_t *bitmap, const rectangle *cliprect, int priority ) /* now copy the fg_bitmap to the destination wherever the sprite pixel allows */ for (y = cliprect->min_y; y <= cliprect->max_y; y++) { - const UINT8 *pri = BITMAP_ADDR8(priority_bitmap, y, 0); + const UINT8 *pri = BITMAP_ADDR8(machine->priority_bitmap, y, 0); UINT16 *src = BITMAP_ADDR16(fg_bitmap, y, 0); UINT16 *dst = BITMAP_ADDR16(bitmap, y, 0); @@ -384,20 +384,20 @@ VIDEO_UPDATE( pacland ) /* draw high priority sprite pixels, setting priority bitmap to non-zero wherever there is a high-priority pixel; note that we draw to the bitmap which is safe because the bg_tilemap draw will overwrite everything */ - bitmap_fill(priority_bitmap, cliprect, 0x00); + bitmap_fill(screen->machine->priority_bitmap, cliprect, 0x00); draw_sprites(screen->machine, bitmap, cliprect, 0); /* draw background */ tilemap_draw(bitmap, cliprect, bg_tilemap, 0, 0); /* draw low priority fg tiles */ - draw_fg(bitmap, cliprect, 0); + draw_fg(screen->machine, bitmap, cliprect, 0); /* draw sprites with regular transparency */ draw_sprites(screen->machine, bitmap, cliprect, 1); /* draw high priority fg tiles */ - draw_fg(bitmap, cliprect, 1); + draw_fg(screen->machine, bitmap, cliprect, 1); /* draw sprite pixels with colortable values >= 0xf0, which have priority over everything */ draw_sprites(screen->machine, bitmap, cliprect, 2); diff --git a/src/mame/video/parodius.c b/src/mame/video/parodius.c index 765e4510c7a..73308e6d2d8 100644 --- a/src/mame/video/parodius.c +++ b/src/mame/video/parodius.c @@ -87,7 +87,7 @@ VIDEO_UPDATE( parodius ) sortlayers(layer,layerpri); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); bitmap_fill(bitmap,cliprect,16 * bg_colorbase); tilemap_draw(bitmap,cliprect,K052109_tilemap[layer[0]],0,1); tilemap_draw(bitmap,cliprect,K052109_tilemap[layer[1]],0,2); diff --git a/src/mame/video/pktgaldx.c b/src/mame/video/pktgaldx.c index 045ae00d045..f57732a6b2f 100644 --- a/src/mame/video/pktgaldx.c +++ b/src/mame/video/pktgaldx.c @@ -88,7 +88,7 @@ VIDEO_UPDATE(pktgaldx) deco16_pf12_update(deco16_pf1_rowscroll,deco16_pf2_rowscroll); bitmap_fill(bitmap,cliprect,0); /* not Confirmed */ - bitmap_fill(priority_bitmap,NULL,0); + bitmap_fill(screen->machine->priority_bitmap,NULL,0); deco16_tilemap_2_draw(screen,bitmap,cliprect,0,0); draw_sprites(screen->machine,bitmap,cliprect); diff --git a/src/mame/video/playmark.c b/src/mame/video/playmark.c index c28311a3b6a..875176ea1f0 100644 --- a/src/mame/video/playmark.c +++ b/src/mame/video/playmark.c @@ -366,11 +366,11 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan color, flipx,0, sx + xoffset,sy + yoffset, - priority_bitmap,pri_masks[pri],0); + machine->priority_bitmap,pri_masks[pri],0); } } -static void draw_bitmap(bitmap_t *bitmap, const rectangle *cliprect) +static void draw_bitmap(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect) { int x,y,count; int color; @@ -389,7 +389,7 @@ static void draw_bitmap(bitmap_t *bitmap, const rectangle *cliprect) { *BITMAP_ADDR16(bitmap, (y + bgscrolly) & 0x1ff, (x + bgscrollx) & 0x1ff) = 0x100 + color; - pri = BITMAP_ADDR8(priority_bitmap, (y + bgscrolly) & 0x1ff, 0); + pri = BITMAP_ADDR8(machine->priority_bitmap, (y + bgscrolly) & 0x1ff, 0); pri[(x + bgscrollx) & 0x1ff] |= 2; } else @@ -399,7 +399,7 @@ static void draw_bitmap(bitmap_t *bitmap, const rectangle *cliprect) { *BITMAP_ADDR16(bitmap, (y / 2 + bgscrolly) & 0x1ff, (x / 2 + bgscrollx) & 0x1ff) = 0x100 + color; - pri = BITMAP_ADDR8(priority_bitmap, (y / 2 + bgscrolly) & 0x1ff, 0); + pri = BITMAP_ADDR8(machine->priority_bitmap, (y / 2 + bgscrolly) & 0x1ff, 0); pri[(x / 2 + bgscrollx) & 0x1ff] |= 2; } } @@ -412,11 +412,11 @@ static void draw_bitmap(bitmap_t *bitmap, const rectangle *cliprect) VIDEO_UPDATE( bigtwin ) { - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); tilemap_draw(bitmap,cliprect,fg_tilemap,0,0); if (bg_enable) - draw_bitmap(bitmap, cliprect); + draw_bitmap(screen->machine, bitmap, cliprect); draw_sprites(screen->machine, bitmap,cliprect,4); tilemap_draw(bitmap,cliprect,tx_tilemap,0,0); return 0; @@ -424,11 +424,11 @@ VIDEO_UPDATE( bigtwin ) VIDEO_UPDATE( excelsr ) { - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); tilemap_draw(bitmap,cliprect,fg_tilemap,0,1); if (bg_enable) - draw_bitmap(bitmap, cliprect); + draw_bitmap(screen->machine, bitmap, cliprect); tilemap_draw(bitmap,cliprect,tx_tilemap,0,4); draw_sprites(screen->machine,bitmap,cliprect,2); return 0; @@ -450,7 +450,7 @@ VIDEO_UPDATE( wbeachvl ) tilemap_set_scrollx(fg_tilemap,0,fgscrollx); } - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); tilemap_draw(bitmap,cliprect,bg_tilemap,0,1); tilemap_draw(bitmap,cliprect,fg_tilemap,0,2); @@ -461,7 +461,7 @@ VIDEO_UPDATE( wbeachvl ) VIDEO_UPDATE( hrdtimes ) { - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); // video enabled if(playmark_scroll[6] & 1) diff --git a/src/mame/video/plygonet.c b/src/mame/video/plygonet.c index 3db9a70174e..8c3fa738b09 100644 --- a/src/mame/video/plygonet.c +++ b/src/mame/video/plygonet.c @@ -84,7 +84,7 @@ VIDEO_START( polygonet ) VIDEO_UPDATE( polygonet ) { - bitmap_fill(priority_bitmap, NULL, 0); + bitmap_fill(screen->machine->priority_bitmap, NULL, 0); bitmap_fill(bitmap, cliprect, get_black_pen(screen->machine)); tilemap_draw(bitmap, cliprect, ttl_tilemap, 0, 1<<0); diff --git a/src/mame/video/psikyo.c b/src/mame/video/psikyo.c index 550b3eaeecb..3b6a5c03b35 100644 --- a/src/mame/video/psikyo.c +++ b/src/mame/video/psikyo.c @@ -385,7 +385,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta attr >> 8, flipx, flipy, x + dx * 16, y + dy * 16, - priority_bitmap, + machine->priority_bitmap, pri[(attr & 0xc0) >> 6],trans_pen); else pdrawgfxzoom_transpen(bitmap,cliprect,machine->gfx[0], @@ -394,7 +394,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta flipx, flipy, x + (dx * zoomx) / 2, y + (dy * zoomy) / 2, zoomx << 11,zoomy << 11, - priority_bitmap,pri[(attr & 0xc0) >> 6],trans_pen); + machine->priority_bitmap,pri[(attr & 0xc0) >> 6],trans_pen); code++; } @@ -577,7 +577,7 @@ VIDEO_UPDATE( psikyo ) bitmap_fill(bitmap,cliprect,get_black_pen(screen->machine)); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); if (layers_ctrl & 1) tilemap_draw(bitmap,cliprect,tmptilemap0, layer0_ctrl & 2 ? TILEMAP_DRAW_OPAQUE : 0, 1); diff --git a/src/mame/video/rallyx.c b/src/mame/video/rallyx.c index d7a7753dcce..6082ab0d33d 100644 --- a/src/mame/video/rallyx.c +++ b/src/mame/video/rallyx.c @@ -548,7 +548,7 @@ static void rallyx_draw_sprites(running_machine *machine, bitmap_t *bitmap, cons color, flipx,flipy, sx,sy, - priority_bitmap,0x02, + machine->priority_bitmap,0x02, colortable_get_transpen_mask(machine->colortable, machine->gfx[1], color, 0)); } } @@ -569,7 +569,7 @@ static void locomotn_draw_sprites(running_machine *machine, bitmap_t *bitmap, co color, flip,flip, sx,sy, - priority_bitmap,0x02, + machine->priority_bitmap,0x02, colortable_get_transpen_mask(machine->colortable, machine->gfx[1], color, 0)); } } @@ -685,7 +685,7 @@ VIDEO_UPDATE( rallyx ) fg_clip.min_x = 28*8; } - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); tilemap_draw(bitmap,&bg_clip,bg_tilemap,0,0); tilemap_draw(bitmap,&fg_clip,fg_tilemap,0,0); @@ -717,7 +717,7 @@ VIDEO_UPDATE( jungler ) fg_clip.min_x = 28*8; } - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); /* tile priority doesn't seem to be supported in Jungler */ tilemap_draw(bitmap,&bg_clip,bg_tilemap,0,0); @@ -762,7 +762,7 @@ VIDEO_UPDATE( locomotn ) fg_clip.min_x = 28*8; } - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); tilemap_draw(bitmap,&bg_clip,bg_tilemap,0,0); tilemap_draw(bitmap,&fg_clip,fg_tilemap,0,0); diff --git a/src/mame/video/rastan.c b/src/mame/video/rastan.c index 080b56f7240..701293cfb44 100644 --- a/src/mame/video/rastan.c +++ b/src/mame/video/rastan.c @@ -102,7 +102,7 @@ VIDEO_UPDATE( rastan ) layer[0] = 0; layer[1] = 1; - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); PC080SN_tilemap_draw(bitmap,cliprect,0,layer[0],TILEMAP_DRAW_OPAQUE,1); PC080SN_tilemap_draw(bitmap,cliprect,0,layer[1],0,2); @@ -122,7 +122,7 @@ VIDEO_UPDATE( opwolf ) layer[0] = 0; layer[1] = 1; - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); PC080SN_tilemap_draw(bitmap,cliprect,0,layer[0],TILEMAP_DRAW_OPAQUE,1); PC080SN_tilemap_draw(bitmap,cliprect,0,layer[1],0,2); @@ -146,7 +146,7 @@ VIDEO_UPDATE( rainbow ) layer[0] = 0; layer[1] = 1; - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); PC080SN_tilemap_draw(bitmap,cliprect,0,layer[0],TILEMAP_DRAW_OPAQUE,1); PC080SN_tilemap_draw(bitmap,cliprect,0,layer[1],0,2); @@ -178,7 +178,7 @@ VIDEO_UPDATE( jumping ) layer[0] = 0; layer[1] = 1; - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); PC080SN_tilemap_draw(bitmap,cliprect,0,layer[0],TILEMAP_DRAW_OPAQUE,0); diff --git a/src/mame/video/relief.c b/src/mame/video/relief.c index 04612024c36..56b9b0ff12b 100644 --- a/src/mame/video/relief.c +++ b/src/mame/video/relief.c @@ -106,6 +106,7 @@ VIDEO_START( relief ) VIDEO_UPDATE( relief ) { + bitmap_t *priority_bitmap = screen->machine->priority_bitmap; atarimo_rect_list rectlist; bitmap_t *mobitmap; int x, y, r; diff --git a/src/mame/video/rohga.c b/src/mame/video/rohga.c index 7bfa993e2a0..0b6028c47dd 100644 --- a/src/mame/video/rohga.c +++ b/src/mame/video/rohga.c @@ -135,7 +135,7 @@ static void rohga_draw_sprites(running_machine *machine, bitmap_t *bitmap, const colour, fx,fy, x,y + mult * multi, - priority_bitmap,pri,0); + machine->priority_bitmap,pri,0); multi--; } @@ -440,7 +440,7 @@ static void update_rohga(const device_config *screen, bitmap_t *bitmap, const re deco16_pf34_update(deco16_pf3_rowscroll,deco16_pf4_rowscroll); /* Draw playfields */ - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); bitmap_fill(bitmap,cliprect,screen->machine->pens[768]); switch (deco16_priority&3) @@ -527,7 +527,7 @@ VIDEO_UPDATE( nitrobal ) /* Draw playfields - Palette of 2nd playfield chip visible if playfields turned off */ bitmap_fill(bitmap,cliprect,screen->machine->pens[512]); - bitmap_fill(priority_bitmap,NULL,0); + bitmap_fill(screen->machine->priority_bitmap,NULL,0); deco16_clear_sprite_priority_bitmap(); /* pf3 and pf4 are combined into a single 8bpp bitmap */ diff --git a/src/mame/video/rollerg.c b/src/mame/video/rollerg.c index 1ba3f744de7..671831aca88 100644 --- a/src/mame/video/rollerg.c +++ b/src/mame/video/rollerg.c @@ -68,7 +68,7 @@ VIDEO_START( rollerg ) VIDEO_UPDATE( rollerg ) { - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); bitmap_fill(bitmap,cliprect,16 * bg_colorbase); K051316_zoom_draw_0(bitmap,cliprect,0,1); K053245_sprites_draw(screen->machine,0,bitmap,cliprect); diff --git a/src/mame/video/rungun.c b/src/mame/video/rungun.c index dfe7267b155..cb5c91a54f3 100644 --- a/src/mame/video/rungun.c +++ b/src/mame/video/rungun.c @@ -112,7 +112,7 @@ VIDEO_START(rng) VIDEO_UPDATE(rng) { bitmap_fill(bitmap, cliprect, get_black_pen(screen->machine)); - bitmap_fill(priority_bitmap, cliprect, 0); + bitmap_fill(screen->machine->priority_bitmap, cliprect, 0); K053936_0_zoom_draw(bitmap, cliprect, rng_936_tilemap, 0, 0, 1); diff --git a/src/mame/video/segahang.c b/src/mame/video/segahang.c index ef449ac6871..ab8eb69c959 100644 --- a/src/mame/video/segahang.c +++ b/src/mame/video/segahang.c @@ -65,7 +65,7 @@ VIDEO_UPDATE( hangon ) } /* reset priorities */ - bitmap_fill(priority_bitmap, cliprect, 0); + bitmap_fill(screen->machine->priority_bitmap, cliprect, 0); /* draw the low priority road layer */ segaic16_road_draw(0, bitmap, cliprect, SEGAIC16_ROAD_BACKGROUND); diff --git a/src/mame/video/segaic16.c b/src/mame/video/segaic16.c index 92929866dce..aa25214e454 100644 --- a/src/mame/video/segaic16.c +++ b/src/mame/video/segaic16.c @@ -1558,7 +1558,7 @@ static void segaic16_sprites_hangon_draw(running_machine *machine, struct sprite if (y >= cliprect->min_y && y <= cliprect->max_y) { UINT16 *dest = BITMAP_ADDR16(bitmap, y, 0); - UINT8 *pri = BITMAP_ADDR8(priority_bitmap, y, 0); + UINT8 *pri = BITMAP_ADDR8(machine->priority_bitmap, y, 0); int xacc = 0x00; /* note that the System 16A sprites have a design flaw that allows the address */ @@ -1723,7 +1723,7 @@ static void segaic16_sprites_sharrier_draw(running_machine *machine, struct spri if (y >= cliprect->min_y && y <= cliprect->max_y) { UINT16 *dest = BITMAP_ADDR16(bitmap, y, 0); - UINT8 *pri = BITMAP_ADDR8(priority_bitmap, y, 0); + UINT8 *pri = BITMAP_ADDR8(machine->priority_bitmap, y, 0); int xacc = 0x00; /* note that the System 16A sprites have a design flaw that allows the address */ @@ -1891,7 +1891,7 @@ static void segaic16_sprites_16a_draw(running_machine *machine, struct sprite_in if (y >= cliprect->min_y && y <= cliprect->max_y) { UINT16 *dest = BITMAP_ADDR16(bitmap, y, 0); - UINT8 *pri = BITMAP_ADDR8(priority_bitmap, y, 0); + UINT8 *pri = BITMAP_ADDR8(machine->priority_bitmap, y, 0); /* note that the System 16A sprites have a design flaw that allows the address */ /* to carry into the flip flag, which is the topmost bit -- it is very important */ @@ -2079,7 +2079,7 @@ static void segaic16_sprites_16b_draw(running_machine *machine, struct sprite_in if (y >= cliprect->min_y && y <= cliprect->max_y) { UINT16 *dest = BITMAP_ADDR16(bitmap, y, 0); - UINT8 *pri = BITMAP_ADDR8(priority_bitmap, y, 0); + UINT8 *pri = BITMAP_ADDR8(machine->priority_bitmap, y, 0); int xacc; /* compute the initial X zoom accumulator; this is verified on the real PCB */ @@ -2231,7 +2231,7 @@ static void segaic16_sprites_yboard_16b_draw(running_machine *machine, struct sp if (y >= cliprect->min_y && y <= cliprect->max_y) { UINT16 *dest = BITMAP_ADDR16(bitmap, y, 0); - UINT8 *pri = BITMAP_ADDR8(priority_bitmap, y, 0); + UINT8 *pri = BITMAP_ADDR8(machine->priority_bitmap, y, 0); int xacc; /* compute the initial X zoom accumulator; this is verified on the real PCB */ @@ -2399,7 +2399,7 @@ static void segaic16_sprites_outrun_draw(running_machine *machine, struct sprite if (y >= cliprect->min_y && y <= cliprect->max_y) { UINT16 *dest = BITMAP_ADDR16(bitmap, y, 0); - UINT8 *pri = BITMAP_ADDR8(priority_bitmap, y, 0); + UINT8 *pri = BITMAP_ADDR8(machine->priority_bitmap, y, 0); int xacc = 0; /* non-flipped case */ @@ -2734,7 +2734,7 @@ static void segaic16_sprites_yboard_draw(running_machine *machine, struct sprite if (y >= cliprect->min_y && y <= cliprect->max_y) \ { \ UINT16 *dest = BITMAP_ADDR16(bitmap, y, 0); \ - UINT8 *pri = BITMAP_ADDR8(priority_bitmap, y, 0); \ + UINT8 *pri = BITMAP_ADDR8(machine->priority_bitmap, y, 0); \ \ /* note that the System 16A sprites have a design flaw that allows the address */ \ /* to carry into the flip flag, which is the topmost bit -- it is very important */ \ @@ -3741,7 +3741,7 @@ void segaic16_rotate_init(running_machine *machine, int which, int type, int col * *************************************/ -void segaic16_rotate_draw(int which, bitmap_t *bitmap, const rectangle *cliprect, bitmap_t *srcbitmap) +void segaic16_rotate_draw(running_machine *machine, int which, bitmap_t *bitmap, const rectangle *cliprect, bitmap_t *srcbitmap) { struct rotate_info *info = &rotate[which]; INT32 currx = (info->buffer[0x3f0] << 16) | info->buffer[0x3f1]; @@ -3761,7 +3761,7 @@ void segaic16_rotate_draw(int which, bitmap_t *bitmap, const rectangle *cliprect { UINT16 *dest = BITMAP_ADDR16(bitmap, y, 0); UINT16 *src = (UINT16 *)srcbitmap->base; - UINT8 *pri = BITMAP_ADDR8(priority_bitmap, y, 0); + UINT8 *pri = BITMAP_ADDR8(machine->priority_bitmap, y, 0); INT32 tx = currx; INT32 ty = curry; diff --git a/src/mame/video/segaic16.h b/src/mame/video/segaic16.h index 2e865d0a957..0d629b8f059 100644 --- a/src/mame/video/segaic16.h +++ b/src/mame/video/segaic16.h @@ -88,5 +88,5 @@ WRITE16_HANDLER( segaic16_road_control_0_w ); #define SEGAIC16_ROTATE_YBOARD 0 void segaic16_rotate_init(running_machine *machine, int which, int type, int colorbase); -void segaic16_rotate_draw(int which, bitmap_t *bitmap, const rectangle *cliprect, bitmap_t *srcbitmap); +void segaic16_rotate_draw(running_machine *machine, int which, bitmap_t *bitmap, const rectangle *cliprect, bitmap_t *srcbitmap); READ16_HANDLER( segaic16_rotate_control_0_r ); diff --git a/src/mame/video/segaic24.c b/src/mame/video/segaic24.c index a49c71173d8..a4c5fedea2a 100644 --- a/src/mame/video/segaic24.c +++ b/src/mame/video/segaic24.c @@ -172,13 +172,13 @@ static void sys24_tile_draw_rect(running_machine *machine, bitmap_t *bm, bitmap_ int y; const UINT16 *source = ((UINT16 *)bm->base) + sx + sy*bm->rowpixels; const UINT8 *trans = ((UINT8 *) tm->base) + sx + sy*tm->rowpixels; - UINT8 *prib = (UINT8 *)priority_bitmap->base; + UINT8 *prib = (UINT8 *)machine->priority_bitmap->base; UINT16 *dest = (UINT16 *)dm->base; tpri |= TILEMAP_PIXEL_LAYER0; dest += yy1*dm->rowpixels + xx1; - prib += yy1*priority_bitmap->rowpixels + xx1; + prib += yy1*machine->priority_bitmap->rowpixels + xx1; mask += yy1*4; yy2 -= yy1; @@ -290,7 +290,7 @@ static void sys24_tile_draw_rect(running_machine *machine, bitmap_t *bm, bitmap_ source += bm->rowpixels; trans += tm->rowpixels; dest += dm->rowpixels; - prib += priority_bitmap->rowpixels; + prib += machine->priority_bitmap->rowpixels; mask += 4; } } @@ -298,7 +298,7 @@ static void sys24_tile_draw_rect(running_machine *machine, bitmap_t *bm, bitmap_ // The rgb version is used by model 1 & 2 which do not need to care // about sprite priority hence the lack of support for the -// priority_bitmap +// machine->priority_bitmap static void sys24_tile_draw_rect_rgb(running_machine *machine, bitmap_t *bm, bitmap_t *tm, bitmap_t *dm, const UINT16 *mask, UINT16 tpri, UINT8 lpri, int win, int sx, int sy, int xx1, int yy1, int xx2, int yy2) @@ -679,7 +679,7 @@ void sys24_sprite_vh_start(running_machine *machine) 0 11------ -------- */ -void sys24_sprite_draw(bitmap_t *bitmap, const rectangle *cliprect, const int *spri) +void sys24_sprite_draw(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, const int *spri) { UINT16 curspr = 0; int countspr = 0; @@ -841,7 +841,7 @@ void sys24_sprite_draw(bitmap_t *bitmap, const rectangle *cliprect, const int *s int zx1 = flipx ? 7-zx : zx; UINT32 neweroffset = (newoffset+(zx1>>2))&0x1ffff; // crackdown sometimes attempts to use data past the end of spriteram int c = (sys24_sprite_ram[neweroffset] >> (((~zx1) & 3) << 2)) & 0xf; - UINT8 *pri = BITMAP_ADDR8(priority_bitmap, ypos1, xpos2); + UINT8 *pri = BITMAP_ADDR8(machine->priority_bitmap, ypos1, xpos2); if(!(*pri & pm[c])) { c = colors[c]; if(c) { diff --git a/src/mame/video/segaic24.h b/src/mame/video/segaic24.h index 22e26b1db5a..6a199171388 100644 --- a/src/mame/video/segaic24.h +++ b/src/mame/video/segaic24.h @@ -27,7 +27,7 @@ WRITE32_HANDLER(sys24_char32_w); // Sprites // System24 void sys24_sprite_vh_start(running_machine *machine); -void sys24_sprite_draw(bitmap_t *bitmap, const rectangle *cliprect, const int *spri); +void sys24_sprite_draw(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, const int *spri); WRITE16_HANDLER (sys24_sprite_w); READ16_HANDLER (sys24_sprite_r); diff --git a/src/mame/video/segaorun.c b/src/mame/video/segaorun.c index e740e13ea42..926493ba52e 100644 --- a/src/mame/video/segaorun.c +++ b/src/mame/video/segaorun.c @@ -58,7 +58,7 @@ VIDEO_START( outrun ) VIDEO_UPDATE( shangon ) { /* reset priorities */ - bitmap_fill(priority_bitmap, cliprect, 0); + bitmap_fill(screen->machine->priority_bitmap, cliprect, 0); /* draw the low priority road layer */ segaic16_road_draw(0, bitmap, cliprect, SEGAIC16_ROAD_BACKGROUND); @@ -96,7 +96,7 @@ VIDEO_UPDATE( outrun ) } /* reset priorities */ - bitmap_fill(priority_bitmap, cliprect, 0); + bitmap_fill(screen->machine->priority_bitmap, cliprect, 0); /* draw the low priority road layer */ segaic16_road_draw(0, bitmap, cliprect, SEGAIC16_ROAD_BACKGROUND); diff --git a/src/mame/video/segas16a.c b/src/mame/video/segas16a.c index ffbf785ba08..78e3f4bc7b9 100644 --- a/src/mame/video/segas16a.c +++ b/src/mame/video/segas16a.c @@ -46,7 +46,7 @@ VIDEO_UPDATE( system16a ) } /* reset priorities */ - bitmap_fill(priority_bitmap, cliprect, 0); + bitmap_fill(screen->machine->priority_bitmap, cliprect, 0); /* draw background opaquely first, not setting any priorities */ segaic16_tilemap_draw(screen, bitmap, cliprect, 0, SEGAIC16_TILEMAP_BACKGROUND, 0 | TILEMAP_DRAW_OPAQUE, 0x00); diff --git a/src/mame/video/segas16b.c b/src/mame/video/segas16b.c index a2b3d1e84c3..4c42de4c095 100644 --- a/src/mame/video/segas16b.c +++ b/src/mame/video/segas16b.c @@ -58,7 +58,7 @@ VIDEO_UPDATE( system16b ) } /* reset priorities */ - bitmap_fill(priority_bitmap, cliprect, 0); + bitmap_fill(screen->machine->priority_bitmap, cliprect, 0); /* draw background opaquely first, not setting any priorities */ segaic16_tilemap_draw(screen, bitmap, cliprect, 0, SEGAIC16_TILEMAP_BACKGROUND, 0 | TILEMAP_DRAW_OPAQUE, 0x00); diff --git a/src/mame/video/segas18.c b/src/mame/video/segas18.c index 06c6d24526d..a74d993ee9a 100644 --- a/src/mame/video/segas18.c +++ b/src/mame/video/segas18.c @@ -122,9 +122,10 @@ void system18_set_vdp_mixing(running_machine *machine, int mixing) * *************************************/ -static void draw_vdp(bitmap_t *bitmap, const rectangle *cliprect, int priority) +static void draw_vdp(const device_config *screen, bitmap_t *bitmap, const rectangle *cliprect, int priority) { int x, y; + bitmap_t *priority_bitmap = screen->machine->priority_bitmap; for (y = cliprect->min_y; y <= cliprect->max_y; y++) { @@ -214,27 +215,27 @@ VIDEO_UPDATE( system18 ) system18_vdp_update(tempbitmap, cliprect); /* reset priorities */ - bitmap_fill(priority_bitmap, cliprect, 0); + bitmap_fill(screen->machine->priority_bitmap, cliprect, 0); /* draw background opaquely first, not setting any priorities */ segaic16_tilemap_draw(screen, bitmap, cliprect, 0, SEGAIC16_TILEMAP_BACKGROUND, 0 | TILEMAP_DRAW_OPAQUE, 0x00); segaic16_tilemap_draw(screen, bitmap, cliprect, 0, SEGAIC16_TILEMAP_BACKGROUND, 1 | TILEMAP_DRAW_OPAQUE, 0x00); - if (vdp_enable && vdplayer == 0) draw_vdp(bitmap, cliprect, vdppri); + if (vdp_enable && vdplayer == 0) draw_vdp(screen, bitmap, cliprect, vdppri); /* draw background again to draw non-transparent pixels over the VDP and set the priority */ segaic16_tilemap_draw(screen, bitmap, cliprect, 0, SEGAIC16_TILEMAP_BACKGROUND, 0, 0x01); segaic16_tilemap_draw(screen, bitmap, cliprect, 0, SEGAIC16_TILEMAP_BACKGROUND, 1, 0x02); - if (vdp_enable && vdplayer == 1) draw_vdp(bitmap, cliprect, vdppri); + if (vdp_enable && vdplayer == 1) draw_vdp(screen, bitmap, cliprect, vdppri); /* draw foreground */ segaic16_tilemap_draw(screen, bitmap, cliprect, 0, SEGAIC16_TILEMAP_FOREGROUND, 0, 0x02); segaic16_tilemap_draw(screen, bitmap, cliprect, 0, SEGAIC16_TILEMAP_FOREGROUND, 1, 0x04); - if (vdp_enable && vdplayer == 2) draw_vdp(bitmap, cliprect, vdppri); + if (vdp_enable && vdplayer == 2) draw_vdp(screen, bitmap, cliprect, vdppri); /* text layer */ segaic16_tilemap_draw(screen, bitmap, cliprect, 0, SEGAIC16_TILEMAP_TEXT, 0, 0x04); segaic16_tilemap_draw(screen, bitmap, cliprect, 0, SEGAIC16_TILEMAP_TEXT, 1, 0x08); - if (vdp_enable && vdplayer == 3) draw_vdp(bitmap, cliprect, vdppri); + if (vdp_enable && vdplayer == 3) draw_vdp(screen, bitmap, cliprect, vdppri); /* draw the sprites */ segaic16_sprites_draw(screen, bitmap, cliprect, 0); diff --git a/src/mame/video/segas24.c b/src/mame/video/segas24.c index 61f0de481c6..c037277df08 100644 --- a/src/mame/video/segas24.c +++ b/src/mame/video/segas24.c @@ -31,7 +31,7 @@ VIDEO_UPDATE(system24) return 0; } - bitmap_fill(priority_bitmap, 0, 0); + bitmap_fill(screen->machine->priority_bitmap, 0, 0); bitmap_fill(bitmap, cliprect, 0); for(i=0; i<12; i++) @@ -47,6 +47,6 @@ VIDEO_UPDATE(system24) level++; } - sys24_sprite_draw(bitmap, cliprect, spri); + sys24_sprite_draw(screen->machine, bitmap, cliprect, spri); return 0; } diff --git a/src/mame/video/segaxbd.c b/src/mame/video/segaxbd.c index 62bb4847cd9..840aefd5413 100644 --- a/src/mame/video/segaxbd.c +++ b/src/mame/video/segaxbd.c @@ -73,7 +73,7 @@ VIDEO_UPDATE( xboard ) } /* reset priorities */ - bitmap_fill(priority_bitmap, cliprect, 0); + bitmap_fill(screen->machine->priority_bitmap, cliprect, 0); /* draw the low priority road layer */ segaic16_road_draw(0, bitmap, cliprect, SEGAIC16_ROAD_BACKGROUND); diff --git a/src/mame/video/segaybd.c b/src/mame/video/segaybd.c index 199ed641a57..2443990107f 100644 --- a/src/mame/video/segaybd.c +++ b/src/mame/video/segaybd.c @@ -67,7 +67,7 @@ VIDEO_UPDATE( yboard ) segaic16_sprites_draw(screen, yboard_bitmap, &yboard_clip, 1); /* apply rotation */ - segaic16_rotate_draw(0, bitmap, cliprect, yboard_bitmap); + segaic16_rotate_draw(screen->machine, 0, bitmap, cliprect, yboard_bitmap); /* draw the 16B sprites */ segaic16_sprites_draw(screen, bitmap, cliprect, 0); diff --git a/src/mame/video/shadfrce.c b/src/mame/video/shadfrce.c index ee527ebfbfb..9a74a08fc30 100644 --- a/src/mame/video/shadfrce.c +++ b/src/mame/video/shadfrce.c @@ -139,10 +139,10 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta height++; if (enable) { for (hcount=0;hcount<height;hcount++) { - pdrawgfx_transpen(bitmap,cliprect,gfx,tile+hcount,pal,flipx,flipy,xpos,ypos-hcount*16-16,priority_bitmap,pri_mask,0); - pdrawgfx_transpen(bitmap,cliprect,gfx,tile+hcount,pal,flipx,flipy,xpos-0x200,ypos-hcount*16-16,priority_bitmap,pri_mask,0); - pdrawgfx_transpen(bitmap,cliprect,gfx,tile+hcount,pal,flipx,flipy,xpos,ypos-hcount*16-16+0x200,priority_bitmap,pri_mask,0); - pdrawgfx_transpen(bitmap,cliprect,gfx,tile+hcount,pal,flipx,flipy,xpos-0x200,ypos-hcount*16-16+0x200,priority_bitmap,pri_mask,0); + pdrawgfx_transpen(bitmap,cliprect,gfx,tile+hcount,pal,flipx,flipy,xpos,ypos-hcount*16-16,machine->priority_bitmap,pri_mask,0); + pdrawgfx_transpen(bitmap,cliprect,gfx,tile+hcount,pal,flipx,flipy,xpos-0x200,ypos-hcount*16-16,machine->priority_bitmap,pri_mask,0); + pdrawgfx_transpen(bitmap,cliprect,gfx,tile+hcount,pal,flipx,flipy,xpos,ypos-hcount*16-16+0x200,machine->priority_bitmap,pri_mask,0); + pdrawgfx_transpen(bitmap,cliprect,gfx,tile+hcount,pal,flipx,flipy,xpos-0x200,ypos-hcount*16-16+0x200,machine->priority_bitmap,pri_mask,0); } } source-=8; @@ -151,7 +151,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta VIDEO_UPDATE( shadfrce ) { - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); if(shadfrce_video_enable) { diff --git a/src/mame/video/shootout.c b/src/mame/video/shootout.c index ba31c90acce..d30826cdcf2 100644 --- a/src/mame/video/shootout.c +++ b/src/mame/video/shootout.c @@ -127,7 +127,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta 0 /*color*/, flipx,flipy, vx,vy, - priority_bitmap, + machine->priority_bitmap, priority_mask,0); number++; @@ -146,7 +146,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta 0 /*color*/, flipx,flipy, vx,vy, - priority_bitmap, + machine->priority_bitmap, priority_mask,0); } } @@ -156,7 +156,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta VIDEO_UPDATE( shootout ) { - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); tilemap_draw(bitmap,cliprect,background,0,0); tilemap_draw(bitmap,cliprect,foreground,0,1); @@ -166,7 +166,7 @@ VIDEO_UPDATE( shootout ) VIDEO_UPDATE( shootouj ) { - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); tilemap_draw(bitmap,cliprect,background,0,0); tilemap_draw(bitmap,cliprect,foreground,0,1); diff --git a/src/mame/video/silkroad.c b/src/mame/video/silkroad.c index c20bc83eb70..1e938f2a83a 100644 --- a/src/mame/video/silkroad.c +++ b/src/mame/video/silkroad.c @@ -37,13 +37,13 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta if (!flipx) { for (wcount=0;wcount<width;wcount++) { - pdrawgfx_transpen(bitmap,cliprect,gfx,tileno+wcount,color,0,0,xpos+wcount*16+8,ypos,priority_bitmap,pri_mask,0); + pdrawgfx_transpen(bitmap,cliprect,gfx,tileno+wcount,color,0,0,xpos+wcount*16+8,ypos,machine->priority_bitmap,pri_mask,0); } } else { for (wcount=width;wcount>0;wcount--) { - pdrawgfx_transpen(bitmap,cliprect,gfx,tileno+(width-wcount),color,1,0,xpos+wcount*16-16+8,ypos,priority_bitmap,pri_mask,0); + pdrawgfx_transpen(bitmap,cliprect,gfx,tileno+(width-wcount),color,1,0,xpos+wcount*16-16+8,ypos,machine->priority_bitmap,pri_mask,0); } } @@ -132,7 +132,7 @@ VIDEO_START(silkroad) VIDEO_UPDATE(silkroad) { - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); bitmap_fill(bitmap,cliprect,0x7c0); tilemap_set_scrollx( fg_tilemap, 0, ((silkroad_regs[0] & 0xffff0000) >> 16) ); diff --git a/src/mame/video/simpl156.c b/src/mame/video/simpl156.c index 9d2bb31c517..504d38f7ff1 100644 --- a/src/mame/video/simpl156.c +++ b/src/mame/video/simpl156.c @@ -103,7 +103,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan colour, fx,fy, x,y + mult * multi, - priority_bitmap,pri,0); + machine->priority_bitmap,pri,0); multi--; } @@ -113,7 +113,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan VIDEO_UPDATE( simpl156 ) { - bitmap_fill(priority_bitmap,NULL,0); + bitmap_fill(screen->machine->priority_bitmap,NULL,0); deco16_pf12_update(deco16_pf1_rowscroll,deco16_pf2_rowscroll); diff --git a/src/mame/video/simpsons.c b/src/mame/video/simpsons.c index 727eb3eb6b4..2ad4839b278 100644 --- a/src/mame/video/simpsons.c +++ b/src/mame/video/simpsons.c @@ -162,7 +162,7 @@ VIDEO_UPDATE( simpsons ) sortlayers(layer,layerpri); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); bitmap_fill(bitmap,cliprect,16 * bg_colorbase); tilemap_draw(bitmap,cliprect,K052109_tilemap[layer[0]],0,1); tilemap_draw(bitmap,cliprect,K052109_tilemap[layer[1]],0,2); diff --git a/src/mame/video/slapshot.c b/src/mame/video/slapshot.c index e3e0fdf8f43..b32f637c202 100644 --- a/src/mame/video/slapshot.c +++ b/src/mame/video/slapshot.c @@ -432,7 +432,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan sprite_ptr->flipx,sprite_ptr->flipy, sprite_ptr->x,sprite_ptr->y, sprite_ptr->zoomx,sprite_ptr->zoomy, - priority_bitmap,sprite_ptr->primask,0); + machine->priority_bitmap,sprite_ptr->primask,0); } } @@ -576,28 +576,28 @@ VIDEO_UPDATE( slapshot ) spritepri[2] = TC0360PRI_regs[7] & 0x0f; spritepri[3] = TC0360PRI_regs[7] >> 4; - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); bitmap_fill(bitmap,cliprect,0); #ifdef MAME_DEBUG if (dislayer[layer[0]]==0) #endif - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[0],0,1); + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[0],0,1); #ifdef MAME_DEBUG if (dislayer[layer[1]]==0) #endif - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[1],0,2); + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[1],0,2); #ifdef MAME_DEBUG if (dislayer[layer[2]]==0) #endif - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[2],0,4); + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[2],0,4); #ifdef MAME_DEBUG if (dislayer[layer[3]]==0) #endif - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[3],0,8); + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[3],0,8); { int primasks[4] = {0,0,0,0}; @@ -623,7 +623,7 @@ VIDEO_UPDATE( slapshot ) #ifdef MAME_DEBUG if (dislayer[layer[4]]==0) #endif - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[4],0,0); + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[4],0,0); return 0; } diff --git a/src/mame/video/spy.c b/src/mame/video/spy.c index f8c66ccf29c..793b1569e1e 100644 --- a/src/mame/video/spy.c +++ b/src/mame/video/spy.c @@ -68,7 +68,7 @@ VIDEO_UPDATE( spy ) { K052109_tilemap_update(); - bitmap_fill(priority_bitmap, cliprect, 0); + bitmap_fill(screen->machine->priority_bitmap, cliprect, 0); if (!spy_video_enable) bitmap_fill(bitmap,cliprect,16 * layer_colorbase[0]); diff --git a/src/mame/video/stfight.c b/src/mame/video/stfight.c index 2b3c5d524ee..70bd138a8f4 100644 --- a/src/mame/video/stfight.c +++ b/src/mame/video/stfight.c @@ -286,7 +286,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta color, flipx,flip_screen_get(machine), sx,sy, - priority_bitmap, + machine->priority_bitmap, pri ? 0x02 : 0,0x0f); } } @@ -297,7 +297,7 @@ VIDEO_UPDATE( stfight ) { set_pens(screen->machine->colortable); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); bitmap_fill(bitmap,cliprect,0); /* in case bg_tilemap is disabled */ tilemap_draw(bitmap,cliprect,bg_tilemap,0,0); diff --git a/src/mame/video/superchs.c b/src/mame/video/superchs.c index f3d77cfb0ec..74277d8cf4f 100644 --- a/src/mame/video/superchs.c +++ b/src/mame/video/superchs.c @@ -201,7 +201,7 @@ logerror("Sprite number %04x had %02x invalid chunks\n",tilenum,bad_chunks); sprite_ptr->flipx,sprite_ptr->flipy, sprite_ptr->x,sprite_ptr->y, sprite_ptr->zoomx,sprite_ptr->zoomy, - priority_bitmap,sprite_ptr->primask,0); + machine->priority_bitmap,sprite_ptr->primask,0); } } @@ -225,24 +225,24 @@ VIDEO_UPDATE( superchs ) layer[3] = (priority &0x000f) >> 0; /* tells us which is top */ layer[4] = 4; /* text layer always over bg layers */ - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); /* We have to assume 2nd to bottom layer is always underneath sprites as pdrawgfx cannot yet cope with more than 4 layers */ #ifdef MAME_DEBUG - if (!input_code_pressed (KEYCODE_Z)) TC0480SCP_tilemap_draw(bitmap,cliprect,layer[0],TILEMAP_DRAW_OPAQUE,0); - if (!input_code_pressed (KEYCODE_X)) TC0480SCP_tilemap_draw(bitmap,cliprect,layer[1],0,1); - if (!input_code_pressed (KEYCODE_C)) TC0480SCP_tilemap_draw(bitmap,cliprect,layer[2],0,2); - if (!input_code_pressed (KEYCODE_V)) TC0480SCP_tilemap_draw(bitmap,cliprect,layer[3],0,4); - if (!input_code_pressed (KEYCODE_B)) TC0480SCP_tilemap_draw(bitmap,cliprect,layer[4],0,8); + if (!input_code_pressed (KEYCODE_Z)) TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[0],TILEMAP_DRAW_OPAQUE,0); + if (!input_code_pressed (KEYCODE_X)) TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[1],0,1); + if (!input_code_pressed (KEYCODE_C)) TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[2],0,2); + if (!input_code_pressed (KEYCODE_V)) TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[3],0,4); + if (!input_code_pressed (KEYCODE_B)) TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[4],0,8); if (!input_code_pressed (KEYCODE_N)) draw_sprites(screen->machine,bitmap,cliprect,primasks,48,-116); #else - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[0],TILEMAP_DRAW_OPAQUE,0); - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[1],0,1); - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[2],0,2); - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[3],0,4); - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[4],0,8); /* text layer */ + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[0],TILEMAP_DRAW_OPAQUE,0); + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[1],0,1); + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[2],0,2); + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[3],0,4); + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[4],0,8); /* text layer */ draw_sprites(screen->machine, bitmap,cliprect,primasks,48,-116); #endif return 0; diff --git a/src/mame/video/surpratk.c b/src/mame/video/surpratk.c index ef6161ebc18..e542dd93498 100644 --- a/src/mame/video/surpratk.c +++ b/src/mame/video/surpratk.c @@ -88,7 +88,7 @@ VIDEO_UPDATE( surpratk ) sortlayers(layer,layerpri); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); bitmap_fill(bitmap,cliprect,16 * bg_colorbase); tilemap_draw(bitmap,cliprect,K052109_tilemap[layer[0]],0,1); tilemap_draw(bitmap,cliprect,K052109_tilemap[layer[1]],0,2); diff --git a/src/mame/video/system16.c b/src/mame/video/system16.c index 6077c18112a..6bc26455fe1 100644 --- a/src/mame/video/system16.c +++ b/src/mame/video/system16.c @@ -932,7 +932,7 @@ VIDEO_UPDATE( system16 ) update_page(); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); tilemap_set_scrollx( background, 0, -320-sys16_bg_scrollx+sys16_bgxoffset ); tilemap_set_scrolly( background, 0, -256+sys16_bg_scrolly+system16_bootleg_back_tilemap_yscroll ); @@ -993,7 +993,7 @@ VIDEO_UPDATE( system18old ) update_page(); - bitmap_fill(priority_bitmap,NULL,0); + bitmap_fill(screen->machine->priority_bitmap,NULL,0); if(sys18_bg2_active) tilemap_draw( bitmap,cliprect, background2, 0, 0 ); else diff --git a/src/mame/video/taito_f2.c b/src/mame/video/taito_f2.c index 935055987e3..7e71074e168 100644 --- a/src/mame/video/taito_f2.c +++ b/src/mame/video/taito_f2.c @@ -373,7 +373,7 @@ static void taito_f2_tc360_spritemixdraw( bitmap_t *dest_bmp,const rectangle *cl { int pal_base = gfx->color_base + gfx->color_granularity * (color % gfx->total_colors); const UINT8 *source_base = gfx_element_get_data(gfx, code % gfx->total_elements); - + bitmap_t *priority_bitmap = gfx->machine->priority_bitmap; int sprite_screen_height = (scaley*gfx->height+0x8000)>>16; int sprite_screen_width = (scalex*gfx->width+0x8000)>>16; @@ -880,7 +880,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan sprite_ptr->flipx,sprite_ptr->flipy, sprite_ptr->x,sprite_ptr->y, sprite_ptr->zoomx,sprite_ptr->zoomy, - priority_bitmap,sprite_ptr->primask,0); + machine->priority_bitmap,sprite_ptr->primask,0); else taito_f2_tc360_spritemixdraw(bitmap,cliprect,machine->gfx[0], sprite_ptr->code, @@ -1045,7 +1045,7 @@ VIDEO_UPDATE( ssi ) /* SSI only uses sprites, the tilemap registers are not even initialized. (they are in Majestic 12, but the tilemaps are not used anyway) */ - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); bitmap_fill(bitmap,cliprect,0); draw_sprites(screen->machine, bitmap,cliprect,NULL, 0); return 0; @@ -1058,7 +1058,7 @@ VIDEO_UPDATE( yesnoj ) TC0100SCN_tilemap_update(screen->machine); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); bitmap_fill(bitmap,cliprect,0); /* wrong color? */ draw_sprites(screen->machine, bitmap,cliprect,NULL, 0); TC0100SCN_tilemap_draw(screen->machine,bitmap,cliprect,0,TC0100SCN_bottomlayer(0),0,0); @@ -1074,7 +1074,7 @@ VIDEO_UPDATE( taitof2 ) TC0100SCN_tilemap_update(screen->machine); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); bitmap_fill(bitmap,cliprect,0); /* wrong color? */ TC0100SCN_tilemap_draw(screen->machine,bitmap,cliprect,0,TC0100SCN_bottomlayer(0),0,0); TC0100SCN_tilemap_draw(screen->machine,bitmap,cliprect,0,TC0100SCN_bottomlayer(0)^1,0,0); @@ -1106,7 +1106,7 @@ VIDEO_UPDATE( taitof2_pri ) f2_spriteblendmode = TC0360PRI_regs[0]&0xc0; - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); bitmap_fill(bitmap,cliprect,0); /* wrong color? */ TC0100SCN_tilemap_draw(screen->machine,bitmap,cliprect,0,layer[0],0,1); @@ -1165,7 +1165,7 @@ VIDEO_UPDATE( taitof2_pri_roz ) f2_spriteblendmode = TC0360PRI_regs[0]&0xc0; - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); bitmap_fill(bitmap,cliprect,0); /* wrong color? */ drawn=0; @@ -1228,7 +1228,7 @@ VIDEO_UPDATE( thundfox ) spritepri[3] = TC0360PRI_regs[7] >> 4; - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); bitmap_fill(bitmap,cliprect,0); /* wrong color? */ @@ -1361,14 +1361,14 @@ VIDEO_UPDATE( metalb ) f2_spriteblendmode = TC0360PRI_regs[0]&0xc0; - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); bitmap_fill(bitmap,cliprect,0); - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[0],0,1); - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[1],0,2); - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[2],0,4); - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[3],0,8); - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[4],0,16); + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[0],0,1); + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[1],0,2); + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[2],0,4); + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[3],0,8); + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[4],0,16); draw_sprites(screen->machine, bitmap,cliprect,NULL,1); return 0; @@ -1408,13 +1408,13 @@ VIDEO_UPDATE( deadconx ) spritepri[2] = TC0360PRI_regs[7] & 0x0f; spritepri[3] = TC0360PRI_regs[7] >> 4; - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); bitmap_fill(bitmap,cliprect,0); - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[0],0,1); - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[1],0,2); - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[2],0,4); - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[3],0,8); + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[0],0,1); + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[1],0,2); + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[2],0,4); + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[3],0,8); { int primasks[4] = {0,0,0,0}; @@ -1437,6 +1437,6 @@ VIDEO_UPDATE( deadconx ) that the FG layer is always on top of sprites. */ - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[4],0,0); + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[4],0,0); return 0; } diff --git a/src/mame/video/taito_l.c b/src/mame/video/taito_l.c index 30e0a650f66..d86cc0d5dae 100644 --- a/src/mame/video/taito_l.c +++ b/src/mame/video/taito_l.c @@ -282,7 +282,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan color, flipx,flipy, sx,sy, - priority_bitmap, + machine->priority_bitmap, (color & 0x08) ? 0xaa : 0x00,0); } } @@ -310,7 +310,7 @@ VIDEO_UPDATE( taitol ) if (cur_ctrl & 0x20) /* display enable */ { - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); tilemap_draw(bitmap,cliprect,bg19_tilemap,0,0); diff --git a/src/mame/video/taito_z.c b/src/mame/video/taito_z.c index 88d41b7f257..2152db6004c 100644 --- a/src/mame/video/taito_z.c +++ b/src/mame/video/taito_z.c @@ -248,7 +248,7 @@ static void contcirc_draw_sprites_16x8(running_machine *machine, bitmap_t *bitma color, flipx,flipy, curx,cury, - zx<<12,zy<<13,priority_bitmap,primasks[priority],0); + zx<<12,zy<<13,machine->priority_bitmap,primasks[priority],0); } if (bad_chunks) @@ -343,7 +343,7 @@ static void chasehq_draw_sprites_16x16(running_machine *machine, bitmap_t *bitma flipx,flipy, curx,cury, zx<<12,zy<<12, - priority_bitmap,primasks[priority],0); + machine->priority_bitmap,primasks[priority],0); } } else if ((zoomx-1) & 0x20) /* 64x128 sprites, $40000-$5ffff in spritemap rom, OBJB */ @@ -386,7 +386,7 @@ static void chasehq_draw_sprites_16x16(running_machine *machine, bitmap_t *bitma flipx,flipy, curx,cury, zx<<12,zy<<12, - priority_bitmap,primasks[priority],0); + machine->priority_bitmap,primasks[priority],0); } } else if (!((zoomx-1) & 0x60)) /* 32x128 sprites, $60000-$7ffff in spritemap rom, OBJB */ @@ -429,7 +429,7 @@ static void chasehq_draw_sprites_16x16(running_machine *machine, bitmap_t *bitma flipx,flipy, curx,cury, zx<<12,zy<<12, - priority_bitmap,primasks[priority],0); + machine->priority_bitmap,primasks[priority],0); } } @@ -522,7 +522,7 @@ static void bshark_draw_sprites_16x8(running_machine *machine, bitmap_t *bitmap, flipx,flipy, curx,cury, zx<<12,zy<<13, - priority_bitmap,primasks[priority],0); + machine->priority_bitmap,primasks[priority],0); } if (bad_chunks) @@ -623,7 +623,7 @@ static void sci_draw_sprites_16x8(running_machine *machine, bitmap_t *bitmap,con flipx,flipy, curx,cury, zx<<12,zy<<13, - priority_bitmap,primasks[priority],0); + machine->priority_bitmap,primasks[priority],0); } if (bad_chunks) @@ -714,7 +714,7 @@ static void aquajack_draw_sprites_16x8(running_machine *machine, bitmap_t *bitma flipx,flipy, curx,cury, zx<<12,zy<<13, - priority_bitmap,primasks[priority],0); + machine->priority_bitmap,primasks[priority],0); } if (bad_chunks) @@ -805,7 +805,7 @@ static void spacegun_draw_sprites_16x8(running_machine *machine, bitmap_t *bitma flipx,flipy, curx,cury, zx<<12,zy<<13, - priority_bitmap,primasks[priority],0); + machine->priority_bitmap,primasks[priority],0); } if (bad_chunks) @@ -847,7 +847,7 @@ VIDEO_UPDATE( contcirc ) layer[1] = layer[0]^1; layer[2] = 2; - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); bitmap_fill(bitmap, cliprect, 0); @@ -873,7 +873,7 @@ VIDEO_UPDATE( chasehq ) layer[1] = layer[0]^1; layer[2] = 2; - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); /* Ensure screen blanked even when bottom layer not drawn due to disable bit */ bitmap_fill(bitmap, cliprect, 0); @@ -898,7 +898,7 @@ VIDEO_UPDATE( bshark ) layer[1] = layer[0]^1; layer[2] = 2; - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); /* Ensure screen blanked even when bottom layer not drawn due to disable bit */ bitmap_fill(bitmap, cliprect,0); @@ -923,7 +923,7 @@ VIDEO_UPDATE( sci ) layer[1] = layer[0]^1; layer[2] = 2; - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); /* Ensure screen blanked even when bottom layer not drawn due to disable bit */ bitmap_fill(bitmap, cliprect, 0); @@ -948,7 +948,7 @@ VIDEO_UPDATE( aquajack ) layer[1] = layer[0]^1; layer[2] = 2; - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); /* Ensure screen blanked even when bottom layer not drawn due to disable bit */ bitmap_fill(bitmap, cliprect, 0); @@ -973,7 +973,7 @@ VIDEO_UPDATE( spacegun ) layer[1] = layer[0]^1; layer[2] = 2; - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); /* Ensure screen blanked even when bottom layer not drawn due to disable bit */ bitmap_fill(bitmap, cliprect, 0); @@ -1003,21 +1003,21 @@ VIDEO_UPDATE( dblaxle ) layer[3] = (priority &0x000f) >> 0; /* tells us which is top */ layer[4] = 4; /* text layer always over bg layers */ - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); /* Ensure screen blanked - this shouldn't be necessary! */ bitmap_fill(bitmap, cliprect, 0); - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[0],TILEMAP_DRAW_OPAQUE,0); - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[1],0,0); - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[2],0,1); + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[0],TILEMAP_DRAW_OPAQUE,0); + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[1],0,0); + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[2],0,1); TC0150ROD_draw(screen->machine,bitmap,cliprect,-1,0xc0,0,0,1,2); bshark_draw_sprites_16x8(screen->machine, bitmap,cliprect,7); /* This layer used for the big numeric displays */ - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[3],0,4); + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[3],0,4); - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[4],0,0); /* Text layer */ + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[4],0,0); /* Text layer */ return 0; } diff --git a/src/mame/video/taitoic.c b/src/mame/video/taitoic.c index 4eaedf57c63..17600d39436 100644 --- a/src/mame/video/taitoic.c +++ b/src/mame/video/taitoic.c @@ -542,11 +542,11 @@ Newer version of the I/O chip ? /* These scanline drawing routines lifted from Taito F3: optimise / merge ? */ INLINE void taitoic_drawscanline( - bitmap_t *bitmap,int x,int y, - const UINT16 *src,int transparent,UINT32 orient,int pri, const rectangle *cliprect) + bitmap_t *bitmap,const rectangle *cliprect,int x,int y, + const UINT16 *src,int transparent,UINT32 orient,bitmap_t *priority,int pri) { UINT16 *dsti = BITMAP_ADDR16(bitmap, y, x); - UINT8 *dstp = BITMAP_ADDR8(priority_bitmap, y, x); + UINT8 *dstp = BITMAP_ADDR8(priority, y, x); int length=cliprect->max_x - cliprect->min_x + 1; src+=cliprect->min_x; @@ -1068,7 +1068,7 @@ static UINT16 topspeed_get_road_pixel_color(UINT16 pixel,UINT16 color) } -static void topspeed_custom_draw(bitmap_t *bitmap,const rectangle *cliprect,int chip,int layer,int flags, +static void topspeed_custom_draw(running_machine *machine,bitmap_t *bitmap,const rectangle *cliprect,int chip,int layer,int flags, UINT32 priority,UINT16 *color_ctrl_ram) { UINT16 *dst16,*src16; @@ -1147,10 +1147,7 @@ static void topspeed_custom_draw(bitmap_t *bitmap,const rectangle *cliprect,int } } - if (flags & TILEMAP_DRAW_OPAQUE) - taitoic_drawscanline(bitmap,0,y,scanline,0,ROT0,priority,cliprect); - else - taitoic_drawscanline(bitmap,0,y,scanline,1,ROT0,priority,cliprect); + taitoic_drawscanline(bitmap,cliprect,0,y,scanline,(flags & TILEMAP_DRAW_OPAQUE)?0:1,ROT0,machine->priority_bitmap,priority); y_index++; if (!machine_flip) y++; else y--; @@ -1178,9 +1175,9 @@ void PC080SN_tilemap_draw_offset(bitmap_t *bitmap,const rectangle *cliprect,int tilemap_set_scrolldy(PC080SN_tilemap[chip][layer], basedy, basedyflip); } -void PC080SN_tilemap_draw_special(bitmap_t *bitmap,const rectangle *cliprect,int chip,int layer,int flags,UINT32 priority,UINT16 *ram) +void PC080SN_tilemap_draw_special(running_machine *machine,bitmap_t *bitmap,const rectangle *cliprect,int chip,int layer,int flags,UINT32 priority,UINT16 *ram) { - topspeed_custom_draw(bitmap,cliprect,chip,layer,flags,priority,ram); + topspeed_custom_draw(machine,bitmap,cliprect,chip,layer,flags,priority,ram); } @@ -1325,7 +1322,7 @@ void PC090OJ_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rect color, flipx,flipy, x,y, - priority_bitmap, + machine->priority_bitmap, priority ? 0xfc : 0xf0,0); } } @@ -1699,7 +1696,7 @@ void TC0080VCO_tilemap_update(running_machine *machine) /* NB: orientation_flipx code in following routine has not been tested */ -static void TC0080VCO_bg0_tilemap_draw(bitmap_t *bitmap,const rectangle *cliprect,int flags,UINT32 priority) +static void TC0080VCO_bg0_tilemap_draw(running_machine *machine,bitmap_t *bitmap,const rectangle *cliprect,int flags,UINT32 priority) { UINT16 zoom = TC0080VCO_scroll_ram[6]; int zx, zy; @@ -1838,10 +1835,7 @@ static void TC0080VCO_bg0_tilemap_draw(bitmap_t *bitmap,const rectangle *cliprec // scanline,0,0,rot,priority); /*** NEW ***/ - if (flags & TILEMAP_DRAW_OPAQUE) - taitoic_drawscanline(bitmap,0,y,scanline,0,ROT0,priority,cliprect); - else - taitoic_drawscanline(bitmap,0,y,scanline,1,ROT0,priority,cliprect); + taitoic_drawscanline(bitmap,cliprect,0,y,scanline,(flags & TILEMAP_DRAW_OPAQUE)?0:1,ROT0,machine->priority_bitmap,priority); /***********/ y_index += zoomy; @@ -1942,7 +1936,7 @@ static void TC0080VCO_bg1_tilemap_draw(running_machine *machine, bitmap_t *bitma INT32 incyy = zy; int wraparound = 0; UINT32 privalue = priority; - bitmap_t *priority = priority_bitmap; + bitmap_t *priority = machine->priority_bitmap; if (dest->bpp == 16) COPYROZBITMAP_CORE(UINT16, PIXEL_OP_COPY_TRANS0_SET_PRIORITY, UINT8); @@ -1965,11 +1959,11 @@ void TC0080VCO_tilemap_draw(running_machine *machine, bitmap_t *bitmap,const rec { case 0: if (disable & 0x01) return; - TC0080VCO_bg0_tilemap_draw(bitmap,cliprect,flags,priority); + TC0080VCO_bg0_tilemap_draw(machine,bitmap,cliprect,flags,priority); break; case 1: if (disable & 0x02) return; - TC0080VCO_bg1_tilemap_draw(machine, bitmap,cliprect,flags,priority); + TC0080VCO_bg1_tilemap_draw(machine,bitmap,cliprect,flags,priority); break; case 2: if (disable & 0x04) return; @@ -2618,7 +2612,7 @@ void TC0100SCN_tilemap_update(running_machine *machine) } } -static void TC0100SCN_tilemap_draw_fg(bitmap_t *bitmap,const rectangle *cliprect, int chip, tilemap* tmap ,int flags, UINT32 priority) +static void TC0100SCN_tilemap_draw_fg(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int chip, tilemap* tmap, int flags, UINT32 priority) { const bitmap_t *src_bitmap = tilemap_get_pixmap(tmap); int width_mask, height_mask, x, y, p; @@ -2649,9 +2643,9 @@ static void TC0100SCN_tilemap_draw_fg(bitmap_t *bitmap,const rectangle *cliprect if ((p&0xf)!=0 || (flags & TILEMAP_DRAW_OPAQUE)) { *BITMAP_ADDR16(bitmap, y, x + cliprect->min_x) = p; - if (priority_bitmap) + if (machine->priority_bitmap) { - UINT8 *pri = BITMAP_ADDR8(priority_bitmap, y, 0); + UINT8 *pri = BITMAP_ADDR8(machine->priority_bitmap, y, 0); pri[x + cliprect->min_x]|=priority; } } @@ -2680,7 +2674,7 @@ if (disable != 0 && disable != 3 && disable != 7) break; case 1: if (disable & 0x02) return 1; - TC0100SCN_tilemap_draw_fg(bitmap,&clip,chip,TC0100SCN_tilemap[chip][1][TC0100SCN_dblwidth[chip]],flags,priority); + TC0100SCN_tilemap_draw_fg(machine,bitmap,&clip,chip,TC0100SCN_tilemap[chip][1][TC0100SCN_dblwidth[chip]],flags,priority); break; case 2: if (disable & 0x04) return 1; @@ -3458,7 +3452,7 @@ Historical Issues **********************************************************************/ -static void TC0480SCP_bg01_draw(bitmap_t *bitmap,const rectangle *cliprect,int layer,int flags,UINT32 priority) +static void TC0480SCP_bg01_draw(running_machine *machine,bitmap_t *bitmap,const rectangle *cliprect,int layer,int flags,UINT32 priority) { /* X-axis zoom offers expansion only: 0 = no zoom, 0xff = max Y-axis zoom offers expansion/compression: 0x7f = no zoom, 0xff = max @@ -3555,10 +3549,7 @@ static void TC0480SCP_bg01_draw(bitmap_t *bitmap,const rectangle *cliprect,int l } } - if (flags & TILEMAP_DRAW_OPAQUE) - taitoic_drawscanline(bitmap,0,y,scanline,0,ROT0,priority,cliprect); - else - taitoic_drawscanline(bitmap,0,y,scanline,1,ROT0,priority,cliprect); + taitoic_drawscanline(bitmap,cliprect,0,y,scanline,(flags & TILEMAP_DRAW_OPAQUE)?0:1,ROT0,machine->priority_bitmap,priority); y_index += zoomy; if (!machine_flip) y++; else y--; @@ -3609,7 +3600,7 @@ flipscreen. ****************************************************************/ -static void TC0480SCP_bg23_draw(bitmap_t *bitmap,const rectangle *cliprect,int layer,int flags,UINT32 priority) +static void TC0480SCP_bg23_draw(running_machine *machine,bitmap_t *bitmap,const rectangle *cliprect,int layer,int flags,UINT32 priority) { bitmap_t *srcbitmap = tilemap_get_pixmap(TC0480SCP_tilemap[layer][TC0480SCP_dblwidth]); bitmap_t *flagsbitmap = tilemap_get_flagsmap @@ -3721,10 +3712,7 @@ static void TC0480SCP_bg23_draw(bitmap_t *bitmap,const rectangle *cliprect,int l } } - if (flags & TILEMAP_DRAW_OPAQUE) - taitoic_drawscanline(bitmap,0,y,scanline,0,ROT0,priority,cliprect); - else - taitoic_drawscanline(bitmap,0,y,scanline,1,ROT0,priority,cliprect); + taitoic_drawscanline(bitmap,cliprect,0,y,scanline,(flags & TILEMAP_DRAW_OPAQUE)?0:1,ROT0,machine->priority_bitmap,priority); y_index += zoomy; if (!machine_flip) y++; else y--; @@ -3735,23 +3723,23 @@ static void TC0480SCP_bg23_draw(bitmap_t *bitmap,const rectangle *cliprect,int l -void TC0480SCP_tilemap_draw(bitmap_t *bitmap,const rectangle *cliprect,int layer,int flags,UINT32 priority) +void TC0480SCP_tilemap_draw(running_machine *machine,bitmap_t *bitmap,const rectangle *cliprect,int layer,int flags,UINT32 priority) { /* no layer disable bits */ switch (layer) { case 0: - TC0480SCP_bg01_draw(bitmap,cliprect,0,flags,priority); + TC0480SCP_bg01_draw(machine,bitmap,cliprect,0,flags,priority); break; case 1: - TC0480SCP_bg01_draw(bitmap,cliprect,1,flags,priority); + TC0480SCP_bg01_draw(machine,bitmap,cliprect,1,flags,priority); break; case 2: - TC0480SCP_bg23_draw(bitmap,cliprect,2,flags,priority); + TC0480SCP_bg23_draw(machine,bitmap,cliprect,2,flags,priority); break; case 3: - TC0480SCP_bg23_draw(bitmap,cliprect,3,flags,priority); + TC0480SCP_bg23_draw(machine,bitmap,cliprect,3,flags,priority); break; case 4: tilemap_draw(bitmap,cliprect,TC0480SCP_tilemap[4][TC0480SCP_dblwidth],flags,priority); @@ -4522,10 +4510,7 @@ void TC0150ROD_draw(running_machine *machine, bitmap_t *bitmap,const rectangle * } } - if (y > priority_switch_line) - taitoic_drawscanline(bitmap,0,y,scanline,1,ROT0,high_priority,cliprect); - else - taitoic_drawscanline(bitmap,0,y,scanline,1,ROT0,low_priority,cliprect); + taitoic_drawscanline(bitmap,cliprect,0,y,scanline,1,ROT0,machine->priority_bitmap,(y > priority_switch_line)?high_priority:low_priority); } y++; diff --git a/src/mame/video/taitoic.h b/src/mame/video/taitoic.h index 5c1cf83a4ec..59bb3b28b6d 100644 --- a/src/mame/video/taitoic.h +++ b/src/mame/video/taitoic.h @@ -41,7 +41,7 @@ void PC080SN_tilemap_draw(bitmap_t *bitmap,const rectangle *cliprect,int chip,in void PC080SN_tilemap_draw_offset(bitmap_t *bitmap,const rectangle *cliprect,int chip,int layer,int flags,UINT32 priority,int xoffs,int yoffs); /* For Topspeed */ -void PC080SN_tilemap_draw_special(bitmap_t *bitmap,const rectangle *cliprect,int chip,int layer,int flags,UINT32 priority,UINT16 *ram); +void PC080SN_tilemap_draw_special(running_machine *machine,bitmap_t *bitmap,const rectangle *cliprect,int chip,int layer,int flags,UINT32 priority,UINT16 *ram); /***************************************************************************/ @@ -157,7 +157,7 @@ READ32_HANDLER ( TC0480SCP_ctrl_long_r ); WRITE32_HANDLER( TC0480SCP_ctrl_long_w ); void TC0480SCP_tilemap_update(running_machine *machine); -void TC0480SCP_tilemap_draw(bitmap_t *bitmap,const rectangle *cliprect,int layer,int flags,UINT32 priority); +void TC0480SCP_tilemap_draw(running_machine *machine,bitmap_t *bitmap,const rectangle *cliprect,int layer,int flags,UINT32 priority); /* Returns the priority order of the bg tilemaps set in the internal register. The order in which the four layers should be drawn is diff --git a/src/mame/video/tatsumi.c b/src/mame/video/tatsumi.c index 006dabc32cb..531266b7a71 100644 --- a/src/mame/video/tatsumi.c +++ b/src/mame/video/tatsumi.c @@ -1095,10 +1095,10 @@ VIDEO_UPDATE( roundup5 ) tilemap_set_scrolly(tx_layer,0,0); //(((roundupt_crt_reg[0xe]<<8)|roundupt_crt_reg[0xf])>>5) + 96); bitmap_fill(bitmap,cliprect,screen->machine->pens[384]); // todo - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); - draw_sprites(screen->machine, priority_bitmap,cliprect,1,(tatsumi_sprite_control_ram[0xe0]&0x1000) ? 0x1000 : 0); // Alpha pass only - draw_road(screen->machine, bitmap,cliprect,priority_bitmap); + draw_sprites(screen->machine, screen->machine->priority_bitmap,cliprect,1,(tatsumi_sprite_control_ram[0xe0]&0x1000) ? 0x1000 : 0); // Alpha pass only + draw_road(screen->machine, bitmap,cliprect,screen->machine->priority_bitmap); draw_sprites(screen->machine, bitmap,cliprect,0,(tatsumi_sprite_control_ram[0xe0]&0x1000) ? 0x1000 : 0); // Full pass tilemap_draw(bitmap,cliprect,tx_layer,0,0); return 0; diff --git a/src/mame/video/tecmo.c b/src/mame/video/tecmo.c index 5aa184acb80..92ca57e136d 100644 --- a/src/mame/video/tecmo.c +++ b/src/mame/video/tecmo.c @@ -230,7 +230,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan flags & 0xf, flipx,flipy, sx,sy, - priority_bitmap, + machine->priority_bitmap, priority_mask,0); } } @@ -241,7 +241,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan VIDEO_UPDATE( tecmo ) { - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); bitmap_fill(bitmap,cliprect,0x100); tilemap_draw(bitmap,cliprect,bg_tilemap,0,1); tilemap_draw(bitmap,cliprect,fg_tilemap,0,2); diff --git a/src/mame/video/tecmo16.c b/src/mame/video/tecmo16.c index 5254a2584a9..b268c06c15a 100644 --- a/src/mame/video/tecmo16.c +++ b/src/mame/video/tecmo16.c @@ -416,7 +416,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap_bg, bitmap_t machine->gfx[2]->color_base + color * machine->gfx[2]->color_granularity, flipx,flipy, sx,sy, - priority_bitmap, priority_mask,0); + machine->priority_bitmap, priority_mask,0); /* wrap around x */ pdrawgfx_transpen_raw(bitmap,cliprect,machine->gfx[2], @@ -424,7 +424,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap_bg, bitmap_t machine->gfx[2]->color_base + color * machine->gfx[2]->color_granularity, flipx,flipy, sx-512,sy, - priority_bitmap, priority_mask,0); + machine->priority_bitmap, priority_mask,0); /* wrap around x */ pdrawgfx_transpen_raw(bitmap,cliprect,machine->gfx[2], @@ -432,7 +432,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap_bg, bitmap_t machine->gfx[2]->color_base + color * machine->gfx[2]->color_granularity, flipx,flipy, sx+512,sy, - priority_bitmap, priority_mask,0); + machine->priority_bitmap, priority_mask,0); } } } @@ -459,7 +459,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap_bg, bitmap_t machine->gfx[2]->color_base + color * machine->gfx[2]->color_granularity, flipx,flipy, sx,sy, - priority_bitmap, priority_mask,0); + machine->priority_bitmap, priority_mask,0); /* wrap around x */ pdrawgfx_transpen_raw(bitmap,cliprect,machine->gfx[2], @@ -467,7 +467,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap_bg, bitmap_t machine->gfx[2]->color_base + color * machine->gfx[2]->color_granularity, flipx,flipy, sx-512,sy, - priority_bitmap, priority_mask,0); + machine->priority_bitmap, priority_mask,0); /* wrap around x */ pdrawgfx_transpen_raw(bitmap,cliprect,machine->gfx[2], @@ -475,7 +475,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap_bg, bitmap_t machine->gfx[2]->color_base + color * machine->gfx[2]->color_granularity, flipx,flipy, sx+512,sy, - priority_bitmap, priority_mask,0); + machine->priority_bitmap, priority_mask,0); } } } @@ -487,7 +487,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap_bg, bitmap_t VIDEO_UPDATE( tecmo16 ) { - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); bitmap_fill(tile_bitmap_bg, cliprect, 0x300); bitmap_fill(tile_bitmap_fg, cliprect, 0); diff --git a/src/mame/video/tetrisp2.c b/src/mame/video/tetrisp2.c index f07e73711f7..34f73d044de 100644 --- a/src/mame/video/tetrisp2.c +++ b/src/mame/video/tetrisp2.c @@ -479,7 +479,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta color, flipx, flipy, sx + x * 8, sy + y * 8, - priority_bitmap, primask, 0); + machine->priority_bitmap, primask, 0); } code += (0x100/8) - xnum; } @@ -507,7 +507,7 @@ VIDEO_UPDATE( tetrisp2 ) /* Black background color */ bitmap_fill(bitmap, cliprect, 0); - bitmap_fill(priority_bitmap, NULL, 0); + bitmap_fill(screen->machine->priority_bitmap, NULL, 0); /* Flip Screen */ if (flipscreen != flipscreen_old) @@ -591,7 +591,7 @@ VIDEO_UPDATE( rockntread ) /* Black background color */ bitmap_fill(bitmap, cliprect, 0); - bitmap_fill(priority_bitmap, NULL, 0); + bitmap_fill(screen->machine->priority_bitmap, NULL, 0); /* Flip Screen */ if (flipscreen != flipscreen_old) @@ -686,7 +686,7 @@ VIDEO_UPDATE( rocknms ) tilemap_set_scrolly(tilemap_sub_rot, 0, rocknms_sub_rotregs[ 2 ] + 0x400); bitmap_fill(bitmap, cliprect, screen->machine->pens[0x0000]); - bitmap_fill(priority_bitmap, cliprect, 0); + bitmap_fill(screen->machine->priority_bitmap, cliprect, 0); asc_pri = scr_pri = rot_pri = 0; @@ -739,7 +739,7 @@ VIDEO_UPDATE( rocknms ) /* Black background color */ bitmap_fill(bitmap, cliprect, screen->machine->pens[0x0000]); - bitmap_fill(priority_bitmap, cliprect, 0); + bitmap_fill(screen->machine->priority_bitmap, cliprect, 0); asc_pri = scr_pri = rot_pri = 0; diff --git a/src/mame/video/thunderj.c b/src/mame/video/thunderj.c index 8e4229afdc4..2ec97613160 100644 --- a/src/mame/video/thunderj.c +++ b/src/mame/video/thunderj.c @@ -154,6 +154,7 @@ void thunderj_mark_high_palette(bitmap_t *bitmap, UINT16 *pf, UINT16 *mo, int x, VIDEO_UPDATE( thunderj ) { + bitmap_t *priority_bitmap = screen->machine->priority_bitmap; atarimo_rect_list rectlist; bitmap_t *mobitmap; int x, y, r; diff --git a/src/mame/video/thunderx.c b/src/mame/video/thunderx.c index 690fd403a5a..e5e918cc242 100644 --- a/src/mame/video/thunderx.c +++ b/src/mame/video/thunderx.c @@ -70,7 +70,7 @@ VIDEO_UPDATE( scontra ) { K052109_tilemap_update(); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); /* The background color is always from layer 1 - but it's always black anyway */ // bitmap_fill(bitmap,cliprect,16 * layer_colorbase[1]); diff --git a/src/mame/video/tmnt.c b/src/mame/video/tmnt.c index 3199372b427..0c484fd71ae 100644 --- a/src/mame/video/tmnt.c +++ b/src/mame/video/tmnt.c @@ -629,7 +629,7 @@ VIDEO_UPDATE( punkshot ) sortlayers(sorted_layer,layerpri); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); tilemap_draw(bitmap,cliprect,K052109_tilemap[sorted_layer[0]],TILEMAP_DRAW_OPAQUE,1); tilemap_draw(bitmap,cliprect,K052109_tilemap[sorted_layer[1]],0,2); tilemap_draw(bitmap,cliprect,K052109_tilemap[sorted_layer[2]],0,4); @@ -658,7 +658,7 @@ VIDEO_UPDATE( lgtnfght ) sortlayers(sorted_layer,layerpri); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); bitmap_fill(bitmap,cliprect,16 * bg_colorbase); tilemap_draw(bitmap,cliprect,K052109_tilemap[sorted_layer[0]],0,1); tilemap_draw(bitmap,cliprect,K052109_tilemap[sorted_layer[1]],0,2); @@ -703,7 +703,7 @@ VIDEO_UPDATE( glfgreat ) /* not sure about the 053936 priority, but it seems to work */ - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); bitmap_fill(bitmap,cliprect,16 * bg_colorbase); tilemap_draw(bitmap,cliprect,K052109_tilemap[sorted_layer[0]],0,1); if (layerpri[0] >= 0x30 && layerpri[1] < 0x30) @@ -798,7 +798,7 @@ VIDEO_UPDATE( thndrx2 ) sortlayers(sorted_layer,layerpri); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); bitmap_fill(bitmap,cliprect,16 * bg_colorbase); tilemap_draw(bitmap,cliprect,K052109_tilemap[sorted_layer[0]],0,1); tilemap_draw(bitmap,cliprect,K052109_tilemap[sorted_layer[1]],0,2); diff --git a/src/mame/video/toaplan1.c b/src/mame/video/toaplan1.c index 7aa58c04667..8c29c506875 100644 --- a/src/mame/video/toaplan1.c +++ b/src/mame/video/toaplan1.c @@ -935,7 +935,7 @@ static void toaplan1_draw_sprite_custom(bitmap_t *dest_bmp,const rectangle *clip { int pal_base = gfx->color_base + gfx->color_granularity * (color % gfx->total_colors); const UINT8 *source_base = gfx_element_get_data(gfx, code % gfx->total_elements); - + bitmap_t *priority_bitmap = gfx->machine->priority_bitmap; int sprite_screen_height = ((1<<16)*gfx->height+0x8000)>>16; int sprite_screen_width = ((1<<16)*gfx->width+0x8000)>>16; @@ -1162,7 +1162,7 @@ VIDEO_UPDATE( toaplan1 ) toaplan1_log_vram(); #endif - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); bitmap_fill(bitmap,cliprect,0x120); tilemap_draw(bitmap,cliprect,pf4_tilemap,TILEMAP_DRAW_OPAQUE,0); @@ -1189,7 +1189,7 @@ VIDEO_UPDATE( demonwld ) toaplan1_log_vram(); #endif - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); bitmap_fill(bitmap,cliprect,0x120); tilemap_draw(bitmap,cliprect,pf1_tilemap,TILEMAP_DRAW_OPAQUE | 0,0); diff --git a/src/mame/video/toobin.c b/src/mame/video/toobin.c index 71af177c6cd..fe4e377fbfe 100644 --- a/src/mame/video/toobin.c +++ b/src/mame/video/toobin.c @@ -231,6 +231,7 @@ WRITE16_HANDLER( toobin_slip_w ) VIDEO_UPDATE( toobin ) { + bitmap_t *priority_bitmap = screen->machine->priority_bitmap; const rgb_t *palette = palette_entry_list_adjusted(screen->machine->palette); atarimo_rect_list rectlist; bitmap_t *mobitmap; diff --git a/src/mame/video/topspeed.c b/src/mame/video/topspeed.c index 4c2b2edafba..8d67eb3a3dd 100644 --- a/src/mame/video/topspeed.c +++ b/src/mame/video/topspeed.c @@ -105,7 +105,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan flipx,flipy, curx,cury, zx<<12,zy<<13, - priority_bitmap,primasks[priority],0); + machine->priority_bitmap,primasks[priority],0); } if (bad_chunks) @@ -164,7 +164,7 @@ VIDEO_UPDATE( topspeed ) layer[2] = 1; layer[3] = 0; - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); bitmap_fill(bitmap, cliprect, 0); #ifdef MAME_DEBUG @@ -175,12 +175,12 @@ VIDEO_UPDATE( topspeed ) #ifdef MAME_DEBUG if (dislayer[2]==0) #endif - PC080SN_tilemap_draw_special(bitmap,cliprect,1,layer[1],0,2,topspeed_raster_ctrl); + PC080SN_tilemap_draw_special(screen->machine,bitmap,cliprect,1,layer[1],0,2,topspeed_raster_ctrl); #ifdef MAME_DEBUG if (dislayer[1]==0) #endif - PC080SN_tilemap_draw_special(bitmap,cliprect,0,layer[2],0,4,topspeed_raster_ctrl + 0x100); + PC080SN_tilemap_draw_special(screen->machine,bitmap,cliprect,0,layer[2],0,4,topspeed_raster_ctrl + 0x100); #ifdef MAME_DEBUG if (dislayer[0]==0) diff --git a/src/mame/video/twin16.c b/src/mame/video/twin16.c index 1a21a2d2aab..292e8fc4b50 100644 --- a/src/mame/video/twin16.c +++ b/src/mame/video/twin16.c @@ -82,7 +82,7 @@ WRITE16_HANDLER( twin16_video_register_w ) } /* slow slow slow, but it's ok for now */ -static void draw_sprite( bitmap_t *bitmap,const UINT16 *pen_data, int pal_base, int xpos, int ypos, int width, int height, int flipx, int flipy, int pri ) +static void draw_sprite( running_machine *machine, bitmap_t *bitmap,const UINT16 *pen_data, int pal_base, int xpos, int ypos, int width, int height, int flipx, int flipy, int pri ) { int x,y,pval; if( xpos>=320 ) xpos -= 65536; @@ -96,7 +96,7 @@ static void draw_sprite( bitmap_t *bitmap,const UINT16 *pen_data, int pal_base, if( sy>=16 && sy<256-16 ) { UINT16 *dest = BITMAP_ADDR16(bitmap, sy, 0); - UINT8 *pdest = BITMAP_ADDR8(priority_bitmap, sy, 0); + UINT8 *pdest = BITMAP_ADDR8(machine->priority_bitmap, sy, 0); for( x=0; x<width; x++ ) { @@ -185,7 +185,7 @@ shadow bit? */ -static void draw_sprites( bitmap_t *bitmap ) +static void draw_sprites( running_machine *machine, bitmap_t *bitmap ) { int count = 0; @@ -271,14 +271,14 @@ static void draw_sprites( bitmap_t *bitmap ) } //if( sprite_which==count || !input_code_pressed( KEYCODE_B ) ) - draw_sprite( bitmap, pen_data, pal_base, xpos, ypos, width, height, flipx, flipy, (attributes&0x4000) ); + draw_sprite( machine, bitmap, pen_data, pal_base, xpos, ypos, width, height, flipx, flipy, (attributes&0x4000) ); } count++; } } -static void draw_layer( bitmap_t *bitmap, int opaque ) +static void draw_layer( running_machine *machine, bitmap_t *bitmap, int opaque ) { const UINT16 *gfx_base; const UINT16 *source = videoram16; @@ -374,7 +374,7 @@ static void draw_layer( bitmap_t *bitmap, int opaque ) { const UINT16 *gfxptr = gfx_data + ((y - ypos) ^ yxor) * 2; UINT16 *dest = BITMAP_ADDR16(bitmap, y, 0); - UINT8 *pdest = BITMAP_ADDR8(priority_bitmap, y, 0); + UINT8 *pdest = BITMAP_ADDR8(machine->priority_bitmap, y, 0); for (x = x1; x <= x2; x++) { @@ -391,7 +391,7 @@ static void draw_layer( bitmap_t *bitmap, int opaque ) { const UINT16 *gfxptr = gfx_data + ((y - ypos) ^ yxor) * 2; UINT16 *dest = BITMAP_ADDR16(bitmap, y, 0); - UINT8 *pdest = BITMAP_ADDR8(priority_bitmap, y, 0); + UINT8 *pdest = BITMAP_ADDR8(machine->priority_bitmap, y, 0); for (x = x1; x <= x2; x++) { @@ -436,18 +436,18 @@ VIDEO_START( fround ) VIDEO_UPDATE( twin16 ) { - bitmap_fill(priority_bitmap,cliprect,0); - draw_layer( bitmap,1 ); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); + draw_layer( screen->machine, bitmap, 1 ); if (twin16_custom_video) { - draw_layer( bitmap,0 ); - draw_sprites( bitmap ); + draw_layer( screen->machine, bitmap, 0 ); + draw_sprites( screen->machine, bitmap ); } else // devilw, vulcan - different priorities order? there should be an enable bit somewhere... { - draw_sprites( bitmap ); - draw_layer( bitmap,0 ); + draw_sprites( screen->machine, bitmap ); + draw_layer( screen->machine, bitmap, 0 ); } tilemap_draw(bitmap, cliprect, fg_tilemap, 0, 0); diff --git a/src/mame/video/undrfire.c b/src/mame/video/undrfire.c index 23dca2cc867..0df9e780714 100644 --- a/src/mame/video/undrfire.c +++ b/src/mame/video/undrfire.c @@ -217,7 +217,7 @@ logerror("Sprite number %04x had %02x invalid chunks\n",tilenum,bad_chunks); sprite_ptr->flipx,sprite_ptr->flipy, sprite_ptr->x,sprite_ptr->y, sprite_ptr->zoomx,sprite_ptr->zoomy, - priority_bitmap,sprite_ptr->primask,0); + machine->priority_bitmap,sprite_ptr->primask,0); } } @@ -350,7 +350,7 @@ static void draw_sprites_cbombers(running_machine *machine, bitmap_t *bitmap,con sprite_ptr->flipx,sprite_ptr->flipy, sprite_ptr->x,sprite_ptr->y, sprite_ptr->zoomx,sprite_ptr->zoomy, - priority_bitmap,sprite_ptr->primask,0); + machine->priority_bitmap,sprite_ptr->primask,0); } } @@ -421,7 +421,7 @@ VIDEO_UPDATE( undrfire ) pivlayer[1] = pivlayer[0]^1; pivlayer[2] = 2; - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); bitmap_fill(bitmap,cliprect,0); /* wrong color? */ @@ -437,22 +437,22 @@ VIDEO_UPDATE( undrfire ) #ifdef MAME_DEBUG if (dislayer[layer[0]]==0) #endif - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[0],0,1); + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[0],0,1); #ifdef MAME_DEBUG if (dislayer[layer[1]]==0) #endif - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[1],0,2); + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[1],0,2); #ifdef MAME_DEBUG if (dislayer[layer[2]]==0) #endif - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[2],0,4); + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[2],0,4); #ifdef MAME_DEBUG if (dislayer[layer[3]]==0) #endif - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[3],0,8); + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[3],0,8); #ifdef MAME_DEBUG if (dislayer[4]==0) @@ -476,7 +476,7 @@ VIDEO_UPDATE( undrfire ) #endif TC0100SCN_tilemap_draw(screen->machine,bitmap,cliprect,0,pivlayer[2],0,0); /* piv text layer */ - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[4],0,0); /* TC0480SCP text layer */ + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[4],0,0); /* TC0480SCP text layer */ /* See if we should draw artificial gun targets */ /* (not yet implemented...) */ @@ -565,7 +565,7 @@ VIDEO_UPDATE( cbombers ) pivlayer[1] = pivlayer[0]^1; pivlayer[2] = 2; - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); bitmap_fill(bitmap,cliprect,0); /* wrong color? */ @@ -581,22 +581,22 @@ VIDEO_UPDATE( cbombers ) #ifdef MAME_DEBUG if (dislayer[layer[0]]==0) #endif - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[0],0,1); + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[0],0,1); #ifdef MAME_DEBUG if (dislayer[layer[1]]==0) #endif - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[1],0,2); + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[1],0,2); #ifdef MAME_DEBUG if (dislayer[layer[2]]==0) #endif - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[2],0,4); + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[2],0,4); #ifdef MAME_DEBUG if (dislayer[layer[3]]==0) #endif - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[3],0,8); + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[3],0,8); #ifdef MAME_DEBUG if (dislayer[4]==0) @@ -620,7 +620,7 @@ VIDEO_UPDATE( cbombers ) #endif TC0100SCN_tilemap_draw(screen->machine,bitmap,cliprect,0,pivlayer[2],0,0); /* piv text layer */ - TC0480SCP_tilemap_draw(bitmap,cliprect,layer[4],0,0); /* TC0480SCP text layer */ + TC0480SCP_tilemap_draw(screen->machine,bitmap,cliprect,layer[4],0,0); /* TC0480SCP text layer */ /* Enable this to see rotation (?) control words */ #if 0 diff --git a/src/mame/video/unico.c b/src/mame/video/unico.c index dbb3df41c70..6b7f5b1eb82 100644 --- a/src/mame/video/unico.c +++ b/src/mame/video/unico.c @@ -263,7 +263,7 @@ static void unico_draw_sprites(running_machine *machine, bitmap_t *bitmap,const attr & 0x1f, flipx, flipy, x, sy, - priority_bitmap, + machine->priority_bitmap, pri_mask,0x00 ); } } @@ -316,7 +316,7 @@ static void zeropnt2_draw_sprites(running_machine *machine, bitmap_t *bitmap,con attr & 0x1f, flipx, flipy, x, sy, - priority_bitmap, + machine->priority_bitmap, pri_mask,0x00 ); } } @@ -359,7 +359,7 @@ if ( input_code_pressed(KEYCODE_Z) || input_code_pressed(KEYCODE_X) ) /* The background color is the first of the last palette */ bitmap_fill(bitmap,cliprect,0x1f00); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); if (layers_ctrl & 1) tilemap_draw(bitmap,cliprect,tilemap_0,0,1); if (layers_ctrl & 2) tilemap_draw(bitmap,cliprect,tilemap_1,0,2); @@ -398,7 +398,7 @@ if ( input_code_pressed(KEYCODE_Z) || input_code_pressed(KEYCODE_X) ) /* The background color is the first of the last palette */ bitmap_fill(bitmap,cliprect,0x1f00); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); if (layers_ctrl & 1) tilemap_draw(bitmap,cliprect,tilemap_0,0,1); if (layers_ctrl & 2) tilemap_draw(bitmap,cliprect,tilemap_1,0,2); diff --git a/src/mame/video/vendetta.c b/src/mame/video/vendetta.c index c4bdcbddc5a..053866e1e32 100644 --- a/src/mame/video/vendetta.c +++ b/src/mame/video/vendetta.c @@ -114,7 +114,7 @@ VIDEO_UPDATE( vendetta ) sortlayers(layer,layerpri); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); tilemap_draw(bitmap,cliprect,K052109_tilemap[layer[0]],TILEMAP_DRAW_OPAQUE,1); tilemap_draw(bitmap,cliprect,K052109_tilemap[layer[1]],0,2); tilemap_draw(bitmap,cliprect,K052109_tilemap[layer[2]],0,4); diff --git a/src/mame/video/volfied.c b/src/mame/video/volfied.c index b148376d73d..824b60e86c8 100644 --- a/src/mame/video/volfied.c +++ b/src/mame/video/volfied.c @@ -126,7 +126,7 @@ static void refresh_pixel_layer(running_machine *machine, bitmap_t *bitmap) VIDEO_UPDATE( volfied ) { - bitmap_fill(priority_bitmap, cliprect, 0); + bitmap_fill(screen->machine->priority_bitmap, cliprect, 0); refresh_pixel_layer(screen->machine, bitmap); PC090OJ_draw_sprites(screen->machine, bitmap, cliprect, 0); return 0; diff --git a/src/mame/video/warriorb.c b/src/mame/video/warriorb.c index 5cc81dbd2f4..daab40c14c5 100644 --- a/src/mame/video/warriorb.c +++ b/src/mame/video/warriorb.c @@ -93,7 +93,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan color, flipx,flipy, x,y, - priority_bitmap,pri_mask,0); + machine->priority_bitmap,pri_mask,0); } #ifdef MAME_DEBUG @@ -133,7 +133,7 @@ VIDEO_UPDATE( warriorb ) layer[2] = 2; /* Clear priority bitmap */ - bitmap_fill(priority_bitmap, cliprect, 0); + bitmap_fill(screen->machine->priority_bitmap, cliprect, 0); /* chip 0 does tilemaps on the left, chip 1 does the ones on the right */ // draw bottom layer diff --git a/src/mame/video/wgp.c b/src/mame/video/wgp.c index 0b4fa1e62ef..e407ce04271 100644 --- a/src/mame/video/wgp.c +++ b/src/mame/video/wgp.c @@ -441,7 +441,7 @@ if (((spriteram16[i + 4]!=0xf800) && (spriteram16[i + 4]!=0xfff6)) flipx, flipy, curx,cury, zx << 12, zy << 12, - priority_bitmap,primasks[((priority >> 1) &1)],0); /* maybe >> 2 or 0...? */ + machine->priority_bitmap,primasks[((priority >> 1) &1)],0); /* maybe >> 2 or 0...? */ } } else @@ -472,7 +472,7 @@ if (((spriteram16[i + 4]!=0xf800) && (spriteram16[i + 4]!=0xfff6)) flipx, flipy, curx,cury, zx << 12, zy << 12, - priority_bitmap,primasks[((priority >> 1) &1)],0); /* maybe >> 2 or 0...? */ + machine->priority_bitmap,primasks[((priority >> 1) &1)],0); /* maybe >> 2 or 0...? */ } } } @@ -495,10 +495,10 @@ if (((spriteram16[i + 4]!=0xf800) && (spriteram16[i + 4]!=0xfff6)) INLINE void bryan2_drawscanline( bitmap_t *bitmap,int x,int y,int length, - const UINT16 *src,int transparent,UINT32 orient,int pri) + const UINT16 *src,int transparent,UINT32 orient,bitmap_t *priority,int pri) { UINT16 *dsti = BITMAP_ADDR16(bitmap, y, x); - UINT8 *dstp = BITMAP_ADDR8(priority_bitmap, y, x); + UINT8 *dstp = BITMAP_ADDR8(priority, y, x); if (transparent) { while (length--) { @@ -520,7 +520,7 @@ INLINE void bryan2_drawscanline( -static void wgp_piv_layer_draw(bitmap_t *bitmap,const rectangle *cliprect,int layer,int flags,UINT32 priority) +static void wgp_piv_layer_draw(running_machine *machine,bitmap_t *bitmap,const rectangle *cliprect,int layer,int flags,UINT32 priority) { bitmap_t *srcbitmap = tilemap_get_pixmap(wgp_piv_tilemap[layer]); bitmap_t *flagsbitmap = tilemap_get_flagsmap(wgp_piv_tilemap[layer]); @@ -628,10 +628,7 @@ static void wgp_piv_layer_draw(bitmap_t *bitmap,const rectangle *cliprect,int la } } - if (flags & TILEMAP_DRAW_OPAQUE) - bryan2_drawscanline(bitmap,0,y,screen_width,scanline,0,ROT0,priority); - else - bryan2_drawscanline(bitmap,0,y,screen_width,scanline,1,ROT0,priority); + bryan2_drawscanline(bitmap,0,y,screen_width,scanline,(flags & TILEMAP_DRAW_OPAQUE)?0:1,ROT0,machine->priority_bitmap,priority); y_index += zoomy; if (!machine_flip) y++; else y--; @@ -706,17 +703,17 @@ VIDEO_UPDATE( wgp ) #ifdef MAME_DEBUG if (dislayer[layer[0]]==0) #endif - wgp_piv_layer_draw(bitmap,cliprect,layer[0],TILEMAP_DRAW_OPAQUE,1); + wgp_piv_layer_draw(screen->machine,bitmap,cliprect,layer[0],TILEMAP_DRAW_OPAQUE,1); #ifdef MAME_DEBUG if (dislayer[layer[1]]==0) #endif - wgp_piv_layer_draw(bitmap,cliprect,layer[1],0,2); + wgp_piv_layer_draw(screen->machine,bitmap,cliprect,layer[1],0,2); #ifdef MAME_DEBUG if (dislayer[layer[2]]==0) #endif - wgp_piv_layer_draw(bitmap,cliprect,layer[2],0,4); + wgp_piv_layer_draw(screen->machine,bitmap,cliprect,layer[2],0,4); draw_sprites(screen->machine, bitmap,cliprect,16); diff --git a/src/mame/video/xexex.c b/src/mame/video/xexex.c index dcee10df95b..3f88fb32ac3 100644 --- a/src/mame/video/xexex.c +++ b/src/mame/video/xexex.c @@ -112,7 +112,7 @@ VIDEO_UPDATE( xexex ) K054338_update_all_shadows(screen->machine); K054338_fill_backcolor(screen->machine, bitmap, 0); - bitmap_fill(priority_bitmap, cliprect, 0); + bitmap_fill(screen->machine->priority_bitmap, cliprect, 0); for (plane=0; plane<4; plane++) { diff --git a/src/mame/video/xmen.c b/src/mame/video/xmen.c index fed61b8a089..66f46655c9b 100644 --- a/src/mame/video/xmen.c +++ b/src/mame/video/xmen.c @@ -117,7 +117,7 @@ VIDEO_UPDATE( xmen ) sortlayers(layer,layerpri); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); /* note the '+1' in the background color!!! */ bitmap_fill(bitmap,cliprect,16 * bg_colorbase+1); tilemap_draw(bitmap,cliprect,K052109_tilemap[layer[0]],0,1); @@ -240,7 +240,7 @@ VIDEO_EOF( xmen6p ) sortlayers(layer,layerpri); - bitmap_fill(priority_bitmap, &cliprect, 0); + bitmap_fill(machine->priority_bitmap, &cliprect, 0); /* note the '+1' in the background color!!! */ bitmap_fill(renderbitmap, &cliprect, 16 * bg_colorbase + 1); tilemap_draw(renderbitmap, &cliprect, K052109_tilemap[layer[0]], 0, 1); diff --git a/src/mame/video/yunsun16.c b/src/mame/video/yunsun16.c index 938d1d290f8..ad1e3ca7b48 100644 --- a/src/mame/video/yunsun16.c +++ b/src/mame/video/yunsun16.c @@ -187,7 +187,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan attr & 0x1f, flipx, flipy, x,y, - priority_bitmap, + machine->priority_bitmap, pri_mask,15 ); } } @@ -212,7 +212,7 @@ VIDEO_UPDATE( yunsun16 ) // popmessage("%04X", *yunsun16_priority); - bitmap_fill(priority_bitmap,cliprect,0); + bitmap_fill(screen->machine->priority_bitmap,cliprect,0); if((*yunsun16_priority & 0x0c) == 4) { |