mirror of
https://github.com/holub/mame
synced 2025-05-25 23:35:26 +03:00
00230: On the emulated game when the waves are near the border of the screen you can see them on the other side. This is wrong.
This commit is contained in:
parent
0095575e01
commit
9bbca338d4
@ -174,11 +174,34 @@ WRITE8_HANDLER( m57_flipscreen_w )
|
|||||||
|
|
||||||
static void draw_background(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
|
static void draw_background(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
|
||||||
{
|
{
|
||||||
int y;
|
int y,x;
|
||||||
|
|
||||||
|
for (y = 0; y < 128; y++)
|
||||||
|
tilemap_set_scrollx(bg_tilemap, y, (y < 64) ? 0 : m57_scroll[64]);
|
||||||
|
|
||||||
for (y = 0; y < 256; y++)
|
|
||||||
tilemap_set_scrollx(bg_tilemap, y, (y < 64) ? 0 : (y < 128) ? m57_scroll[64] : m57_scroll[y]);
|
|
||||||
tilemap_draw(bitmap, cliprect, bg_tilemap, 0, 0);
|
tilemap_draw(bitmap, cliprect, bg_tilemap, 0, 0);
|
||||||
|
|
||||||
|
for (y = 128; y <= cliprect->max_y; y++)
|
||||||
|
{
|
||||||
|
if (m57_scroll[y] < 128)
|
||||||
|
{
|
||||||
|
for (x = cliprect->min_x; x <= cliprect->max_x; x++)
|
||||||
|
{
|
||||||
|
if ((x + m57_scroll[y]) <= cliprect->max_x)
|
||||||
|
*BITMAP_ADDR16(bitmap, y, x) = *BITMAP_ADDR16(bitmap, y, x + m57_scroll[y]);
|
||||||
|
else
|
||||||
|
*BITMAP_ADDR16(bitmap, y, x) = *BITMAP_ADDR16(bitmap, y, cliprect->max_x);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
for (x = cliprect->max_x; x >= cliprect->min_x; x--)
|
||||||
|
{
|
||||||
|
if ((x + m57_scroll[y] - 256) >= cliprect->min_x)
|
||||||
|
*BITMAP_ADDR16(bitmap, y, x) = *BITMAP_ADDR16(bitmap, y, x + m57_scroll[y] - 256);
|
||||||
|
else
|
||||||
|
*BITMAP_ADDR16(bitmap, y, x) = *BITMAP_ADDR16(bitmap, y, cliprect->min_x);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*************************************
|
/*************************************
|
||||||
|
Loading…
Reference in New Issue
Block a user