trunk/src/mame/video/galaxian.c
| r17879 | r17880 | |
| 552 | 552 | rectangle clip = cliprect; |
| 553 | 553 | int sprnum; |
| 554 | 554 | |
| 555 | /* the existence of +1 (sprite vs tile layer) is supported by a LOT of games */ |
| 556 | const int hoffset = 1; |
| 557 | |
| 555 | 558 | /* 16 of the 256 pixels of the sprites are hard-clipped at the line buffer */ |
| 556 | 559 | /* according to the schematics, it should be the first 16 pixels */ |
| 557 | | clip.min_x = MAX(clip.min_x, (!state->m_flipscreen_x) * 16 * GALAXIAN_XSCALE); |
| 558 | | clip.max_x = MIN(clip.max_x, (256 - state->m_flipscreen_x * 16) * GALAXIAN_XSCALE - 1); |
| 560 | clip.min_x = MAX(clip.min_x, (!state->m_flipscreen_x) * (16 + hoffset) * GALAXIAN_XSCALE); |
| 561 | clip.max_x = MIN(clip.max_x, (256 - state->m_flipscreen_x * (16 + hoffset)) * GALAXIAN_XSCALE - 1); |
| 559 | 562 | |
| 560 | 563 | /* The line buffer is only written if it contains a '0' currently; */ |
| 561 | 564 | /* it is cleared during the visible area, and populated during HBLANK */ |
| r17879 | r17880 | |
| 572 | 575 | UINT8 flipx = base[1] & 0x40; |
| 573 | 576 | UINT8 flipy = base[1] & 0x80; |
| 574 | 577 | UINT8 color = base[2] & 7; |
| 575 | | UINT8 sx = base[3] + 1; |
| 578 | UINT8 sx = base[3] + hoffset; |
| 576 | 579 | |
| 577 | 580 | /* extend the sprite information */ |
| 578 | 581 | if (state->m_extend_sprite_info_ptr != NULL) |