diff options
author | cam900 <dbtlrchl@naver.com> | 2019-12-07 11:45:33 +0900 |
---|---|---|
committer | R. Belmont <rb6502@users.noreply.github.com> | 2019-12-06 21:45:33 -0500 |
commit | 4d9d74ef933e7ead1034cf41a13784ba8bed92bb (patch) | |
tree | 6612ecedfeb07a6a5f4e046367e101c15ac009cc /src/mame/drivers | |
parent | cec18b863511cc4e475c395c87e6551ae168c82f (diff) |
namco_c355spr.cpp : Fix priority when pri 0 sprite isn't drawed first (#6011)
* namco_c355spr.cpp : Convert vblank handler into register_vblank_callback
* namco_c355spr.cpp : Revert vblank related commits
Diffstat (limited to 'src/mame/drivers')
-rw-r--r-- | src/mame/drivers/gal3.cpp | 10 | ||||
-rw-r--r-- | src/mame/drivers/namcos21_c67.cpp | 3 | ||||
-rw-r--r-- | src/mame/drivers/namcos21_de.cpp | 3 |
3 files changed, 16 insertions, 0 deletions
diff --git a/src/mame/drivers/gal3.cpp b/src/mame/drivers/gal3.cpp index e2da6e5432a..c057abd26d1 100644 --- a/src/mame/drivers/gal3.cpp +++ b/src/mame/drivers/gal3.cpp @@ -208,6 +208,10 @@ void gal3_state::video_start() uint32_t gal3_state::screen_update_left(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { + bitmap.fill(0xff, cliprect); // TODO : actually laserdisc layer + screen.priority().fill(0, cliprect); + m_c355spr[0]->get_sprites(); // TODO : buffered? + int i; char mst[18], slv[18]; static int pivot = 15; @@ -258,6 +262,10 @@ uint32_t gal3_state::screen_update_left(screen_device &screen, bitmap_ind16 &bit uint32_t gal3_state::screen_update_right(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { + bitmap.fill(0xff, cliprect); // TODO : actually laserdisc layer + screen.priority().fill(0, cliprect); + m_c355spr[1]->get_sprites(); // TODO : buffered? + static int pivot = 15; int pri; @@ -629,6 +637,7 @@ void gal3_state::gal3(machine_config &config) m_c355spr[0]->set_tile_callback(namco_c355spr_device::c355_obj_code2tile_delegate()); m_c355spr[0]->set_palxor(0xf); // reverse mapping m_c355spr[0]->set_color_base(0x1000); // TODO : verify palette offset + m_c355spr[0]->set_external_prifill(true); NAMCOS21_3D(config, m_namcos21_3d[0], 0); m_namcos21_3d[0]->set_zz_shift_mult(11, 0x200); @@ -658,6 +667,7 @@ void gal3_state::gal3(machine_config &config) m_c355spr[1]->set_tile_callback(namco_c355spr_device::c355_obj_code2tile_delegate()); m_c355spr[1]->set_palxor(0xf); // reverse mapping m_c355spr[1]->set_color_base(0x1000); // TODO : verify palette offset + m_c355spr[1]->set_external_prifill(true); NAMCOS21_3D(config, m_namcos21_3d[1], 0); m_namcos21_3d[1]->set_zz_shift_mult(11, 0x200); diff --git a/src/mame/drivers/namcos21_c67.cpp b/src/mame/drivers/namcos21_c67.cpp index 4b05303a602..81dd5def0dc 100644 --- a/src/mame/drivers/namcos21_c67.cpp +++ b/src/mame/drivers/namcos21_c67.cpp @@ -369,6 +369,8 @@ uint32_t namcos21_c67_state::screen_update(screen_device &screen, bitmap_ind16 & int pivot = 3; int pri; bitmap.fill(0xff, cliprect ); + screen.priority().fill(0, cliprect); + m_c355spr->get_sprites(); // TODO : buffered? m_c355spr->draw(screen, bitmap, cliprect, 2 ); @@ -823,6 +825,7 @@ void namcos21_c67_state::namcos21(machine_config &config) m_c355spr->set_tile_callback(namco_c355spr_device::c355_obj_code2tile_delegate()); m_c355spr->set_palxor(0xf); // reverse mapping m_c355spr->set_color_base(0x1000); + m_c355spr->set_external_prifill(true); SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); diff --git a/src/mame/drivers/namcos21_de.cpp b/src/mame/drivers/namcos21_de.cpp index cb0f209acb8..8914cdcc97c 100644 --- a/src/mame/drivers/namcos21_de.cpp +++ b/src/mame/drivers/namcos21_de.cpp @@ -198,6 +198,7 @@ void namco_de_pcbstack_device::device_add_mconfig(machine_config &config) m_c355spr->set_tile_callback(namco_c355spr_device::c355_obj_code2tile_delegate()); m_c355spr->set_palxor(0xf); // reverse mapping m_c355spr->set_color_base(0x1000); + m_c355spr->set_external_prifill(true); SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); @@ -218,6 +219,8 @@ uint32_t namco_de_pcbstack_device::screen_update(screen_device &screen, bitmap_i int pivot = 3; int pri; bitmap.fill(0xff, cliprect ); + screen.priority().fill(0, cliprect); + m_c355spr->get_sprites(); // TODO : buffered? m_c355spr->draw(screen, bitmap, cliprect, 2 ); m_c355spr->draw(screen, bitmap, cliprect, 14 ); //driver's eyes |