From 1b4ead59cb6ece00a39aa33616588619fe0456ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Banaan=20Ananas?= Date: Wed, 16 Mar 2011 15:42:16 +0000 Subject: [PATCH] rm galaxian_sprite_clip_*, sprite clipping is not hw controllable, the only game that was assumed to be able to control it (pacmanbl) is supposed to have sprites partially cut off. See CrazyKongFan's notes here: http://www.mametesters.org/view.php?id=1598 --- src/mame/drivers/galaxian.c | 6 ------ src/mame/includes/galaxian.h | 2 -- src/mame/video/galaxian.c | 10 +++------- 3 files changed, 3 insertions(+), 15 deletions(-) diff --git a/src/mame/drivers/galaxian.c b/src/mame/drivers/galaxian.c index 51be5955e97..b7c571a303d 100644 --- a/src/mame/drivers/galaxian.c +++ b/src/mame/drivers/galaxian.c @@ -2619,8 +2619,6 @@ static void common_init( irq_line = INPUT_LINE_NMI; galaxian_frogger_adjust = FALSE; galaxian_sfx_tilemap = FALSE; - galaxian_sprite_clip_start = 16; - galaxian_sprite_clip_end = 255; galaxian_draw_bullet_ptr = (draw_bullet != NULL) ? draw_bullet : galaxian_draw_bullet; galaxian_draw_background_ptr = (draw_background != NULL) ? draw_background : galaxian_draw_background; galaxian_extend_tile_info_ptr = extend_tile_info; @@ -2791,10 +2789,6 @@ static DRIVER_INIT( pacmanbl ) /* ...but coin lockout disabled/disconnected */ memory_install_write8_handler(space, 0x6002, 0x6002, 0, 0x7f8, (write8_space_func)artic_gfxbank_w); - - /* also shift the sprite clip offset */ - galaxian_sprite_clip_start = 7; - galaxian_sprite_clip_end = 246; } static READ8_HANDLER( tenspot_dsw_read ) diff --git a/src/mame/includes/galaxian.h b/src/mame/includes/galaxian.h index 3ff2ee55e6e..af709fe6232 100644 --- a/src/mame/includes/galaxian.h +++ b/src/mame/includes/galaxian.h @@ -42,8 +42,6 @@ public: extern UINT8 galaxian_frogger_adjust; extern UINT8 galaxian_sfx_tilemap; -extern UINT8 galaxian_sprite_clip_start; -extern UINT8 galaxian_sprite_clip_end; PALETTE_INIT( galaxian ); PALETTE_INIT( moonwar ); diff --git a/src/mame/video/galaxian.c b/src/mame/video/galaxian.c index 535bbb1e9cc..2a6622ffa5f 100644 --- a/src/mame/video/galaxian.c +++ b/src/mame/video/galaxian.c @@ -245,8 +245,6 @@ galaxian_extend_sprite_info_func galaxian_extend_sprite_info_ptr; /* global tweaks */ UINT8 galaxian_frogger_adjust; UINT8 galaxian_sfx_tilemap; -UINT8 galaxian_sprite_clip_start; -UINT8 galaxian_sprite_clip_end; @@ -600,13 +598,11 @@ static void sprites_draw(running_machine *machine, bitmap_t *bitmap, const recta { rectangle clip = *cliprect; int sprnum; - int clip_ofs = (flipscreen_x ? 16 : 0); /* 16 of the 256 pixels of the sprites are hard-clipped at the line buffer */ - /* according to the schematics, it should be the first 16 pixels; however, */ - /* some bootlegs demonstrate that this can be shifted to other positions. */ - clip.min_x = MAX(clip.min_x, (galaxian_sprite_clip_start - clip_ofs) * GALAXIAN_XSCALE); - clip.max_x = MIN(clip.max_x, (galaxian_sprite_clip_end - clip_ofs + 1) * GALAXIAN_XSCALE - 1); + /* according to the schematics, it should be the first 16 pixels */ + clip.min_x = MAX(clip.min_x, (!flipscreen_x) * 16 * GALAXIAN_XSCALE); + clip.max_x = MIN(clip.max_x, (256 - flipscreen_x * 16) * GALAXIAN_XSCALE - 1); /* The line buffer is only written if it contains a '0' currently; */ /* it is cleared during the visible area, and populated during HBLANK */