trunk/src/mame/machine/raiden2cop.c
| r32400 | r32401 | |
| 1633 | 1633 | |
| 1634 | 1634 | int j = slot; |
| 1635 | 1635 | int i; |
| 1636 | |
| 1637 | UINT8 res; |
| 1636 | 1638 | |
| 1639 | res = 7; |
| 1640 | |
| 1637 | 1641 | //for (j = 0; j < 2; j++) |
| 1638 | 1642 | for (i = 0; i < 3;i++) |
| 1639 | 1643 | { |
| r32400 | r32401 | |
| 1647 | 1651 | m_LEGACY_cop_collision_info[j].min[i] = (cop_collision_info[j].pos[i]) + dx[i]; |
| 1648 | 1652 | m_LEGACY_cop_collision_info[j].max[i] = m_LEGACY_cop_collision_info[j].min[i] + size[i]; |
| 1649 | 1653 | } |
| 1650 | | } |
| 1651 | | static UINT8 res; |
| 1652 | 1654 | |
| 1653 | | res = 3; |
| 1655 | if(m_LEGACY_cop_collision_info[0].max[i] >= m_LEGACY_cop_collision_info[1].min[i] && m_LEGACY_cop_collision_info[0].min[i] <= m_LEGACY_cop_collision_info[1].max[i]) |
| 1656 | res &= ~(1 << i); |
| 1654 | 1657 | |
| 1655 | | /* outbound X check */ |
| 1656 | | if(m_LEGACY_cop_collision_info[0].max[1] >= m_LEGACY_cop_collision_info[1].min[1] && m_LEGACY_cop_collision_info[0].min[1] <= m_LEGACY_cop_collision_info[1].max[1]) |
| 1657 | | res &= ~2; |
| 1658 | if(m_LEGACY_cop_collision_info[1].max[i] >= m_LEGACY_cop_collision_info[0].min[i] && m_LEGACY_cop_collision_info[1].min[i] <= m_LEGACY_cop_collision_info[0].max[i]) |
| 1659 | res &= ~(1 << i); |
| 1658 | 1660 | |
| 1659 | | if(m_LEGACY_cop_collision_info[1].max[1] >= m_LEGACY_cop_collision_info[0].min[1] && m_LEGACY_cop_collision_info[1].min[1] <= m_LEGACY_cop_collision_info[0].max[1]) |
| 1660 | | res &= ~2; |
| 1661 | | |
| 1662 | | /* outbound Y check */ |
| 1663 | | if(m_LEGACY_cop_collision_info[0].max[0] >= m_LEGACY_cop_collision_info[1].min[0] && m_LEGACY_cop_collision_info[0].min[0] <= m_LEGACY_cop_collision_info[1].max[0]) |
| 1664 | | res &= ~1; |
| 1665 | | |
| 1666 | | if(m_LEGACY_cop_collision_info[1].max[0] >= m_LEGACY_cop_collision_info[0].min[0] && m_LEGACY_cop_collision_info[1].min[0] <= m_LEGACY_cop_collision_info[0].max[0]) |
| 1667 | | res &= ~1; |
| 1668 | | |
| 1669 | | for (i = 0; i < 3;i++) |
| 1670 | 1661 | cop_hit_val[i] = (cop_collision_info[0].pos[i] - cop_collision_info[1].pos[i]); |
| 1662 | } |
| 1671 | 1663 | |
| 1672 | 1664 | cop_hit_val_stat = res; // TODO: there's also bit 2 and 3 triggered in the tests, no known meaning |
| 1673 | | |
| 1674 | | |
| 1675 | 1665 | cop_hit_status = res; |
| 1676 | 1666 | } |
| 1677 | 1667 | |