Skip to content
This repository was archived by the owner on May 17, 2023. It is now read-only.

Commit c52bc0c

Browse files
committed
Fix
1 parent c6b27c8 commit c52bc0c

2 files changed

Lines changed: 7 additions & 40 deletions

File tree

POTC3D_Rehash.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,27 +26,27 @@ u32 Fix_LEGOPOTC3D_Checksum(u8* data, u32 length)
2626
u32 checksum = 0xFFFFFFFF;
2727
if (length > 0)
2828
{
29-
u32 i;
29+
int i;
3030
u32 j;
31-
u32 offset = 0;
31+
int offset = -1;
3232
u8 byte = 0;
3333
u32 unk;
34+
3435
for (i = length>>1; i > 0; i--)
3536
{
3637
for (j = 0; j < 2; j++)
3738
{
38-
byte = (u8)(data[offset+j]);
39+
byte = (u8)(data[offset+1+j]);
3940
byte ^= checksum;
4041
byte &= 0xFF;
4142
unk = CRC_TABLE[ (byte<<2)/4 ];
4243
checksum = unk ^ (checksum>>8);
4344
}
4445
offset += 2;
4546
}
46-
return checksum;
4747
}
4848

49-
return 0;
49+
return ~checksum;
5050
}
5151

5252
int main(int argc, char* argv[])

POTC3D_Rehash.h

Lines changed: 2 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
typedef uint32_t u32;
1010
typedef uint64_t u64;
1111

12-
static const u32 CRC_TABLE[0x1A6] = {
12+
static const u32 CRC_TABLE[256] = {
1313
0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA, 0x076DC419,
1414
0x706AF48F, 0xE963A535, 0x9E6495A3, 0x0EDB8832, 0x79DCB8A4,
1515
0xE0D5E91E, 0x97D2D988, 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07,
@@ -61,40 +61,7 @@ static const u32 CRC_TABLE[0x1A6] = {
6161
0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6, 0xBAD03605,
6262
0xCDD70693, 0x54DE5729, 0x23D967BF, 0xB3667A2E, 0xC4614AB8,
6363
0x5D681B02, 0x2A6F2B94, 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B,
64-
0x2D02EF8D, 0xC0C10000, 0x0140C181, 0x03C0C301, 0xC2410280,
65-
0x06C0C601, 0xC7410780, 0xC5C10500, 0x0440C481, 0x0CC0CC01,
66-
0xCD410D80, 0xCFC10F00, 0x0E40CE81, 0xCAC10A00, 0x0B40CB81,
67-
0x09C0C901, 0xC8410880, 0x18C0D801, 0xD9411980, 0xDBC11B00,
68-
0x1A40DA81, 0xDEC11E00, 0x1F40DF81, 0x1DC0DD01, 0xDC411C80,
69-
0xD4C11400, 0x1540D581, 0x17C0D701, 0xD6411680, 0x12C0D201,
70-
0xD3411380, 0xD1C11100, 0x1040D081, 0x30C0F001, 0xF1413180,
71-
0xF3C13300, 0x3240F281, 0xF6C13600, 0x3740F781, 0x35C0F501,
72-
0xF4413480, 0xFCC13C00, 0x3D40FD81, 0x3FC0FF01, 0xFE413E80,
73-
0x3AC0FA01, 0xFB413B80, 0xF9C13900, 0x3840F881, 0xE8C12800,
74-
0x2940E981, 0x2BC0EB01, 0xEA412A80, 0x2EC0EE01, 0xEF412F80,
75-
0xEDC12D00, 0x2C40EC81, 0x24C0E401, 0xE5412580, 0xE7C12700,
76-
0x2640E681, 0xE2C12200, 0x2340E381, 0x21C0E101, 0xE0412080,
77-
0x60C0A001, 0xA1416180, 0xA3C16300, 0x6240A281, 0xA6C16600,
78-
0x6740A781, 0x65C0A501, 0xA4416480, 0xACC16C00, 0x6D40AD81,
79-
0x6FC0AF01, 0xAE416E80, 0x6AC0AA01, 0xAB416B80, 0xA9C16900,
80-
0x6840A881, 0xB8C17800, 0x7940B981, 0x7BC0BB01, 0xBA417A80,
81-
0x7EC0BE01, 0xBF417F80, 0xBDC17D00, 0x7C40BC81, 0x74C0B401,
82-
0xB5417580, 0xB7C17700, 0x7640B681, 0xB2C17200, 0x7340B381,
83-
0x71C0B101, 0xB0417080, 0x90C15000, 0x51409181, 0x53C09301,
84-
0x92415280, 0x56C09601, 0x97415780, 0x95C15500, 0x54409481,
85-
0x5CC09C01, 0x9D415D80, 0x9FC15F00, 0x5E409E81, 0x9AC15A00,
86-
0x5B409B81, 0x59C09901, 0x98415880, 0x48C08801, 0x89414980,
87-
0x8BC14B00, 0x4A408A81, 0x8EC14E00, 0x4F408F81, 0x4DC08D01,
88-
0x8C414C80, 0x84C14400, 0x45408581, 0x47C08701, 0x86414680,
89-
0x42C08201, 0x83414380, 0x81C14100, 0x40408081, 0x0A290000,
90-
0x00780A51, 0x00880AA1, 0x0AD900F0, 0x01680B41, 0x0B390110,
91-
0x0BC901E0, 0x01980BB1, 0x02A80881, 0x08F902D0, 0x08090220,
92-
0x02580871, 0x09E903C0, 0x03B80991, 0x03480961, 0x09190330,
93-
0x05280F01, 0x0F790550, 0x0F8905A0, 0x05D80FF1, 0x0E690440,
94-
0x04380E11, 0x04C80EE1, 0x0E9904B0, 0x0DA90780, 0x07F80DD1,
95-
0x07080D21, 0x0D590770, 0x06E80CC1, 0x0CB90690, 0x0C490660,
96-
0x06180C31, 0x00110015, 0x00118016, 0x08030B7C, 0x08030B88,
97-
0x00004000, 0x00208D48
64+
0x2D02EF8D
9865
};
9966

10067
#endif

0 commit comments

Comments
 (0)