Thank you for the tip sir velmore already have that added on my source my problem is someone is still fuckin my worldserver some stupid person is crashing it :(
That part on my crc.cpp is like this
Code:
#define ELF_KEY 0xD34DB33F
#define CRC32_KEY 0x13376942
void CRC32::Update(const byte *s, unsigned int n)
{
// ELF HASH BEGIN
m_crc ^= ELF_KEY;
unsigned int x = 0;
unsigned int i = 0;
byte* str = (byte*)s;
for(i = 0; i < n; str++, i++)
{
m_crc = (m_crc << 4) + (*str);
if((x = m_crc & 0xF0000000L) != 0)
{
m_crc ^= (x >> 24);
}
m_crc &= ~x;
}
m_crc ^= ELF_KEY;
// ELF HASH END
// CRC32 HASH BEGIN
m_crc ^= CRC32_KEY;
word32 crc = m_crc;
for(; !IsAligned<word32>(s) && n > 0; n--)
crc = m_tab[CRC32_INDEX(crc) ^ *s++] ^ CRC32_SHIFTED(crc);
while (n >= 4)
{
crc ^= *(const word32 *)s;
crc = m_tab[CRC32_INDEX(crc)] ^ CRC32_SHIFTED(crc);
crc = m_tab[CRC32_INDEX(crc)] ^ CRC32_SHIFTED(crc);
crc = m_tab[CRC32_INDEX(crc)] ^ CRC32_SHIFTED(crc);
crc = m_tab[CRC32_INDEX(crc)] ^ CRC32_SHIFTED(crc);
n -= 4;
s += 4;
}
while (n--)
crc = m_tab[CRC32_INDEX(crc) ^ *s++] ^ CRC32_SHIFTED(crc);
m_crc = crc;
m_crc ^= CRC32_KEY;
// CRC32 HASH END
}