summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author cam900 <dbtlrchl@naver.com>2020-09-10 04:49:38 +0900
committer GitHub <noreply@github.com>2020-09-09 15:49:38 -0400
commit89fbdd7509a4c88540843a3b7a6bdce16e9a2c1d (patch)
treee6ff3402ebcfbae4542d331dd1725fc9bf4b8c42
parentb68c48f5f87890ad0faa940727036c388d3afeef (diff)
seta2.cpp: Fix invisible pixel issue in horizontal zoom algorithm (#7198)
* Add notes for background color
-rw-r--r--src/mame/drivers/seta2.cpp2
-rw-r--r--src/mame/video/seta2.cpp6
2 files changed, 4 insertions, 4 deletions
diff --git a/src/mame/drivers/seta2.cpp b/src/mame/drivers/seta2.cpp
index ea9f48dfb4c..11e5bc66236 100644
--- a/src/mame/drivers/seta2.cpp
+++ b/src/mame/drivers/seta2.cpp
@@ -55,7 +55,7 @@ TODO:
- Fix some graphics imperfections (e.g. color depth selection, "tilemap" sprites) [all done? - NS]
- I added a kludge involving a -0x10 yoffset, this fixes the lifeline in myangel.
I didn't find a better way to do it without breaking pzlbowl's title screen.
-- 1 rightmost pixel columns are not drawn when zoomed
+- Background color is not verified
gundamex:
- slowdowns, music tempo is incorrect
diff --git a/src/mame/video/seta2.cpp b/src/mame/video/seta2.cpp
index d5f66766702..e165212cf96 100644
--- a/src/mame/video/seta2.cpp
+++ b/src/mame/video/seta2.cpp
@@ -321,7 +321,7 @@ inline void seta2_state::drawgfx_line(bitmap_ind16& bitmap, const rectangle& cli
uint16_t* dest = &bitmap.pix16(screenline);
int minx = cliprect.min_x << 16;
- int maxx = cliprect.max_x << 16;
+ int maxx = (cliprect.max_x + 1) << 16;
if (xzoom < 0x10000) // shrink
{
@@ -337,7 +337,7 @@ inline void seta2_state::drawgfx_line(bitmap_ind16& bitmap, const rectangle& cli
uint8_t pen = (source[column++] & gfx_mask) >> gfx_shift;
- if (sx >= minx && sx <= maxx)
+ if (sx >= minx && sx < maxx)
{
int realsx = sx >> 16;
@@ -379,7 +379,7 @@ inline void seta2_state::drawgfx_line(bitmap_ind16& bitmap, const rectangle& cli
{
uint8_t pen = (source[column] & gfx_mask) >> gfx_shift;
- if (sx >= minx && sx <= maxx)
+ if (sx >= minx && sx < maxx)
{
int realsx = sx >> 16;