summaryrefslogtreecommitdiff
path: root/src/T2DLL/T2GlobalData.cpp
diff options
context:
space:
mode:
authorAsh Wolf <ninji@wuffs.org>2023-07-01 02:43:29 +0100
committerAsh Wolf <ninji@wuffs.org>2023-07-01 02:43:29 +0100
commit5c6a48b2ff362a70416a6a00fda7d06e0f276f2d (patch)
tree62cf542c68d91aa6f7a4e3bfa9eddca4ab352970 /src/T2DLL/T2GlobalData.cpp
parentc0c336500955a23e344651e5412c9d9d441ef4ee (diff)
downloadt2win-5c6a48b2ff362a70416a6a00fda7d06e0f276f2d.tar.gz
t2win-5c6a48b2ff362a70416a6a00fda7d06e0f276f2d.zip
i am in hell
Diffstat (limited to '')
-rw-r--r--src/T2DLL/T2GlobalData.cpp549
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;