summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Nicola Salmoria <nicola@mamedev.org>2008-04-01 13:30:49 +0000
committer Nicola Salmoria <nicola@mamedev.org>2008-04-01 13:30:49 +0000
commitd91c34cf31533526b1d9450709e3c801bf9d0c20 (patch)
tree1172afd0376d8fc266077ee9230a01fef8b6313d
parente81294dfa092be5905096e6ae3a6ae3e93dce129 (diff)
01468: ldrun2: Priority problem at titlescreen
-rw-r--r--src/mame/video/m62.c55
1 files changed, 29 insertions, 26 deletions
diff --git a/src/mame/video/m62.c b/src/mame/video/m62.c
index 90b33c18c7d..b883bf922fc 100644
--- a/src/mame/video/m62.c
+++ b/src/mame/video/m62.c
@@ -406,6 +406,9 @@ static void m62_start( tile_get_info_func tile_get_info, int rows, int cols, int
m62_background_hscroll = 0;
m62_background_vscroll = 0;
+ tilemap_set_transmask(m62_background,0,0xffff,0x0000); /* split type 0 is totally transparent in front half */
+ tilemap_set_transmask(m62_background,1,0x0001,0xfffe); /* split type 1 has pen 0 transparent in front half */
+
register_savestate();
if( rows != 0 )
@@ -455,11 +458,11 @@ static TILE_GET_INFO( get_kungfum_bg_tile_info )
/* is the following right? */
if( ( tile_index / 64 ) < 6 || ( ( color & 0x1f ) >> 1 ) > 0x0c )
{
- tileinfo->category = 1;
+ tileinfo->group = 1;
}
else
{
- tileinfo->category = 0;
+ tileinfo->group = 0;
}
}
@@ -474,9 +477,9 @@ VIDEO_UPDATE( kungfum )
{
tilemap_set_scrollx( m62_background, i, m62_background_hscroll );
}
- tilemap_draw( bitmap, cliprect, m62_background, 0, 0 );
+ tilemap_draw( bitmap, cliprect, m62_background, TILEMAP_DRAW_LAYER1, 0 );
draw_sprites( screen->machine, bitmap, cliprect, 0x1f, 0x00, 0x00 );
- tilemap_draw( bitmap, cliprect, m62_background, 1, 0 );
+ tilemap_draw( bitmap, cliprect, m62_background, TILEMAP_DRAW_LAYER0, 0 );
return 0;
}
@@ -501,11 +504,11 @@ static TILE_GET_INFO( get_ldrun_bg_tile_info )
SET_TILE_INFO( 0, code | ( ( color & 0xc0 ) << 2 ), color & 0x1f, flags );
if( ( ( color & 0x1f ) >> 1 ) >= 0x0c )
{
- tileinfo->category = 1;
+ tileinfo->group = 1;
}
else
{
- tileinfo->category = 0;
+ tileinfo->group = 0;
}
}
@@ -514,9 +517,9 @@ VIDEO_UPDATE( ldrun )
tilemap_set_scrollx( m62_background, 0, m62_background_hscroll );
tilemap_set_scrolly( m62_background, 0, m62_background_vscroll );
- tilemap_draw( bitmap, cliprect, m62_background, 0, 0 );
+ tilemap_draw( bitmap, cliprect, m62_background, TILEMAP_DRAW_LAYER1, 0 );
draw_sprites( screen->machine, bitmap, cliprect, 0x0f, 0x10, 0x00 );
- tilemap_draw( bitmap, cliprect, m62_background, 1, 0 );
+ tilemap_draw( bitmap, cliprect, m62_background, TILEMAP_DRAW_LAYER0, 0 );
draw_sprites( screen->machine, bitmap, cliprect, 0x0f, 0x10, 0x10 );
return 0;
}
@@ -541,11 +544,11 @@ static TILE_GET_INFO( get_ldrun2_bg_tile_info )
SET_TILE_INFO( 0, code | ( ( color & 0xc0 ) << 2 ), color & 0x1f, flags );
if( ( ( color & 0x1f ) >> 1 ) >= 0x04 )
{
- tileinfo->category = 1;
+ tileinfo->group = 1;
}
else
{
- tileinfo->category = 0;
+ tileinfo->group = 0;
}
}
@@ -569,11 +572,11 @@ static TILE_GET_INFO( get_battroad_bg_tile_info )
SET_TILE_INFO( 0, code | ( ( color & 0x40 ) << 3 ) | ( ( color & 0x10 ) << 4 ), color & 0x0f, flags );
if( ( ( color & 0x1f ) >> 1 ) >= 0x04 )
{
- tileinfo->category = 1;
+ tileinfo->group = 1;
}
else
{
- tileinfo->category = 0;
+ tileinfo->group = 0;
}
}
@@ -594,9 +597,9 @@ VIDEO_UPDATE( battroad )
tilemap_set_scrolly( m62_foreground, 0, 0 );
tilemap_set_transparent_pen( m62_foreground, 0 );
- tilemap_draw( bitmap, cliprect, m62_background, 0, 0 );
+ tilemap_draw( bitmap, cliprect, m62_background, TILEMAP_DRAW_LAYER1, 0 );
draw_sprites( screen->machine, bitmap, cliprect, 0x0f, 0x10, 0x00 );
- tilemap_draw( bitmap, cliprect, m62_background, 1, 0 );
+ tilemap_draw( bitmap, cliprect, m62_background, TILEMAP_DRAW_LAYER0, 0 );
draw_sprites( screen->machine, bitmap, cliprect, 0x0f, 0x10, 0x10 );
tilemap_draw( bitmap, cliprect, m62_foreground, 0, 0 );
return 0;
@@ -624,7 +627,7 @@ VIDEO_UPDATE( ldrun4 )
{
tilemap_set_scrollx( m62_background, 0, m62_background_hscroll );
- tilemap_draw( bitmap, cliprect, m62_background, 0, 0 );
+ tilemap_draw( bitmap, cliprect, m62_background, TILEMAP_DRAW_OPAQUE, 0 );
draw_sprites( screen->machine, bitmap, cliprect, 0x1f, 0x00, 0x00 );
return 0;
}
@@ -667,7 +670,7 @@ VIDEO_UPDATE( lotlot )
tilemap_set_scrolly( m62_foreground, 0, 32 );
tilemap_set_transparent_pen( m62_foreground, 0 );
- tilemap_draw( bitmap, cliprect, m62_background, 0, 0 );
+ tilemap_draw( bitmap, cliprect, m62_background, TILEMAP_DRAW_OPAQUE, 0 );
tilemap_draw( bitmap, cliprect, m62_foreground, 0, 0 );
draw_sprites( screen->machine, bitmap, cliprect, 0x1f, 0x00, 0x00 );
return 0;
@@ -785,7 +788,7 @@ VIDEO_UPDATE( spelunkr )
tilemap_set_scrolly( m62_foreground, 0, 0 );
tilemap_set_transparent_pen( m62_foreground, 0 );
- tilemap_draw( bitmap, cliprect, m62_background, 0, 0 );
+ tilemap_draw( bitmap, cliprect, m62_background, TILEMAP_DRAW_OPAQUE, 0 );
draw_sprites( screen->machine, bitmap, cliprect, 0x1f, 0x00, 0x00 );
tilemap_draw( bitmap, cliprect, m62_foreground, 0, 0 );
return 0;
@@ -827,7 +830,7 @@ VIDEO_UPDATE( spelunk2 )
tilemap_set_scrolly( m62_foreground, 0, 0 );
tilemap_set_transparent_pen( m62_foreground, 0 );
- tilemap_draw( bitmap, cliprect, m62_background, 0, 0 );
+ tilemap_draw( bitmap, cliprect, m62_background, TILEMAP_DRAW_OPAQUE, 0 );
draw_sprites( screen->machine, bitmap, cliprect, 0x1f, 0x00, 0x00 );
tilemap_draw( bitmap, cliprect, m62_foreground, 0, 0 );
return 0;
@@ -849,11 +852,11 @@ static TILE_GET_INFO( get_youjyudn_bg_tile_info )
SET_TILE_INFO( 0, code | ( ( color & 0x60 ) << 3 ), color & 0x1f, 0 );
if( ( ( color & 0x1f ) >> 1 ) >= 0x08 )
{
- tileinfo->category = 1;
+ tileinfo->group = 1;
}
else
{
- tileinfo->category = 0;
+ tileinfo->group = 0;
}
}
@@ -873,9 +876,9 @@ VIDEO_UPDATE( youjyudn )
tilemap_set_scrolly( m62_foreground, 0, 0 );
tilemap_set_transparent_pen( m62_foreground, 0 );
- tilemap_draw( bitmap, cliprect, m62_background, 0, 0 );
+ tilemap_draw( bitmap, cliprect, m62_background, TILEMAP_DRAW_LAYER1, 0 );
draw_sprites( screen->machine, bitmap, cliprect, 0x1f, 0x00, 0x00 );
- tilemap_draw( bitmap, cliprect, m62_background, 1, 0 );
+ tilemap_draw( bitmap, cliprect, m62_background, TILEMAP_DRAW_LAYER0, 0 );
tilemap_draw( bitmap, cliprect, m62_foreground, 0, 0 );
return 0;
}
@@ -901,11 +904,11 @@ static TILE_GET_INFO( get_horizon_bg_tile_info )
SET_TILE_INFO( 0, code | ( ( color & 0xc0 ) << 2 ) | ( ( color & 0x20 ) << 5 ), color & 0x1f, 0 );
if( ( ( color & 0x1f ) >> 1 ) >= 0x08 )
{
- tileinfo->category = 1;
+ tileinfo->group = 1;
}
else
{
- tileinfo->category = 0;
+ tileinfo->group = 0;
}
}
@@ -916,9 +919,9 @@ VIDEO_UPDATE( horizon )
{
tilemap_set_scrollx( m62_background, i, horizon_scrollram[ i << 1 ] | ( horizon_scrollram[ ( i << 1 ) | 1 ] << 8 ) );
}
- tilemap_draw( bitmap, cliprect, m62_background, 0, 0 );
+ tilemap_draw( bitmap, cliprect, m62_background, TILEMAP_DRAW_LAYER1, 0 );
draw_sprites( screen->machine, bitmap, cliprect, 0x1f, 0x00, 0x00 );
- tilemap_draw( bitmap, cliprect, m62_background, 1, 0 );
+ tilemap_draw( bitmap, cliprect, m62_background, TILEMAP_DRAW_LAYER0, 0 );
return 0;
}