mirror of
https://github.com/holub/mame
synced 2025-07-04 17:38:08 +03:00
Merge pull request #4158 from cam900/patch-62
namcofl.cpp : Implement screen clipping
This commit is contained in:
commit
c9191dd995
@ -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)
|
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;
|
int pri;
|
||||||
|
|
||||||
bitmap.fill(m_c116->black_pen(), cliprect );
|
bitmap.fill(m_c116->black_pen(), cliprect );
|
||||||
|
|
||||||
for( pri=0; pri<16; pri++ )
|
for( pri=0; pri<16; pri++ )
|
||||||
{
|
{
|
||||||
m_c169roz->draw(screen, bitmap, cliprect, pri);
|
m_c169roz->draw(screen, bitmap, clip, pri);
|
||||||
if ((pri & 1) == 0)
|
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;
|
return 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user