Subversion Repositories Games.Chess Giants

Rev

Rev 193 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 193 Rev 194
Line 141... Line 141...
141
   READ_WIDESTRING (options.part_letters.knight, inifile, L"abbreviations", L"knight", L"N"); options.part_letters.knight[0] = towupper (options.part_letters.knight[0]); options.part_letters.knight[1] = 0; // sanitize
141
   READ_WIDESTRING (options.part_letters.knight, inifile, L"abbreviations", L"knight", L"N"); options.part_letters.knight[0] = towupper (options.part_letters.knight[0]); options.part_letters.knight[1] = 0; // sanitize
142
   READ_WIDESTRING (options.part_letters.bishop, inifile, L"abbreviations", L"bishop", L"B"); options.part_letters.bishop[0] = towupper (options.part_letters.bishop[0]); options.part_letters.bishop[1] = 0; // sanitize
142
   READ_WIDESTRING (options.part_letters.bishop, inifile, L"abbreviations", L"bishop", L"B"); options.part_letters.bishop[0] = towupper (options.part_letters.bishop[0]); options.part_letters.bishop[1] = 0; // sanitize
143
   READ_WIDESTRING (options.part_letters.queen,  inifile, L"abbreviations", L"queen",  L"Q"); options.part_letters.queen[0]  = towupper (options.part_letters.queen[0]);  options.part_letters.rook[1]   = 0; // sanitize
143
   READ_WIDESTRING (options.part_letters.queen,  inifile, L"abbreviations", L"queen",  L"Q"); options.part_letters.queen[0]  = towupper (options.part_letters.queen[0]);  options.part_letters.rook[1]   = 0; // sanitize
144
   READ_WIDESTRING (options.part_letters.king,   inifile, L"abbreviations", L"king",   L"K"); options.part_letters.king[0]   = towupper (options.part_letters.king[0]);   options.part_letters.king[1]   = 0; // sanitize
144
   READ_WIDESTRING (options.part_letters.king,   inifile, L"abbreviations", L"king",   L"K"); options.part_letters.king[0]   = towupper (options.part_letters.king[0]);   options.part_letters.king[1]   = 0; // sanitize
145
 
145
 
-
 
146
#ifndef NO_REGISTRATION
146
   // [registration]
147
   // [registration]
147
   READ_WIDESTRING (options.registration.user_email, inifile, L"registration", L"user email", L"");
148
   READ_WIDESTRING (options.registration.user_email, inifile, L"registration", L"user email", L"");
148
   options.registration.activation_code = (unsigned __int32) INIFile_ReadEntryAsLong (inifile, L"registration", L"activation code", 0);
149
   options.registration.activation_code = (unsigned __int32) INIFile_ReadEntryAsLong (inifile, L"registration", L"activation code", 0);
-
 
150
#endif // !NO_REGISTRATION
149
 
151
 
150
   // [smilies]
152
   // [smilies]
151
   if (inifile == NULL)
153
   if (inifile == NULL)
