| 1740 | } |
| 1741 | |
| 1742 | static void CPE_DefineModelPart(cc_uint8* data) { |
| 1743 | struct CustomModel* m; |
| 1744 | struct CustomModelPart* part; |
| 1745 | struct CustomModelPartDef p; |
| 1746 | int i; |
| 1747 | |
| 1748 | m = CustomModel_Get(data[0]); |
| 1749 | if (!m || !m->defined || m->curPartIndex >= m->numParts) return; |
| 1750 | part = &m->parts[m->curPartIndex]; |
| 1751 | |
| 1752 | p.min.x = GetFloat(data + 1); |
| 1753 | p.min.y = GetFloat(data + 5); |
| 1754 | p.min.z = GetFloat(data + 9); |
| 1755 | p.max.x = GetFloat(data + 13); |
| 1756 | p.max.y = GetFloat(data + 17); |
| 1757 | p.max.z = GetFloat(data + 21); |
| 1758 | |
| 1759 | /* read u, v coords for our 6 faces */ |
| 1760 | for (i = 0; i < 6; i++) |
| 1761 | { |
| 1762 | p.u1[i] = Stream_GetU16_BE(data + 25 + (i*8 + 0)); |
| 1763 | p.v1[i] = Stream_GetU16_BE(data + 25 + (i*8 + 2)); |
| 1764 | p.u2[i] = Stream_GetU16_BE(data + 25 + (i*8 + 4)); |
| 1765 | p.v2[i] = Stream_GetU16_BE(data + 25 + (i*8 + 6)); |
| 1766 | } |
| 1767 | |
| 1768 | p.rotationOrigin.x = GetFloat(data + 73); |
| 1769 | p.rotationOrigin.y = GetFloat(data + 77); |
| 1770 | p.rotationOrigin.z = GetFloat(data + 81); |
| 1771 | |
| 1772 | part->rotation.x = GetFloat(data + 85); |
| 1773 | part->rotation.y = GetFloat(data + 89); |
| 1774 | part->rotation.z = GetFloat(data + 93); |
| 1775 | |
| 1776 | if (customModels_Ext.serverVersion == 1) { |
| 1777 | /* ignore animations */ |
| 1778 | p.flags = data[102]; |
| 1779 | } else { |
| 1780 | p.flags = data[165]; |
| 1781 | |
| 1782 | data += 97; |
| 1783 | for (i = 0; i < MAX_CUSTOM_MODEL_ANIMS; i++) |
| 1784 | { |
| 1785 | cc_uint8 tmp = *data++; |
| 1786 | part->animType[i] = tmp & 0x3F; |
| 1787 | part->animAxis[i] = tmp >> 6; |
| 1788 | |
| 1789 | part->anims[i].a = GetFloat(data); |
| 1790 | data += 4; |
| 1791 | part->anims[i].b = GetFloat(data); |
| 1792 | data += 4; |
| 1793 | part->anims[i].c = GetFloat(data); |
| 1794 | data += 4; |
| 1795 | part->anims[i].d = GetFloat(data); |
| 1796 | data += 4; |
| 1797 | } |
| 1798 | } |
| 1799 |
nothing calls this directly
no test coverage detected