Reverted changes to decbac06 device flipscreen support, now that this can be done properly.

Also reverted the decmxc06 changes. This breaks again the flipped sprites in some games, but fixes the actfanct regression. (nw)
This commit is contained in:
Ivan Vangelista 2014-03-10 18:04:45 +00:00
parent 8acaf0366b
commit f059fb9013
3 changed files with 14 additions and 43 deletions

View File

@ -269,12 +269,7 @@ void deco_bac06_device::custom_tilemap_draw(bitmap_ind16 &bitmap,
*/
if (machine().driver_data()->flip_screen())
{
if (cliprect.max_y <= 31*8-1) // workaround till all drivers using this device are updated to raw params
src_y = (src_bitmap.height() - 256) - scrolly; //actfancr.c, madmotor.c, pcktgal.c and stadhero.c
else
src_y = (src_bitmap.height() - 256 - 8) - scrolly; // dec0.c and dec8.c have been updated to raw params
}
src_y = (src_bitmap.height() - 256) - scrolly;
else
src_y = scrolly;
@ -285,12 +280,7 @@ void deco_bac06_device::custom_tilemap_draw(bitmap_ind16 &bitmap,
src_x=scrollx;
if (machine().driver_data()->flip_screen())
{
if (cliprect.max_x == 32*8-1) // workaround till all drivers using this device are updated to raw params
src_x=(src_bitmap.width() - 256) - src_x; //actfancr.c, madmotor.c, pcktgal.c and stadhero.c
else
src_x=(src_bitmap.width() - 256 - 74) - src_x; // dec0.c and dec8.c have been updated to raw params
}
src_x=(src_bitmap.width() - 256) - src_x;
for (x=0; x<=cliprect.max_x; x++) {
if (col_scroll_enabled)

View File

@ -83,20 +83,8 @@ void deco_karnovsprites_device::draw_sprites( running_machine &machine, bitmap_i
y = 256 - y;
if (machine.driver_data()->flip_screen())
{
// workaround till all drivers using this device are updated to raw params
if (cliprect.max_x == 32*8-1) //karnov.c
{
y = 240 - y;
x = 240 - x;
}
else //dec8.c has been updated to raw params
{
y = 240 + 8 - y;
x = 240 + 74 - x;
}
y = 240 - y;
x = 240 - x;
if (fx) fx = 0; else fx = 1;
if (fy) fy = 0; else fy = 1;
if (extra) y = y - 16;

View File

@ -97,22 +97,10 @@ void deco_mxc06_device::draw_sprites( running_machine &machine, bitmap_ind16 &bi
sx = 240 - sx;
sy = 240 - sy;
if (flipy)
incy = -1;
if (machine.driver_data()->flip_screen())
{
// workaround till all drivers using this device are updated to raw params
if (cliprect.max_x == 32*8-1) //actfancr.c, madmotor.c, stadhero.c and vaportra.c
{
sy = 240 - sy;
sx = 240 - sx;
}
else // dec0.c and dec8.c have been updated to raw params
{
sy = 240 + 8 - sy;
sx = 240 + 74 - sx;
}
sy = 240 - sy;
sx = 240 - sx;
if (flipx) flipx = 0; else flipx = 1;
if (flipy) flipy = 0; else flipy = 1;
mult = 16;
@ -127,8 +115,13 @@ void deco_mxc06_device::draw_sprites( running_machine &machine, bitmap_ind16 &bi
code &= ~(h-1);
code += h-1;
incy = 1;
if (flipy)
incy = -1;
else
{
code += h-1;
incy = 1;
}
for (y = 0; y < h; y++)
{