rockrage.cpp: fixed priorities and text tile banking for Rock N Rage [Angelo Salese]

* Fixes stage 1 boss eyes flashing and Shena display inside the bubble
at stage 5 boss;
This commit is contained in:
angelosa 2017-08-30 14:26:25 +02:00 committed by Angelo Salese
parent 2ba92b043b
commit 9a3eed8149
2 changed files with 8 additions and 3 deletions

View File

@ -5,6 +5,9 @@ Konami 007420
------
Sprite generator. 8 bytes per sprite with zoom. It uses 0x200 bytes of RAM,
and a variable amount of ROM. Nothing is known about its external interface.
TODO:
- sprite X wraparound? (Rock N Rage sprites disappears on left edge of screen)
*/
#include "emu.h"

View File

@ -27,7 +27,7 @@ PALETTE_INIT_MEMBER(rockrage_state, rockrage)
K007342_CALLBACK_MEMBER(rockrage_state::rockrage_tile_callback)
{
if (layer == 1)
*code |= ((*color & 0x40) << 2) | ((bank & 0x01) << 9);
*code |= ((*color & 0x40) << 2) | ((m_vreg & 0x04) << 7); // doesn't use bank here (Tutankhamen eyes blinking)
else
*code |= ((*color & 0x40) << 2) | ((bank & 0x03) << 10) | ((m_vreg & 0x04) << 7) | ((m_vreg & 0x08) << 9);
*color = layer * 16 + (*color & 0x0f);
@ -70,10 +70,12 @@ uint32_t rockrage_state::screen_update_rockrage(screen_device &screen, bitmap_in
{
m_k007342->tilemap_update();
bitmap.fill(rgb_t::black(), cliprect);
m_k007342->tilemap_draw(screen, bitmap, cliprect, 0, TILEMAP_DRAW_OPAQUE, 0);
m_k007420->sprites_draw(bitmap, cliprect, m_gfxdecode->gfx(1));
m_k007342->tilemap_draw(screen, bitmap, cliprect, 0, 1 | TILEMAP_DRAW_OPAQUE, 0);
// Tutankhamen eyes go below sprites
m_k007342->tilemap_draw(screen, bitmap, cliprect, 1, 0, 0);
m_k007420->sprites_draw(bitmap, cliprect, m_gfxdecode->gfx(1));
m_k007342->tilemap_draw(screen, bitmap, cliprect, 0, 1, 0);
m_k007342->tilemap_draw(screen, bitmap, cliprect, 1, 1, 0);
return 0;
}