summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author hap <happppp@users.noreply.github.com>2026-05-01 20:33:16 +0200
committer hap <happppp@users.noreply.github.com>2026-05-01 20:52:49 +0200
commit55042fbe8905ba591f86de35dc2c84c251b6e81a (patch)
treeb2328b1c83277149b442250a6d2714539ace3c74
parent4c3baee20f15c296afe850f01479d4dbc2c6ea8d (diff)
namcos21_3d: z param can be negative
-rw-r--r--src/mame/namco/namcos21_3d.cpp8
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;