From b920c496434c9e72bef71c9766fe689531218fa2 Mon Sep 17 00:00:00 2001 From: AJR Date: Tue, 12 Jul 2016 00:49:55 -0400 Subject: [PATCH] zeroteam: Improve sprite/sprite priorities - Simulation code in nzeroteam confirms that COP sort DMA function uses a dword key - Several priorities are still wrong (e.g. bikes invisible on character select screen) --- src/mame/machine/seibucop/seibucop_dma.hxx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/mame/machine/seibucop/seibucop_dma.hxx b/src/mame/machine/seibucop/seibucop_dma.hxx index dd8d644089e..eb0a24338c1 100644 --- a/src/mame/machine/seibucop/seibucop_dma.hxx +++ b/src/mame/machine/seibucop/seibucop_dma.hxx @@ -155,7 +155,7 @@ void raiden2cop_device::dma_fill() void raiden2cop_device::dma_zsorting(UINT16 data) { struct sort_entry { - INT16 sorting_key; + INT32 sorting_key; UINT16 val; }; @@ -163,13 +163,13 @@ void raiden2cop_device::dma_zsorting(UINT16 data) for(int i=0; iread_word(cop_sort_lookup + 2*i); - e.sorting_key = m_host_space->read_word(cop_sort_ram_addr + e.val); + e.sorting_key = m_host_space->read_dword(cop_sort_ram_addr + e.val); } switch(cop_sort_param) { - case 1: + case 2: std::sort(entries.begin(), entries.end(), [](const auto &a, const auto &b){ return a.sorting_key > b.sorting_key; }); break; - case 2: + case 1: std::sort(entries.begin(), entries.end(), [](const auto &a, const auto &b){ return a.sorting_key < b.sorting_key; }); break; }