mirror of
https://github.com/holub/mame
synced 2025-04-24 09:20:02 +03:00
namcofl.cpp : Implement screen clipping
This commit is contained in:
parent
f1b3e649fb
commit
8ad28902f5
@ -60,19 +60,29 @@ void namcofl_state::RozCB(uint16_t code, int *tile, int *mask, int which)
|
||||
|
||||
uint32_t namcofl_state::screen_update_namcofl(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
/* compute window for custom screen blanking */
|
||||
rectangle clip;
|
||||
//004c 016b 0021 0101 004a 0060 (finalapr*)
|
||||
//004b 016b 0021 0101 0144 0047 (speedrcr)
|
||||
clip.min_x = m_c116->get_reg(0) - 0x4b;
|
||||
clip.max_x = m_c116->get_reg(1) - 0x4b - 1;
|
||||
clip.min_y = m_c116->get_reg(2) - 0x21;
|
||||
clip.max_y = m_c116->get_reg(3) - 0x21 - 1;
|
||||
/* intersect with master clip rectangle */
|
||||
clip &= cliprect;
|
||||
int pri;
|
||||
|
||||
bitmap.fill(m_c116->black_pen(), cliprect );
|
||||
|
||||
for( pri=0; pri<16; pri++ )
|
||||
{
|
||||
m_c169roz->draw(screen, bitmap, cliprect, pri);
|
||||
m_c169roz->draw(screen, bitmap, clip, pri);
|
||||
if ((pri & 1) == 0)
|
||||
{
|
||||
m_c123tmap->draw(screen, bitmap, cliprect, pri >> 1);
|
||||
m_c123tmap->draw(screen, bitmap, clip, pri >> 1);
|
||||
}
|
||||
|
||||
m_c355spr->draw(screen, bitmap, cliprect, pri );
|
||||
m_c355spr->draw(screen, bitmap, clip, pri );
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user