diff options
author | Ash Wolf <ninji@wuffs.org> | 2023-07-01 02:43:29 +0100 |
---|---|---|
committer | Ash Wolf <ninji@wuffs.org> | 2023-07-01 02:43:29 +0100 |
commit | 5c6a48b2ff362a70416a6a00fda7d06e0f276f2d (patch) | |
tree | 62cf542c68d91aa6f7a4e3bfa9eddca4ab352970 /src/T2DLL/T2GlobalData.cpp | |
parent | c0c336500955a23e344651e5412c9d9d441ef4ee (diff) | |
download | t2win-5c6a48b2ff362a70416a6a00fda7d06e0f276f2d.tar.gz t2win-5c6a48b2ff362a70416a6a00fda7d06e0f276f2d.zip |
i am in hell
Diffstat (limited to '')
-rw-r--r-- | src/T2DLL/T2GlobalData.cpp | 549 |
1 files changed, 275 insertions, 274 deletions
diff --git a/src/T2DLL/T2GlobalData.cpp b/src/T2DLL/T2GlobalData.cpp index 2f8c15a..3b0c100 100644 --- a/src/T2DLL/T2GlobalData.cpp +++ b/src/T2DLL/T2GlobalData.cpp @@ -1,3 +1,4 @@ +#define ATOI_KLUDGE #include "GlobalFunc.h" #include "T2Archive.h" #include "T2GlobalData.h" @@ -11,19 +12,19 @@ T2GlobalData::T2GlobalData() { for (int i = 0; i < 20; i++) mSerial[i] = 0; - T2Archive archive; + T2Archive file; CString filename = GetTowerDirectory() + "T2Pref.dat"; - if (archive.OpenAsReadMode(filename)) { - Read(archive); - archive.Close(); + if (file.OpenAsReadMode(filename)) { + Read(file); + file.Close(); } else { T2SerialDialog *theSerialDialog = new T2SerialDialog(NULL); if (theSerialDialog->DoModal() == 1) { theSerialDialog->GetSerial(mSerial); if (IsCheckSerial()) { - archive.OpenAsWriteMode(filename); - Write(archive); - archive.Close(); + file.OpenAsWriteMode(filename); + Write(file); + file.Close(); } } delete theSerialDialog; @@ -32,11 +33,11 @@ T2GlobalData::T2GlobalData() { /*virtual*/ T2GlobalData::~T2GlobalData() { if (mChanged) { - T2Archive archive; + T2Archive file; CString filename = GetTowerDirectory() + "T2Pref.dat"; - archive.OpenAsWriteMode(filename); - Write(archive); - archive.Close(); + file.OpenAsWriteMode(filename); + Write(file); + file.Close(); } } @@ -85,281 +86,281 @@ BOOL T2GlobalData::IsCheckSerial() { } BOOL T2GlobalData::Check_Serial(char* inSerial) { - unsigned short table[256]; - table[0] = 0; - table[1] = 0x1189; - table[2] = 0x2312; - table[3] = 0x329b; - table[4] = 0x4624; - table[5] = 0x57ad; - table[6] = 0x6536; - table[7] = 0x74bf; - table[8] = 0x8c48; - table[9] = 0x9dc1; - table[10] = 0xaf5a; - table[11] = 0xbed3; - table[12] = 0xca6c; - table[13] = 0xdbe5; - table[14] = 0xe97e; - table[15] = 0xf8f7; - table[16] = 0x1081; - table[17] = 0x0108; - table[18] = 0x3393; - table[19] = 0x221a; - table[20] = 0x56a5; - table[21] = 0x472c; - table[22] = 0x75b7; - table[23] = 0x643e; - table[24] = 0x9cc9; - table[25] = 0x8d40; - table[26] = 0xbfdb; - table[27] = 0xae52; - table[28] = 0xdaed; - table[29] = 0xcb64; - table[30] = 0xf9ff; - table[31] = 0xe876; - table[32] = 0x2102; - table[33] = 0x308b; - table[34] = 0x0210; - table[35] = 0x1399; - table[36] = 0x6726; - table[37] = 0x76af; - table[38] = 0x4434; - table[39] = 0x55bd; - table[40] = 0xad4a; - table[41] = 0xbcc3; - table[42] = 0x8e58; - table[43] = 0x9fd1; - table[44] = 0xeb6e; - table[45] = 0xfae7; - table[46] = 0xc87c; - table[47] = 0xd9f5; - table[48] = 0x3183; - table[49] = 0x200a; - table[50] = 0x1291; - table[51] = 0x0318; - table[52] = 0x77a7; - table[53] = 0x662e; - table[54] = 0x54b5; - table[55] = 0x453c; - table[56] = 0xbdcb; - table[57] = 0xac42; - table[58] = 0x9ed9; - table[59] = 0x8f50; - table[60] = 0xfbef; - table[61] = 0xea66; - table[62] = 0xd8fd; - table[63] = 0xc974; - table[64] = 0x4204; - table[65] = 0x538d; - table[66] = 0x6116; - table[67] = 0x709f; - table[68] = 0x0420; - table[69] = 0x15a9; - table[70] = 0x2732; - table[71] = 0x36bb; - table[72] = 0xce4c; - table[73] = 0xdfc5; - table[74] = 0xed5e; - table[75] = 0xfcd7; - table[76] = 0x8868; - table[77] = 0x99e1; - table[78] = 0xab7a; - table[79] = 0xbaf3; - table[80] = 0x5285; - table[81] = 0x430c; - table[82] = 0x7197; - table[83] = 0x601e; - table[84] = 0x14a1; - table[85] = 0x0528; - table[86] = 0x37b3; - table[87] = 0x263a; - table[88] = 0xdecd; - table[89] = 0xcf44; - table[90] = 0xfddf; - table[91] = 0xec56; - table[92] = 0x98e9; - table[93] = 0x8960; - table[94] = 0xbbfb; - table[95] = 0xaa72; - table[96] = 0x6306; - table[97] = 0x728f; - table[98] = 0x4014; - table[99] = 0x519d; - table[100] = 0x2522; - table[101] = 0x34ab; - table[102] = 0x0630; - table[103] = 0x17b9; - table[104] = 0xef4e; - table[105] = 0xfec7; - table[106] = 0xcc5c; - table[107] = 0xddd5; - table[108] = 0xa96a; - table[109] = 0xb8e3; - table[110] = 0x8a78; - table[111] = 0x9bf1; - table[112] = 0x7387; - table[113] = 0x620e; - table[114] = 0x5095; - table[115] = 0x411c; - table[116] = 0x35a3; - table[117] = 0x242a; - table[118] = 0x16b1; - table[119] = 0x0738; - table[120] = 0xffcf; - table[121] = 0xee46; - table[122] = 0xdcdd; - table[123] = 0xcd54; - table[124] = 0xb9eb; - table[125] = 0xa862; - table[126] = 0x9af9; - table[127] = 0x8b70; - table[128] = 0x8408; - table[129] = 0x9581; - table[130] = 0xa71a; - table[131] = 0xb693; - table[132] = 0xc22c; - table[133] = 0xd3a5; - table[134] = 0xe13e; - table[135] = 0xf0b7; - table[136] = 0x0840; - table[137] = 0x19c9; - table[138] = 0x2b52; - table[139] = 0x3adb; - table[140] = 0x4e64; - table[141] = 0x5fed; - table[142] = 0x6d76; - table[143] = 0x7cff; - table[144] = 0x9489; - table[145] = 0x8500; - table[146] = 0xb79b; - table[147] = 0xa612; - table[148] = 0xd2ad; - table[149] = 0xc324; - table[150] = 0xf1bf; - table[151] = 0xe036; - table[152] = 0x18c1; - table[153] = 0x0948; - table[154] = 0x3bd3; - table[155] = 0x2a5a; - table[156] = 0x5ee5; - table[157] = 0x4f6c; - table[158] = 0x7df7; - table[159] = 0x6c7e; - table[160] = 0xa50a; - table[161] = 0xb483; - table[162] = 0x8618; - table[163] = 0x9791; - table[164] = 0xe32e; - table[165] = 0xf2a7; - table[166] = 0xc03c; - table[167] = 0xd1b5; - table[168] = 0x2942; - table[169] = 0x38cb; - table[170] = 0x0a50; - table[171] = 0x1bd9; - table[172] = 0x6f66; - table[173] = 0x7eef; - table[174] = 0x4c74; - table[175] = 0x5dfd; - table[176] = 0xb58b; - table[177] = 0xa402; - table[178] = 0x9699; - table[179] = 0x8710; - table[180] = 0xf3af; - table[181] = 0xe226; - table[182] = 0xd0bd; - table[183] = 0xc134; - table[184] = 0x39c3; - table[185] = 0x284a; - table[186] = 0x1ad1; - table[187] = 0x0b58; - table[188] = 0x7fe7; - table[189] = 0x6e6e; - table[190] = 0x5cf5; - table[191] = 0x4d7c; - table[192] = 0xc60c; - table[193] = 0xd785; - table[194] = 0xe51e; - table[195] = 0xf497; - table[196] = 0x8028; - table[197] = 0x91a1; - table[198] = 0xa33a; - table[199] = 0xb2b3; - table[200] = 0x4a44; - table[201] = 0x5bcd; - table[202] = 0x6956; - table[203] = 0x78df; - table[204] = 0x0c60; - table[205] = 0x1de9; - table[206] = 0x2f72; - table[207] = 0x3efb; - table[208] = 0xd68d; - table[209] = 0xc704; - table[210] = 0xf59f; - table[211] = 0xe416; - table[212] = 0x90a9; - table[213] = 0x8120; - table[214] = 0xb3bb; - table[215] = 0xa232; - table[216] = 0x5ac5; - table[217] = 0x4b4c; - table[218] = 0x79d7; - table[219] = 0x685e; - table[220] = 0x1ce1; - table[221] = 0x0d68; - table[222] = 0x3ff3; - table[223] = 0x2e7a; - table[224] = 0xe70e; - table[225] = 0xf687; - table[226] = 0xc41c; - table[227] = 0xd595; - table[228] = 0xa12a; - table[229] = 0xb0a3; - table[230] = 0x8238; - table[231] = 0x93b1; - table[232] = 0x6b46; - table[233] = 0x7acf; - table[234] = 0x4854; - table[235] = 0x59dd; - table[236] = 0x2d62; - table[237] = 0x3ceb; - table[238] = 0x0e70; - table[239] = 0x1ff9; - table[240] = 0xf78f; - table[241] = 0xe606; - table[242] = 0xd49d; - table[243] = 0xc514; - table[244] = 0xb1ab; - table[245] = 0xa022; - table[246] = 0x92b9; - table[247] = 0x8330; - table[248] = 0x7bc7; - table[249] = 0x6a4e; - table[250] = 0x58d5; - table[251] = 0x495c; - table[252] = 0x3de3; - table[253] = 0x2c6a; - table[254] = 0x1ef1; - table[255] = 0x0f78; + unsigned short array[256]; + array[0] = 0; + array[1] = 0x1189; + array[2] = 0x2312; + array[3] = 0x329b; + array[4] = 0x4624; + array[5] = 0x57ad; + array[6] = 0x6536; + array[7] = 0x74bf; + array[8] = 0x8c48; + array[9] = 0x9dc1; + array[10] = 0xaf5a; + array[11] = 0xbed3; + array[12] = 0xca6c; + array[13] = 0xdbe5; + array[14] = 0xe97e; + array[15] = 0xf8f7; + array[16] = 0x1081; + array[17] = 0x0108; + array[18] = 0x3393; + array[19] = 0x221a; + array[20] = 0x56a5; + array[21] = 0x472c; + array[22] = 0x75b7; + array[23] = 0x643e; + array[24] = 0x9cc9; + array[25] = 0x8d40; + array[26] = 0xbfdb; + array[27] = 0xae52; + array[28] = 0xdaed; + array[29] = 0xcb64; + array[30] = 0xf9ff; + array[31] = 0xe876; + array[32] = 0x2102; + array[33] = 0x308b; + array[34] = 0x0210; + array[35] = 0x1399; + array[36] = 0x6726; + array[37] = 0x76af; + array[38] = 0x4434; + array[39] = 0x55bd; + array[40] = 0xad4a; + array[41] = 0xbcc3; + array[42] = 0x8e58; + array[43] = 0x9fd1; + array[44] = 0xeb6e; + array[45] = 0xfae7; + array[46] = 0xc87c; + array[47] = 0xd9f5; + array[48] = 0x3183; + array[49] = 0x200a; + array[50] = 0x1291; + array[51] = 0x0318; + array[52] = 0x77a7; + array[53] = 0x662e; + array[54] = 0x54b5; + array[55] = 0x453c; + array[56] = 0xbdcb; + array[57] = 0xac42; + array[58] = 0x9ed9; + array[59] = 0x8f50; + array[60] = 0xfbef; + array[61] = 0xea66; + array[62] = 0xd8fd; + array[63] = 0xc974; + array[64] = 0x4204; + array[65] = 0x538d; + array[66] = 0x6116; + array[67] = 0x709f; + array[68] = 0x0420; + array[69] = 0x15a9; + array[70] = 0x2732; + array[71] = 0x36bb; + array[72] = 0xce4c; + array[73] = 0xdfc5; + array[74] = 0xed5e; + array[75] = 0xfcd7; + array[76] = 0x8868; + array[77] = 0x99e1; + array[78] = 0xab7a; + array[79] = 0xbaf3; + array[80] = 0x5285; + array[81] = 0x430c; + array[82] = 0x7197; + array[83] = 0x601e; + array[84] = 0x14a1; + array[85] = 0x0528; + array[86] = 0x37b3; + array[87] = 0x263a; + array[88] = 0xdecd; + array[89] = 0xcf44; + array[90] = 0xfddf; + array[91] = 0xec56; + array[92] = 0x98e9; + array[93] = 0x8960; + array[94] = 0xbbfb; + array[95] = 0xaa72; + array[96] = 0x6306; + array[97] = 0x728f; + array[98] = 0x4014; + array[99] = 0x519d; + array[100] = 0x2522; + array[101] = 0x34ab; + array[102] = 0x0630; + array[103] = 0x17b9; + array[104] = 0xef4e; + array[105] = 0xfec7; + array[106] = 0xcc5c; + array[107] = 0xddd5; + array[108] = 0xa96a; + array[109] = 0xb8e3; + array[110] = 0x8a78; + array[111] = 0x9bf1; + array[112] = 0x7387; + array[113] = 0x620e; + array[114] = 0x5095; + array[115] = 0x411c; + array[116] = 0x35a3; + array[117] = 0x242a; + array[118] = 0x16b1; + array[119] = 0x0738; + array[120] = 0xffcf; + array[121] = 0xee46; + array[122] = 0xdcdd; + array[123] = 0xcd54; + array[124] = 0xb9eb; + array[125] = 0xa862; + array[126] = 0x9af9; + array[127] = 0x8b70; + array[128] = 0x8408; + array[129] = 0x9581; + array[130] = 0xa71a; + array[131] = 0xb693; + array[132] = 0xc22c; + array[133] = 0xd3a5; + array[134] = 0xe13e; + array[135] = 0xf0b7; + array[136] = 0x0840; + array[137] = 0x19c9; + array[138] = 0x2b52; + array[139] = 0x3adb; + array[140] = 0x4e64; + array[141] = 0x5fed; + array[142] = 0x6d76; + array[143] = 0x7cff; + array[144] = 0x9489; + array[145] = 0x8500; + array[146] = 0xb79b; + array[147] = 0xa612; + array[148] = 0xd2ad; + array[149] = 0xc324; + array[150] = 0xf1bf; + array[151] = 0xe036; + array[152] = 0x18c1; + array[153] = 0x0948; + array[154] = 0x3bd3; + array[155] = 0x2a5a; + array[156] = 0x5ee5; + array[157] = 0x4f6c; + array[158] = 0x7df7; + array[159] = 0x6c7e; + array[160] = 0xa50a; + array[161] = 0xb483; + array[162] = 0x8618; + array[163] = 0x9791; + array[164] = 0xe32e; + array[165] = 0xf2a7; + array[166] = 0xc03c; + array[167] = 0xd1b5; + array[168] = 0x2942; + array[169] = 0x38cb; + array[170] = 0x0a50; + array[171] = 0x1bd9; + array[172] = 0x6f66; + array[173] = 0x7eef; + array[174] = 0x4c74; + array[175] = 0x5dfd; + array[176] = 0xb58b; + array[177] = 0xa402; + array[178] = 0x9699; + array[179] = 0x8710; + array[180] = 0xf3af; + array[181] = 0xe226; + array[182] = 0xd0bd; + array[183] = 0xc134; + array[184] = 0x39c3; + array[185] = 0x284a; + array[186] = 0x1ad1; + array[187] = 0x0b58; + array[188] = 0x7fe7; + array[189] = 0x6e6e; + array[190] = 0x5cf5; + array[191] = 0x4d7c; + array[192] = 0xc60c; + array[193] = 0xd785; + array[194] = 0xe51e; + array[195] = 0xf497; + array[196] = 0x8028; + array[197] = 0x91a1; + array[198] = 0xa33a; + array[199] = 0xb2b3; + array[200] = 0x4a44; + array[201] = 0x5bcd; + array[202] = 0x6956; + array[203] = 0x78df; + array[204] = 0x0c60; + array[205] = 0x1de9; + array[206] = 0x2f72; + array[207] = 0x3efb; + array[208] = 0xd68d; + array[209] = 0xc704; + array[210] = 0xf59f; + array[211] = 0xe416; + array[212] = 0x90a9; + array[213] = 0x8120; + array[214] = 0xb3bb; + array[215] = 0xa232; + array[216] = 0x5ac5; + array[217] = 0x4b4c; + array[218] = 0x79d7; + array[219] = 0x685e; + array[220] = 0x1ce1; + array[221] = 0x0d68; + array[222] = 0x3ff3; + array[223] = 0x2e7a; + array[224] = 0xe70e; + array[225] = 0xf687; + array[226] = 0xc41c; + array[227] = 0xd595; + array[228] = 0xa12a; + array[229] = 0xb0a3; + array[230] = 0x8238; + array[231] = 0x93b1; + array[232] = 0x6b46; + array[233] = 0x7acf; + array[234] = 0x4854; + array[235] = 0x59dd; + array[236] = 0x2d62; + array[237] = 0x3ceb; + array[238] = 0x0e70; + array[239] = 0x1ff9; + array[240] = 0xf78f; + array[241] = 0xe606; + array[242] = 0xd49d; + array[243] = 0xc514; + array[244] = 0xb1ab; + array[245] = 0xa022; + array[246] = 0x92b9; + array[247] = 0x8330; + array[248] = 0x7bc7; + array[249] = 0x6a4e; + array[250] = 0x58d5; + array[251] = 0x495c; + array[252] = 0x3de3; + array[253] = 0x2c6a; + array[254] = 0x1ef1; + array[255] = 0x0f78; BOOL isValid = false; - char *start = inSerial; - if (strlen(inSerial) != 16) + char *serial = inSerial; + if (strlen(serial) != 16) return false; - if (memcmp(inSerial, "1320", 4) != 0) + if (memcmp(serial, "1320", 4) != 0) return false; - int i = strlen(inSerial) - 4; + int i = strlen(serial) - 4; unsigned short work = 0xFFFF; while (--i >= 0) { - work = (work >> 8) ^ table[((unsigned char) work & 0xFF) ^ *inSerial]; + work = (work >> 8) ^ array[((unsigned char) work & 0xFF) ^ *inSerial]; inSerial++; } - if (((work ^ 0xFFFF) % 10000) == atoi(&start[12])) + if (((work ^ 0xFFFF) % 10000) == atoi(&serial[12])) isValid = true; else isValid = false; |