From 6af57c4204e3b160c0f84cc070c72022adf8135c Mon Sep 17 00:00:00 2001 From: angelosa Date: Mon, 24 Apr 2017 03:56:16 +0200 Subject: flower.cpp: added sprite sizes (nw) --- src/mame/drivers/flower.cpp | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/src/mame/drivers/flower.cpp b/src/mame/drivers/flower.cpp index 3a9584f5040..8f3f61ebd1c 100644 --- a/src/mame/drivers/flower.cpp +++ b/src/mame/drivers/flower.cpp @@ -8,7 +8,7 @@ original "wiped off due of not anymore licenseable" driver by insideoutboy. TODO: - - sprite zooming/sizes; + - sprite zooming; - some video glitches; - $a000 outputs; - sound, third z80 not hooked up; @@ -201,7 +201,7 @@ void flower_state::legacy_layers_draw(bitmap_ind16 &bitmap,const rectangle &clip [0] YYYY YYYY Y offset [1] YXoo oooo Flip Y/X, tile number [2] ---- b--b tile bank select - [3] Xxxx Yyyy X size, X zoom, Y size, Y zoom + [3] Yyyy Xxxx Y size, Y zoom, X size, X zoom [4] xxxx xxxx X offset LSB [5] XXXX XXXX X offset MSB [6] cccc ---- color base @@ -220,11 +220,27 @@ void flower_state::sprites_draw(bitmap_ind16 &bitmap,const rectangle &cliprect) uint8_t attr = spr_ptr[i+2]; uint8_t fy = spr_ptr[i+1] & 0x80; uint8_t fx = spr_ptr[i+1] & 0x40; + uint8_t ysize = ((spr_ptr[i+3] & 0x80) >> 7) + 1; + uint8_t xsize = ((spr_ptr[i+3] & 0x08) >> 3) + 1; + + if(ysize == 2) + y-=16; tile |= (attr & 1) << 6; tile |= (attr & 8) << 4; - // TODO: size and zoom - gfx_2->transpen(bitmap,cliprect, tile, color, fx, fy, x, y, 15); + // TODO: zoom + for(int yi=0;yitranspen(bitmap,cliprect, tile+tile_offs, color, fx, fy, x+xi*16, y+yi*16, 15); + } + } } } @@ -458,5 +474,5 @@ ROM_START( flowerj ) /* Sega/Alpha version. Sega game number 834-5998 */ ROM_END -GAME( 1986, flower, 0, flower, flower, driver_device, 0, ROT0, "Clarue (Komax license)", "Flower (US)", MACHINE_NOT_WORKING|MACHINE_NO_SOUND|MACHINE_IMPERFECT_GRAPHICS ) -GAME( 1986, flowerj, flower, flower, flower, driver_device, 0, ROT0, "Clarue (Sega / Alpha Denshi Co. license)", "Flower (Japan)", MACHINE_NOT_WORKING|MACHINE_NO_SOUND|MACHINE_IMPERFECT_GRAPHICS ) +GAME( 1986, flower, 0, flower, flower, driver_device, 0, ROT0, "Clarue (Komax license)", "Flower (US)", MACHINE_NOT_WORKING|MACHINE_NO_SOUND|MACHINE_IMPERFECT_GRAPHICS|MACHINE_NO_COCKTAIL ) +GAME( 1986, flowerj, flower, flower, flower, driver_device, 0, ROT0, "Clarue (Sega / Alpha Denshi Co. license)", "Flower (Japan)", MACHINE_NOT_WORKING|MACHINE_NO_SOUND|MACHINE_IMPERFECT_GRAPHICS|MACHINE_NO_COCKTAIL ) -- cgit v1.2.3