diff options
| author | 2026-05-01 20:33:16 +0200 | |
|---|---|---|
| committer | 2026-05-01 20:52:49 +0200 | |
| commit | 55042fbe8905ba591f86de35dc2c84c251b6e81a (patch) | |
| tree | b2328b1c83277149b442250a6d2714539ace3c74 | |
| parent | 4c3baee20f15c296afe850f01479d4dbc2c6ea8d (diff) | |
namcos21_3d: z param can be negative
| -rw-r--r-- | src/mame/namco/namcos21_3d.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/mame/namco/namcos21_3d.cpp b/src/mame/namco/namcos21_3d.cpp index 6dc308e318f..a4896a340a2 100644 --- a/src/mame/namco/namcos21_3d.cpp +++ b/src/mame/namco/namcos21_3d.cpp @@ -60,7 +60,7 @@ void namcos21_3d_device::swap_and_clear_poly_framebuffer() m_poly_framebuffer_pens.swap(m_poly_framebuffer_pens2); // wipe work framebuffers - std::fill_n(m_poly_framebuffer_z.get(), m_framebuffer_size, 0x7fff); + std::fill_n(m_poly_framebuffer_z.get(), m_framebuffer_size, 0x8000); std::fill_n(m_poly_framebuffer_pens.get(), m_framebuffer_size, 0); } @@ -253,7 +253,7 @@ void namcos21_3d_device::blit_single_quad(int sx[4], int sy[4], int zcode[4], u1 { v[i].x = sx[i]; v[i].y = sy[i]; - v[i].z = zcode[i] & 0x7fff; + v[i].z = zcode[i]; } rendertri(&v[0], &v[1], &v[2], color); @@ -268,7 +268,7 @@ void namcos21_3d_device::draw_direct_quad(const u16 *source, u16 color) { sx[i] = m_poly_frame_width / 2 + (s16)*source++; sy[i] = m_poly_frame_height / 2 + (s16)*source++; - zcode[i] = *source++; + zcode[i] = (s16)*source++; } blit_single_quad(sx, sy, zcode, color); @@ -297,7 +297,7 @@ int namcos21_3d_device::draw_quads(const u16 *source, const u8 *pointram, const sx[i] = m_poly_frame_width / 2 + (s16)source[vi * 3 + 0]; sy[i] = m_poly_frame_height / 2 + (s16)source[vi * 3 + 1]; - zcode[i] = source[vi * 3 + 2]; + zcode[i] = (s16)source[vi * 3 + 2]; if (vi > max_vi) max_vi = vi; |
