mirror of
https://github.com/holub/mame
synced 2025-10-04 16:34:53 +03:00
use the old code for punchout, it doesn't like some of the changes. given that the sprite tilemap is twice as wide on armwrest it's possible it actually should be handled differently.
This commit is contained in:
parent
6113493440
commit
e83cdd8ce4
@ -348,6 +348,48 @@ static void draw_big_sprite(mame_bitmap *bitmap, const rectangle *cliprect)
|
||||
{
|
||||
int zoom;
|
||||
|
||||
zoom = punchout_bigsprite1[0] + 256 * (punchout_bigsprite1[1] & 0x0f);
|
||||
if (zoom)
|
||||
{
|
||||
mame_bitmap *sprbitmap = tilemap_get_pixmap(spr1tilemap);
|
||||
int sx,sy;
|
||||
UINT32 startx,starty;
|
||||
int incxx,incyy;
|
||||
|
||||
sx = 4096 - (punchout_bigsprite1[2] + 256 * (punchout_bigsprite1[3] & 0x0f));
|
||||
if (sx > 4096-4*127) sx -= 4096;
|
||||
|
||||
sy = -(punchout_bigsprite1[4] + 256 * (punchout_bigsprite1[5] & 1));
|
||||
if (sy <= -256 + zoom/0x40) sy += 512;
|
||||
sy += 12;
|
||||
|
||||
incxx = zoom << 6;
|
||||
incyy = zoom << 6;
|
||||
|
||||
startx = -sx * 0x4000;
|
||||
starty = -sy * 0x10000;
|
||||
startx += 3740 * zoom; /* adjustment to match the screen shots */
|
||||
starty -= 178 * zoom; /* and make the hall of fame picture nice */
|
||||
|
||||
if (punchout_bigsprite1[6] & 1) /* flip x */
|
||||
{
|
||||
startx = (sprbitmap->width << 16) - startx - 1;
|
||||
incxx = -incxx;
|
||||
}
|
||||
|
||||
copyrozbitmap(bitmap,sprbitmap,
|
||||
startx,starty + 0x200*(2) * zoom,
|
||||
incxx,0,0,incyy, /* zoom, no rotation */
|
||||
0, /* no wraparound */
|
||||
cliprect,TRANSPARENCY_COLOR,1024,0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static void armwrest_draw_big_sprite(mame_bitmap *bitmap, const rectangle *cliprect)
|
||||
{
|
||||
int zoom;
|
||||
|
||||
zoom = punchout_bigsprite1[0] + 256 * (punchout_bigsprite1[1] & 0x0f);
|
||||
if (zoom)
|
||||
{
|
||||
@ -440,14 +482,14 @@ VIDEO_UPDATE( armwrest )
|
||||
tilemap_draw(bitmap, cliprect, punchout_topTilemap, 0, 0);
|
||||
|
||||
if (punchout_bigsprite1[7] & 1) /* display in top monitor */
|
||||
draw_big_sprite(bitmap, cliprect);
|
||||
armwrest_draw_big_sprite(bitmap, cliprect);
|
||||
}
|
||||
else
|
||||
{
|
||||
tilemap_draw(bitmap, cliprect, punchout_botTilemap, 0, 0);
|
||||
|
||||
if (punchout_bigsprite1[7] & 2) /* display in bottom monitor */
|
||||
draw_big_sprite(bitmap, cliprect);
|
||||
armwrest_draw_big_sprite(bitmap, cliprect);
|
||||
drawbs2(bitmap, cliprect);
|
||||
|
||||
tilemap_draw(bitmap, cliprect, fgtilemap, 0, 0);
|
||||
|
Loading…
Reference in New Issue
Block a user