152
   {
154
   {
153
      // if the .ini file doesn't exist yet, re-create one with the default smilies set
155
      // if the .ini file doesn't exist yet, re-create one with the default smilies set
Line 371... Line 373...
371
   wchar_t smiley_name[32];
373
   wchar_t smiley_name[32];
372
   smiley_t *smiley;
374
   smiley_t *smiley;
373
   void *inifile;
375
   void *inifile;
374
   int smiley_index;
376
   int smiley_index;
375
   int smiley_index2;
377
   int smiley_index2;
-
 
378
#ifndef NO_REGISTRATION
376
   HKEY hRegistryKey;
379
   HKEY hRegistryKey;
-
 
380
#endif // !NO_REGISTRATION
377
 
381
 
378
   // create a config file with the default values
382
   // create a config file with the default values
379
   inifile = INIFile_NewINIFile ();
383
   inifile = INIFile_NewINIFile ();
380
 
384
 
381
   // [options] -- FIXME: should be [gameplay] but would cause backwards compatibility problems
385
   // [options] -- FIXME: should be [gameplay] but would cause backwards compatibility problems
Line 439... Line 443...
439
   WRITE_WIDESTRING (L"abbreviations", L"knight", options.part_letters.knight);
443
   WRITE_WIDESTRING (L"abbreviations", L"knight", options.part_letters.knight);
440
   WRITE_WIDESTRING (L"abbreviations", L"bishop", options.part_letters.bishop);
444
   WRITE_WIDESTRING (L"abbreviations", L"bishop", options.part_letters.bishop);
441
   WRITE_WIDESTRING (L"abbreviations", L"queen",  options.part_letters.queen);
445
   WRITE_WIDESTRING (L"abbreviations", L"queen",  options.part_letters.queen);
442
   WRITE_WIDESTRING (L"abbreviations", L"king",   options.part_letters.king);
446
   WRITE_WIDESTRING (L"abbreviations", L"king",   options.part_letters.king);
443
 
447
 
-
 
448
#ifndef NO_REGISTRATION
444
   // [registration]
449
   // [registration]
445
   WRITE_WIDESTRING (L"registration", L"user email", options.registration.user_email);
450
   WRITE_WIDESTRING (L"registration", L"user email", options.registration.user_email);
446
   INIFile_WriteEntryAsLong (inifile, L"registration", L"activation code", (long) options.registration.activation_code);
451
   INIFile_WriteEntryAsLong (inifile, L"registration", L"activation code", (long) options.registration.activation_code);
-
 
452
#endif // !NO_REGISTRATION
447
 
453
 
448
   // [smilies]
454
   // [smilies]
449
   for (smiley_index = 0; smiley_index < smiley_count; smiley_index++)
455
   for (smiley_index = 0; smiley_index < smiley_count; smiley_index++)
450
   {
456
   {
451
      smiley = &smilies[smiley_index]; // quick access to smiley
457
      smiley = &smilies[smiley_index]; // quick access to smiley
Line 468... Line 474...
468
 
474
 
469
   // now save the INI file
475
   // now save the INI file
470
   swprintf_s (filename, WCHAR_SIZEOF (filename), L"%s/config.ini", app_path);
476
   swprintf_s (filename, WCHAR_SIZEOF (filename), L"%s/config.ini", app_path);
471
   INIFile_SaveINIFile (filename, inifile);
477
   INIFile_SaveINIFile (filename, inifile);
472
 
478
 
-
 
479
#ifndef NO_REGISTRATION
473
   // SAFETY: if the current registration data is good, back it up in the registry if we can
480
   // SAFETY: if the current registration data is good, back it up in the registry if we can
474
   if (IsRegistrationCorrect (options.registration.user_email, options.registration.activation_code)
481
   if (IsRegistrationCorrect (options.registration.user_email, options.registration.activation_code)
475
      && (RegOpenKeyEx (HKEY_CURRENT_USER, L"SOFTWARE\\Chess Giants", 0, KEY_SET_VALUE, &hRegistryKey) == 0))
482
      && (RegOpenKeyEx (HKEY_CURRENT_USER, L"SOFTWARE\\Chess Giants", 0, KEY_SET_VALUE, &hRegistryKey) == 0))
476
   {
483
   {
477
      RegSetValueEx (hRegistryKey, L"UserEmail", 0, REG_SZ, (BYTE *) options.registration.user_email, wcslen (options.registration.user_email) * sizeof (wchar_t));
484
      RegSetValueEx (hRegistryKey, L"UserEmail", 0, REG_SZ, (BYTE *) options.registration.user_email, wcslen (options.registration.user_email) * sizeof (wchar_t));
478
      RegSetValueEx (hRegistryKey, L"ActivationCode", 0, REG_DWORD, (BYTE *) &options.registration.activation_code, sizeof (options.registration.activation_code));
485
      RegSetValueEx (hRegistryKey, L"ActivationCode", 0, REG_DWORD, (BYTE *) &options.registration.activation_code, sizeof (options.registration.activation_code));
479
      RegCloseKey (hRegistryKey); // once we've written the data we were interested in, close the registry key
486
      RegCloseKey (hRegistryKey); // once we've written the data we were interested in, close the registry key
480
   }
487
   }
-
 
488
#endif // !NO_REGISTRATION
481
 
489
 
482
   return; // finished
490
   return; // finished
483
}
491
}