trunk/src/mame/drivers/coolridr.c
| r21411 | r21412 | |
| 694 | 694 | #define DRAW_PIX \ |
| 695 | 695 | if (pix&0x7fff) \ |
| 696 | 696 | { \ |
| 697 | | if (object->blittype==0) \ |
| 697 | if (object->zpri < zline[drawx]) \ |
| 698 | 698 | { \ |
| 699 | | if (object->zpri < zline[drawx]) \ |
| 700 | 699 | { \ |
| 701 | | { \ |
| 702 | | int r,g,b; \ |
| 703 | | r = pal5bit((pix >> 10) & 0x1f); \ |
| 704 | | g = pal5bit((pix >> 5) & 0x1f); \ |
| 705 | | b = pal5bit((pix >> 0) & 0x1f); \ |
| 706 | | line[drawx] = r<<16 | g<<8 | b; \ |
| 707 | | zline[drawx] = object->zpri; \ |
| 708 | | } \ |
| 700 | int r,g,b; \ |
| 701 | r = pal5bit((pix >> 10) & 0x1f); \ |
| 702 | g = pal5bit((pix >> 5) & 0x1f); \ |
| 703 | b = pal5bit((pix >> 0) & 0x1f); \ |
| 704 | line[drawx] = r<<16 | g<<8 | b; \ |
| 705 | zline[drawx] = object->zpri; \ |
| 709 | 706 | } \ |
| 710 | 707 | } \ |
| 711 | | else if (object->blittype==1) \ |
| 712 | | { \ |
| 713 | | if (object->zpri < zline[drawx]) \ |
| 714 | | { \ |
| 715 | | { \ |
| 716 | | int r,g,b; \ |
| 717 | | r = pal5bit((pix >> 10) & 0x1f); \ |
| 718 | | g = pal5bit((pix >> 5) & 0x1f); \ |
| 719 | | b = pal5bit((pix >> 0) & 0x1f); \ |
| 720 | | line[drawx] = r<<16 | g<<8 | b; \ |
| 721 | | zline[drawx] = object->zpri; \ |
| 722 | | } \ |
| 723 | | } \ |
| 724 | | } \ |
| 725 | | if (object->blittype==2) \ |
| 726 | | { \ |
| 727 | | if (object->zpri < zline[drawx]) \ |
| 728 | | { \ |
| 729 | | { \ |
| 730 | | int r,g,b; \ |
| 731 | | r = pal5bit((pix >> 10) & 0x1f); \ |
| 732 | | g = pal5bit((pix >> 5) & 0x1f); \ |
| 733 | | b = pal5bit((pix >> 0) & 0x1f); \ |
| 734 | | line[drawx] = r<<16 | g<<8 | b; \ |
| 735 | | zline[drawx] = object->zpri; \ |
| 736 | | } \ |
| 737 | | } \ |
| 738 | | } \ |
| 739 | | if (object->blittype==3) \ |
| 740 | | { \ |
| 741 | | if (object->zpri < zline[drawx]) \ |
| 742 | | { \ |
| 743 | | { \ |
| 744 | | int r,g,b; \ |
| 745 | | r = pal5bit((pix >> 10) & 0x1f); \ |
| 746 | | g = pal5bit((pix >> 5) & 0x1f); \ |
| 747 | | b = pal5bit((pix >> 0) & 0x1f); \ |
| 748 | | line[drawx] = r<<16 | g<<8 | b; \ |
| 749 | | zline[drawx] = object->zpri; \ |
| 750 | | } \ |
| 751 | | } \ |
| 752 | | } \ |
| 753 | 708 | } \ |
| 754 | 709 | |
| 755 | 710 | |
| r21411 | r21412 | |
| 821 | 776 | /************* object->spriteblit[4] *************/ |
| 822 | 777 | |
| 823 | 778 | UINT32 blit4_unused = object->spriteblit[4] & 0xf8fefefe; |
| 824 | | //UINT32 blit4 = object->spriteblit[4] & 0x07000000; |
| 779 | //UINT32 blit4 = (object->spriteblit[4] & 0x07000000)>>24; |
| 780 | //object->zpri = 7-blit4; |
| 781 | |
| 825 | 782 | UINT32 blit_flipx = object->spriteblit[4] & 0x00000001; |
| 826 | 783 | UINT32 blit_flipy = (object->spriteblit[4] & 0x00000100)>>8; |
| 827 | 784 | UINT32 blit_rotate = (object->spriteblit[4] & 0x00010000)>>16; |
| r21411 | r21412 | |
| 1535 | 1492 | testobject->indirect_zoom = NULL; |
| 1536 | 1493 | } |
| 1537 | 1494 | |
| 1538 | | testobject->zpri = m_blitterAddr; |
| 1495 | testobject->zpri = m_blitterAddr | m_blittype<<12; |
| 1539 | 1496 | testobject->blittype = m_blittype; |
| 1540 | 1497 | |
| 1541 | 1498 | osd_work_queue *queue; |
| r21411 | r21412 | |
| 1663 | 1620 | // use the 11th blit write also as the trigger |
| 1664 | 1621 | if (m_blitterSerialCount == 12) |
| 1665 | 1622 | { |
| 1666 | | //if (m_blittype==2) |
| 1667 | | blit_current_sprite(space); |
| 1623 | blit_current_sprite(space); |
| 1668 | 1624 | } |
| 1669 | 1625 | |
| 1670 | 1626 | } |