mirror of
https://github.com/holub/mame
synced 2025-05-16 10:52:43 +03:00
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
This commit is contained in:
parent
2816328d1d
commit
1b4ead59cb
@ -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 )
|
||||
|
@ -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 );
|
||||
|
@ -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 */
|
||||
|
Loading…
Reference in New Issue
Block a user