| 400 | } |
| 401 | |
| 402 | unsigned char *CNetChunkHeader::Pack(unsigned char *pData, int Split) const |
| 403 | { |
| 404 | dbg_assert(m_Size >= 0 && m_Size < 1 << (Split + 6), "Invalid network chunk size: %d", m_Size); |
| 405 | |
| 406 | pData[0] = ((m_Flags & 3) << 6) | ((m_Size >> Split) & 0x3f); |
| 407 | pData[1] = (m_Size & ((1 << Split) - 1)); |
| 408 | if(m_Flags & NET_CHUNKFLAG_VITAL) |
| 409 | { |
| 410 | pData[1] |= (m_Sequence >> 2) & (~((1 << Split) - 1)); |
| 411 | pData[2] = m_Sequence & 0xff; |
| 412 | return pData + 3; |
| 413 | } |
| 414 | return pData + 2; |
| 415 | } |
| 416 | |
| 417 | unsigned char *CNetChunkHeader::Unpack(unsigned char *pData, int Split) |
| 418 | { |
no outgoing calls
no test coverage detected