From b5bfa6176b2afc5101c22c36d2a916df119b92d0 Mon Sep 17 00:00:00 2001 From: cam900 Date: Mon, 3 Jun 2019 08:56:26 +0900 Subject: [PATCH] decmxc06.cpp : Fix regression --- src/mame/video/decmxc06.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/mame/video/decmxc06.cpp b/src/mame/video/decmxc06.cpp index 621e5e1d161..0788f926467 100644 --- a/src/mame/video/decmxc06.cpp +++ b/src/mame/video/decmxc06.cpp @@ -58,7 +58,7 @@ void deco_mxc06_device::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap if (priority) { start = size - 4; end = -4; inc = -4; } else { start = 0; end = size; inc = +4; } - for (int offs = start; offs != end; offs += inc) + for (int offs = start; offs != end;) { u32 pri_mask = 0; int flipy, incy, mult, parentFlipY; @@ -96,7 +96,10 @@ void deco_mxc06_device::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap // thedeep strongly suggests that this check goes here, otherwise the radar breaks if (!(spriteram[offs] & 0x8000)) + { + offs += inc; continue; + } for (int x = 0; x < w; x++) { @@ -136,6 +139,10 @@ void deco_mxc06_device::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap } } } + offs += inc; + if (offs == end) + return; + } } }