From 1c6b2232ef8e7faca23248e8889d2c5546e0c70f Mon Sep 17 00:00:00 2001 From: angelosa Date: Wed, 1 Jun 2016 00:26:58 +0200 Subject: [PATCH] Fix missing sprites on edges, nw --- src/mame/drivers/metlfrzr.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/mame/drivers/metlfrzr.cpp b/src/mame/drivers/metlfrzr.cpp index 4f9d156e4d8..563ea6ba949 100644 --- a/src/mame/drivers/metlfrzr.cpp +++ b/src/mame/drivers/metlfrzr.cpp @@ -65,7 +65,7 @@ void metlfrzr_state::video_start() /* - video regs format: [0x06] ---- --x- used during title screen transition, unknown purpose - [0x06] ---- ---x X scrolling 9th bit + [0x06] ---- ---x X scrolling 8th bit [0x15] always 0? [0x16] always 0? [0x17] xxxx xxxx X scrolling base value @@ -112,7 +112,7 @@ void metlfrzr_state::legacy_bg_draw(bitmap_ind16 &bitmap,const rectangle &clipre Sprite seems to traverse from top to bottom priority-wise, other than that format is almost 1:1 with darkmist.cpp. sprite format: [0] tttt tttt tile number - [1] x--- ---- if 1 sprite is disabled + [1] x--- ---- X 8th bit [1] -ttt ---- tile bank [1] ---- cccc palette number [2] yyyy yyyy Y offset @@ -127,8 +127,6 @@ void metlfrzr_state::legacy_obj_draw(bitmap_ind16 &bitmap,const rectangle &clipr for(count=0x200-4;count>-1;count-=4) { - if(base_spriteram[count+1] & 0x80) - continue; gfx_element *cur_gfx = base_spriteram[count+1] & 0x40 ? gfx_3 : gfx_2; UINT8 tile_bank = (base_spriteram[count+1] & 0x30) >> 4; @@ -136,7 +134,9 @@ void metlfrzr_state::legacy_obj_draw(bitmap_ind16 &bitmap,const rectangle &clipr UINT8 color = base_spriteram[count+1] & 0xf; int y = base_spriteram[count+2]; int x = base_spriteram[count+3]; - + if(base_spriteram[count+1] & 0x80) + x-=256; + cur_gfx->transpen(bitmap,cliprect,tile,color,0,0,x,y,0xf); } }