summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Aaron Giles <aaron@aarongiles.com>2009-08-02 18:30:00 +0000
committer Aaron Giles <aaron@aarongiles.com>2009-08-02 18:30:00 +0000
commit0df8391ad7fe54a51c84c3088a7e8ebc43b57744 (patch)
tree02540818797b7129c054ee63d45fac08fb0fcb57
parent0ca4404705a039e503b72f1e4a431f41682a2d85 (diff)
> From: Atari Ace [mailto:atari_ace@verizon.net]
> Sent: Wednesday, July 22, 2009 8:18 PM > To: submit@mamedev.org > Cc: atariace@hotmail.com > Subject: [patch] priority_bitmap global begone! > > Hi mamedev, > > This patch set migrates priority_bitmap from a global variable to the > running_machine object. The first patch adds it to the machine > object, adjusting some routines to take a machine/screen object in > preparation and others to use a local variable for the bitmap. The > second patch then converts all the global vars to (typically) > machine->priority_bitmap, this patch was generated by the included > script. The last patch removes the global priority_bitmap. > > ~aa
-rw-r--r--src/emu/mame.h1
-rw-r--r--src/emu/tilemap.c6
-rw-r--r--src/emu/tilemap.h8
-rw-r--r--src/mame/drivers/backfire.c6
-rw-r--r--src/mame/drivers/bnstars.c4
-rw-r--r--src/mame/drivers/dblewing.c6
-rw-r--r--src/mame/drivers/deco156.c4
-rw-r--r--src/mame/drivers/fcrash.c6
-rw-r--r--src/mame/drivers/limenko.c6
-rw-r--r--src/mame/drivers/mwarr.c10
-rw-r--r--src/mame/drivers/namcoic.c7
-rw-r--r--src/mame/drivers/namcos23.c2
-rw-r--r--src/mame/drivers/vmetal.c2
-rw-r--r--src/mame/machine/konamigx.c2
-rw-r--r--src/mame/video/aerofgt.c26
-rw-r--r--src/mame/video/ajax.c2
-rw-r--r--src/mame/video/aliens.c2
-rw-r--r--src/mame/video/asterix.c2
-rw-r--r--src/mame/video/asuka.c4
-rw-r--r--src/mame/video/atarig42.c2
-rw-r--r--src/mame/video/atarigx2.c2
-rw-r--r--src/mame/video/atarisy2.c1
-rw-r--r--src/mame/video/batman.c1
-rw-r--r--src/mame/video/bishi.c2
-rw-r--r--src/mame/video/blmbycar.c4
-rw-r--r--src/mame/video/blockhl.c2
-rw-r--r--src/mame/video/bloodbro.c10
-rw-r--r--src/mame/video/boogwing.c2
-rw-r--r--src/mame/video/cninja.c20
-rw-r--r--src/mame/video/combatsc.c2
-rw-r--r--src/mame/video/cps1.c10
-rw-r--r--src/mame/video/dassault.c2
-rw-r--r--src/mame/video/dbz.c2
-rw-r--r--src/mame/video/dcon.c28
-rw-r--r--src/mame/video/deadang.c4
-rw-r--r--src/mame/video/deco16ic.c10
-rw-r--r--src/mame/video/deco32.c17
-rw-r--r--src/mame/video/deniam.c18
-rw-r--r--src/mame/video/docastle.c6
-rw-r--r--src/mame/video/dooyong.c18
-rw-r--r--src/mame/video/esd16.c10
-rw-r--r--src/mame/video/f1gp.c10
-rw-r--r--src/mame/video/foodf.c6
-rw-r--r--src/mame/video/fuukifg2.c9
-rw-r--r--src/mame/video/fuukifg3.c9
-rw-r--r--src/mame/video/gaelco.c6
-rw-r--r--src/mame/video/gaiden.c16
-rw-r--r--src/mame/video/galastrm.c40
-rw-r--r--src/mame/video/galpani2.c2
-rw-r--r--src/mame/video/gcpinbal.c4
-rw-r--r--src/mame/video/gijoe.c2
-rw-r--r--src/mame/video/gradius3.c2
-rw-r--r--src/mame/video/groundfx.c24
-rw-r--r--src/mame/video/gunbustr.c24
-rw-r--r--src/mame/video/hyprduel.c6
-rw-r--r--src/mame/video/inufuku.c4
-rw-r--r--src/mame/video/kaneko16.c4
-rw-r--r--src/mame/video/konamigx.c4
-rw-r--r--src/mame/video/konamiic.c39
-rw-r--r--src/mame/video/labyrunr.c2
-rw-r--r--src/mame/video/lethal.c2
-rw-r--r--src/mame/video/lkage.c4
-rw-r--r--src/mame/video/m90.c16
-rw-r--r--src/mame/video/m92.c10
-rw-r--r--src/mame/video/mainevt.c2
-rw-r--r--src/mame/video/mcatadv.c4
-rw-r--r--src/mame/video/mcr.c6
-rw-r--r--src/mame/video/mcr3.c10
-rw-r--r--src/mame/video/mcr68.c12
-rw-r--r--src/mame/video/megasys1.c6
-rw-r--r--src/mame/video/metro.c6
-rw-r--r--src/mame/video/model1.c2
-rw-r--r--src/mame/video/moo.c2
-rw-r--r--src/mame/video/ms32.c4
-rw-r--r--src/mame/video/namcona1.c6
-rw-r--r--src/mame/video/namcos1.c6
-rw-r--r--src/mame/video/namcos22.c9
-rw-r--r--src/mame/video/namcos86.c4
-rw-r--r--src/mame/video/nemesis.c4
-rw-r--r--src/mame/video/othldrby.c2
-rw-r--r--src/mame/video/othunder.c4
-rw-r--r--src/mame/video/overdriv.c2
-rw-r--r--src/mame/video/pacland.c12
-rw-r--r--src/mame/video/parodius.c2
-rw-r--r--src/mame/video/pktgaldx.c2
-rw-r--r--src/mame/video/playmark.c20
-rw-r--r--src/mame/video/plygonet.c2
-rw-r--r--src/mame/video/psikyo.c6
-rw-r--r--src/mame/video/rallyx.c10
-rw-r--r--src/mame/video/rastan.c8
-rw-r--r--src/mame/video/relief.c1
-rw-r--r--src/mame/video/rohga.c6
-rw-r--r--src/mame/video/rollerg.c2
-rw-r--r--src/mame/video/rungun.c2
-rw-r--r--src/mame/video/segahang.c2
-rw-r--r--src/mame/video/segaic16.c18
-rw-r--r--src/mame/video/segaic16.h2
-rw-r--r--src/mame/video/segaic24.c12
-rw-r--r--src/mame/video/segaic24.h2
-rw-r--r--src/mame/video/segaorun.c4
-rw-r--r--src/mame/video/segas16a.c2
-rw-r--r--src/mame/video/segas16b.c2
-rw-r--r--src/mame/video/segas18.c13
-rw-r--r--src/mame/video/segas24.c4
-rw-r--r--src/mame/video/segaxbd.c2
-rw-r--r--src/mame/video/segaybd.c2
-rw-r--r--src/mame/video/shadfrce.c10
-rw-r--r--src/mame/video/shootout.c8
-rw-r--r--src/mame/video/silkroad.c6
-rw-r--r--src/mame/video/simpl156.c4
-rw-r--r--src/mame/video/simpsons.c2
-rw-r--r--src/mame/video/slapshot.c14
-rw-r--r--src/mame/video/spy.c2
-rw-r--r--src/mame/video/stfight.c4
-rw-r--r--src/mame/video/superchs.c24
-rw-r--r--src/mame/video/surpratk.c2
-rw-r--r--src/mame/video/system16.c4
-rw-r--r--src/mame/video/taito_f2.c40
-rw-r--r--src/mame/video/taito_l.c4
-rw-r--r--src/mame/video/taito_z.c40
-rw-r--r--src/mame/video/taitoic.c69
-rw-r--r--src/mame/video/taitoic.h4
-rw-r--r--src/mame/video/tatsumi.c6
-rw-r--r--src/mame/video/tecmo.c4
-rw-r--r--src/mame/video/tecmo16.c14
-rw-r--r--src/mame/video/tetrisp2.c10
-rw-r--r--src/mame/video/thunderj.c1
-rw-r--r--src/mame/video/thunderx.c2
-rw-r--r--src/mame/video/tmnt.c8
-rw-r--r--src/mame/video/toaplan1.c6
-rw-r--r--src/mame/video/toobin.c1
-rw-r--r--src/mame/video/topspeed.c8
-rw-r--r--src/mame/video/twin16.c26
-rw-r--r--src/mame/video/undrfire.c28
-rw-r--r--src/mame/video/unico.c8
-rw-r--r--src/mame/video/vendetta.c2
-rw-r--r--src/mame/video/volfied.c2
-rw-r--r--src/mame/video/warriorb.c4
-rw-r--r--src/mame/video/wgp.c21
-rw-r--r--src/mame/video/xexex.c2
-rw-r--r--src/mame/video/xmen.c4
-rw-r--r--src/mame/video/yunsun16.c4
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)
{