diff options
| author | 2024-11-21 23:55:13 +0100 | |
|---|---|---|
| committer | 2024-11-21 23:55:13 +0100 | |
| commit | 366aaf99a95e3850ff31955702e237e56978594a (patch) | |
| tree | c3ae1678db581e1c68181db5db92255bff45cf1c /src | |
| parent | e5c0f789319a67d40f9dbd472d9e4c2d9830eef0 (diff) | |
chanbara: no need to check attr & 0x08
Diffstat (limited to 'src')
| -rw-r--r-- | src/mame/dataeast/chanbara.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/mame/dataeast/chanbara.cpp b/src/mame/dataeast/chanbara.cpp index 1ebb04a2cac..a4417fedc5a 100644 --- a/src/mame/dataeast/chanbara.cpp +++ b/src/mame/dataeast/chanbara.cpp @@ -186,8 +186,8 @@ void chanbara_state::draw_sprites(screen_device &screen, bitmap_ind16& bitmap, c int sx = (240 - m_spriteram[offs + 3]) & 0xff; int sy = (240 - m_spriteram[offs + 2]) & 0xff; - // hidden or invalid? - if (~attr & 0x01 || attr & 0x08) + // invalid? + if (~attr & 0x01) continue; if (flip_screen()) @@ -205,14 +205,17 @@ void chanbara_state::draw_sprites(screen_device &screen, bitmap_ind16& bitmap, c if (attr & 0x10) { + // 16x32 + code &= ~1; if (flip_screen()) sy += 16; - m_gfxdecode->gfx(1)->prio_transpen(bitmap, cliprect, code + (flipy ^ 1), color, flipx, flipy, sx, sy, screen.priority(), pri_mask, 0); - m_gfxdecode->gfx(1)->prio_transpen(bitmap, cliprect, code + flipy, color, flipx, flipy, sx, sy - 16, screen.priority(), pri_mask, 0); + m_gfxdecode->gfx(1)->prio_transpen(bitmap, cliprect, code | (flipy ^ 1), color, flipx, flipy, sx, sy, screen.priority(), pri_mask, 0); + m_gfxdecode->gfx(1)->prio_transpen(bitmap, cliprect, code | flipy, color, flipx, flipy, sx, sy - 16, screen.priority(), pri_mask, 0); } else { + // 16x16 m_gfxdecode->gfx(1)->prio_transpen(bitmap, cliprect, code, color, flipx, flipy, sx, sy, screen.priority(), pri_mask, 0); } } |
