mirror of
https://github.com/blawar/GLideN64.git
synced 2024-07-07 03:13:49 +00:00
Code cleanup: cleanup CRC.h and CRC.cpp
This commit is contained in:
parent
23f7f24d35
commit
1a43c89db3
59
CRC.cpp
59
CRC.cpp
|
@ -6,58 +6,55 @@ unsigned int CRCTable[ 256 ];
|
||||||
|
|
||||||
u32 Reflect( u32 ref, char ch )
|
u32 Reflect( u32 ref, char ch )
|
||||||
{
|
{
|
||||||
u32 value = 0;
|
u32 value = 0;
|
||||||
|
|
||||||
// Swap bit 0 for bit 7
|
// Swap bit 0 for bit 7
|
||||||
// bit 1 for bit 6, etc.
|
// bit 1 for bit 6, etc.
|
||||||
for (int i = 1; i < (ch + 1); i++)
|
for (int i = 1; i < (ch + 1); ++i) {
|
||||||
{
|
if(ref & 1)
|
||||||
if(ref & 1)
|
value |= 1 << (ch - i);
|
||||||
value |= 1 << (ch - i);
|
ref >>= 1;
|
||||||
ref >>= 1;
|
}
|
||||||
}
|
return value;
|
||||||
return value;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void CRC_BuildTable()
|
void CRC_BuildTable()
|
||||||
{
|
{
|
||||||
u32 crc;
|
u32 crc;
|
||||||
|
|
||||||
for (int i = 0; i < 256; i++)
|
for (int i = 0; i < 256; ++i) {
|
||||||
{
|
crc = Reflect( i, 8 ) << 24;
|
||||||
crc = Reflect( i, 8 ) << 24;
|
for (int j = 0; j < 8; ++j)
|
||||||
for (int j = 0; j < 8; j++)
|
|
||||||
crc = (crc << 1) ^ (crc & (1 << 31) ? CRC32_POLYNOMIAL : 0);
|
crc = (crc << 1) ^ (crc & (1 << 31) ? CRC32_POLYNOMIAL : 0);
|
||||||
|
|
||||||
CRCTable[i] = Reflect( crc, 32 );
|
CRCTable[i] = Reflect( crc, 32 );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
u32 CRC_Calculate( u32 crc, void *buffer, u32 count )
|
u32 CRC_Calculate( u32 crc, const void * buffer, u32 count )
|
||||||
{
|
{
|
||||||
u8 *p;
|
u8 *p;
|
||||||
u32 orig = crc;
|
u32 orig = crc;
|
||||||
|
|
||||||
p = (u8*) buffer;
|
p = (u8*) buffer;
|
||||||
while (count--)
|
while (count--)
|
||||||
crc = (crc >> 8) ^ CRCTable[(crc & 0xFF) ^ *p++];
|
crc = (crc >> 8) ^ CRCTable[(crc & 0xFF) ^ *p++];
|
||||||
|
|
||||||
return crc ^ orig;
|
return crc ^ orig;
|
||||||
}
|
}
|
||||||
|
|
||||||
u32 CRC_CalculatePalette( u32 crc, void *buffer, u32 count )
|
u32 CRC_CalculatePalette(u32 crc, const void * buffer, u32 count )
|
||||||
{
|
{
|
||||||
u8 *p;
|
u8 *p;
|
||||||
u32 orig = crc;
|
u32 orig = crc;
|
||||||
|
|
||||||
p = (u8*) buffer;
|
p = (u8*) buffer;
|
||||||
while (count--)
|
while (count--) {
|
||||||
{
|
|
||||||
crc = (crc >> 8) ^ CRCTable[(crc & 0xFF) ^ *p++];
|
crc = (crc >> 8) ^ CRCTable[(crc & 0xFF) ^ *p++];
|
||||||
crc = (crc >> 8) ^ CRCTable[(crc & 0xFF) ^ *p++];
|
crc = (crc >> 8) ^ CRCTable[(crc & 0xFF) ^ *p++];
|
||||||
|
|
||||||
p += 6;
|
p += 6;
|
||||||
}
|
}
|
||||||
|
|
||||||
return crc ^ orig;
|
return crc ^ orig;
|
||||||
}
|
}
|
||||||
|
|
4
CRC.h
4
CRC.h
|
@ -2,5 +2,5 @@
|
||||||
|
|
||||||
void CRC_BuildTable();
|
void CRC_BuildTable();
|
||||||
|
|
||||||
u32 CRC_Calculate( u32 crc, void *buffer, u32 count );
|
u32 CRC_Calculate( u32 crc, const void *buffer, u32 count );
|
||||||
u32 CRC_CalculatePalette( u32 crc, void *buffer, u32 count );
|
u32 CRC_CalculatePalette( u32 crc, const void *buffer, u32 count );
|
||||||
|
|
Loading…
Reference in New Issue
Block a user