summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/fcrash.cpp
diff options
context:
space:
mode:
author Robbbert <Robbbert@users.noreply.github.com>2016-12-12 13:06:32 +1100
committer Robbbert <Robbbert@users.noreply.github.com>2016-12-12 13:06:32 +1100
commitc7d7f00eb0c3ea7339f91e34d9b17033ea388dc7 (patch)
tree778998717348567002effb258de3980dcfe26bea /src/mame/drivers/fcrash.cpp
parent92ce7cd13c68c063b1b03d1f7f7c6dac4f77dd4e (diff)
MT 04921
Diffstat (limited to 'src/mame/drivers/fcrash.cpp')
-rw-r--r--src/mame/drivers/fcrash.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/mame/drivers/fcrash.cpp b/src/mame/drivers/fcrash.cpp
index d24b4aa496d..3f747612e76 100644
--- a/src/mame/drivers/fcrash.cpp
+++ b/src/mame/drivers/fcrash.cpp
@@ -491,7 +491,8 @@ void cps_state::fcrash_render_sprites( screen_device &screen, bitmap_ind16 &bitm
int num_sprites = m_gfxdecode->gfx(2)->elements();
int last_sprite_offset = 0x1ffc;
uint16_t *sprite_ram = m_gfxram;
- uint16_t tileno,flipx,flipy,colour,xpos,ypos;
+ uint16_t tileno,colour,xpos,ypos;
+ bool flipx, flipy;
/* if we have separate sprite ram, use it */
if (m_bootleg_sprite_ram) sprite_ram = m_bootleg_sprite_ram.get();
@@ -509,13 +510,16 @@ void cps_state::fcrash_render_sprites( screen_device &screen, bitmap_ind16 &bitm
if (tileno >= num_sprites) continue; /* don't render anything outside our tiles */
xpos = sprite_ram[base + pos + 2] & 0x1ff;
ypos = sprite_ram[base + pos - 1] & 0x1ff;
- flipx = sprite_ram[base + pos + 1] & 0x20;
- flipy = sprite_ram[base + pos + 1] & 0x40;
+ flipx = BIT(sprite_ram[base + pos + 1], 5);
+ flipy = BIT(sprite_ram[base + pos + 1], 6);
colour = sprite_ram[base + pos + 1] & 0x1f;
ypos = 256 - ypos - 16;
xpos = xpos + m_sprite_x_offset + 49;
- m_gfxdecode->gfx(2)->prio_transpen(bitmap,cliprect, tileno, colour, flipx, flipy, xpos, ypos, screen.priority(), 0x02, 15);
+ if (flip_screen())
+ m_gfxdecode->gfx(2)->prio_transpen(bitmap, cliprect, tileno, colour, !flipx, !flipy, 512-16-xpos, 256-16-ypos, screen.priority(), 2, 15);
+ else
+ m_gfxdecode->gfx(2)->prio_transpen(bitmap, cliprect, tileno, colour, flipx, flipy, xpos, ypos, screen.priority(), 2, 15);
}
}
}