From 76abed1de4decb1c04756eb8a3d83978a53770d0 Mon Sep 17 00:00:00 2001 From: Couriersud Date: Fri, 23 May 2008 22:30:19 +0000 Subject: [PATCH] Mantis 01823: digdug, xevious, galaga + all clones: cocktail mode, player 2 has all sprites offset by an inch or two --- src/mame/video/digdug.c | 7 ++++--- src/mame/video/galaga.c | 7 ++++--- src/mame/video/xevious.c | 9 ++++++--- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/mame/video/digdug.c b/src/mame/video/digdug.c index e5ae8736f41..618148ad2fa 100644 --- a/src/mame/video/digdug.c +++ b/src/mame/video/digdug.c @@ -277,15 +277,16 @@ static void draw_sprites(running_machine* machine, bitmap_t *bitmap, const recta if (size) sprite = (sprite & 0xc0) | ((sprite & ~0xc0) << 2); + sy -= 16 * size; + sy = (sy & 0xff) - 32; // fix wraparound + if (flip_screen_get()) { flipx ^= 1; flipy ^= 1; + sy += 48; } - sy -= 16 * size; - sy = (sy & 0xff) - 32; // fix wraparound - for (y = 0;y <= size;y++) { for (x = 0;x <= size;x++) diff --git a/src/mame/video/galaga.c b/src/mame/video/galaga.c index e9fa40940ec..45c67222bd9 100644 --- a/src/mame/video/galaga.c +++ b/src/mame/video/galaga.c @@ -516,15 +516,16 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta int sizey = (spriteram_3[offs] & 0x08) >> 3; int x,y; + sy -= 16 * sizey; + sy = (sy & 0xff) - 32; // fix wraparound + if (flip_screen_get()) { flipx ^= 1; flipy ^= 1; + sy += 48; } - sy -= 16 * sizey; - sy = (sy & 0xff) - 32; // fix wraparound - for (y = 0;y <= sizey;y++) { for (x = 0;x <= sizex;x++) diff --git a/src/mame/video/xevious.c b/src/mame/video/xevious.c index 4a4405d3f44..171a96589cb 100644 --- a/src/mame/video/xevious.c +++ b/src/mame/video/xevious.c @@ -450,14 +450,17 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan color = spriteram[offs + 1] & 0x7f; flipx = spriteram_3[offs] & 4; flipy = spriteram_3[offs] & 8; + + sx = spriteram_2[offs + 1] - 40 + 0x100*(spriteram_3[offs + 1] & 1); + sy = 28*8-spriteram_2[offs]-1; + if (flip_screen_get()) { flipx = !flipx; flipy = !flipy; + sy += 48; } - sx = spriteram_2[offs + 1] - 40 + 0x100*(spriteram_3[offs + 1] & 1); - sy = 28*8-spriteram_2[offs]-1; - + transmask = colortable_get_transpen_mask(machine->colortable, machine->gfx[bank], color, 0x80); if (spriteram_3[offs] & 2) /* double height (?) */