diff options
author | hap <happppp@users.noreply.github.com> | 2018-11-09 19:34:35 +0100 |
---|---|---|
committer | hap <happppp@users.noreply.github.com> | 2018-11-09 19:35:53 +0100 |
commit | 21643b0573c9d1a01cbf66ab816df1c48c6e98ff (patch) | |
tree | 08d445f8a051d98e680fbf014e4d89fc35908c30 | |
parent | 2c4af3108885b2e657017589eab2007b794d3509 (diff) |
namcos22: fix bug with priority over textlayer (nw)
-rw-r--r-- | src/mame/drivers/namcos22.cpp | 1 | ||||
-rw-r--r-- | src/mame/video/namcos22.cpp | 6 |
2 files changed, 3 insertions, 4 deletions
diff --git a/src/mame/drivers/namcos22.cpp b/src/mame/drivers/namcos22.cpp index 5341791d58f..9fdb6eeeed2 100644 --- a/src/mame/drivers/namcos22.cpp +++ b/src/mame/drivers/namcos22.cpp @@ -35,7 +35,6 @@ * - alpha blended sprite/poly with priority over alpha blended text doesn't work right (see dirtdash countdown when you start at jungle level) * - ss22 poly translucency is probably more limited than currently emulated, not supporting stacked layers * - there's a sprite limit per scanline, eg. timecris submarine explosion smoke partially erases sprites on real hardware - * - cybrcomm arrows(black part) should be below textlayer when a messagebox pops up * - cybrcycc speed dial needle is missing * - global offset is wrong in non-super22 servicemode video test, and above that, it flickers in acedrvrw, victlapw * - dirtdash polys are broken at the start section of the mountain level, maybe bad rom? diff --git a/src/mame/video/namcos22.cpp b/src/mame/video/namcos22.cpp index ef5a609be03..834c59bc149 100644 --- a/src/mame/video/namcos22.cpp +++ b/src/mame/video/namcos22.cpp @@ -127,7 +127,7 @@ void namcos22_renderer::renderscanline_uvi_full(int32_t scanline, const extent_t } dest[x] = rgb.to_rgba(); - primap[x] |= prioverchar; + primap[x] = (primap[x] & ~1) | prioverchar; u += du; v += dv; @@ -171,7 +171,7 @@ void namcos22_renderer::renderscanline_uvi_full(int32_t scanline, const extent_t rgb.scale_imm_and_clamp(shade << 2); dest[x] = rgb.to_rgba(); - primap[x] |= prioverchar; + primap[x] = (primap[x] & ~1) | prioverchar; u += du; v += dv; @@ -221,7 +221,7 @@ void namcos22_renderer::renderscanline_sprite(int32_t scanline, const extent_t & } dest[x] = rgb.to_rgba(); - primap[x] |= prioverchar; + primap[x] = (primap[x] & ~1) | prioverchar; } x_index += dx; } |