Subversion Repositories Games.Chess Giants

Rev

Rev 50 | Rev 83 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 50 Rev 59
Line 18... Line 18...
18
   // WARNING: it does also build the smilies list !
18
   // WARNING: it does also build the smilies list !
19
 
19
 
20
   void *inifile;
20
   void *inifile;
21
   smiley_t *smiley;
21
   smiley_t *smiley;
22
   char *file_buffer;
22
   char *file_buffer;
-
 
23
   wchar_t language_name[64];
23
   wchar_t smiley_pathname[MAX_PATH];
24
   wchar_t smiley_pathname[MAX_PATH];
24
   wchar_t *smiley_name;
25
   wchar_t *smiley_name;
-
 
26
   int language_index;
25
   int smiley_index;
27
   int smiley_index;
26
   int file_length;
28
   int file_length;
27
   FILE *fp;
29
   FILE *fp;
28
 
30
 
29
   // open the INI file
31
   // open the INI file
Line 46... Line 48...
46
   options.want_sepiafilter = (INIFile_ReadEntryAsBool (inifile, L"options", L"use sepia filter for past moves", true) > 0);
48
   options.want_sepiafilter = (INIFile_ReadEntryAsBool (inifile, L"options", L"use sepia filter for past moves", true) > 0);
47
   options.want_autorotateon1vs1 = (INIFile_ReadEntryAsBool (inifile, L"options", L"auto-rotate board",true) > 0);
49
   options.want_autorotateon1vs1 = (INIFile_ReadEntryAsBool (inifile, L"options", L"auto-rotate board",true) > 0);
48
   options.rotate_speed = INIFile_ReadEntryAsLong (inifile, L"options", L"rotation speed", 5);
50
   options.rotate_speed = INIFile_ReadEntryAsLong (inifile, L"options", L"rotation speed", 5);
49
 
51
 
50
   // [display]
52
   // [display]
-
 
53
   READ_WIDESTRING (language_name, inifile, L"display", L"language", L"auto"); // first, try to read the language from the config file
-
 
54
   for (language_index = 0; language_index < language_count; language_index++)
-
 
55
      if (_wcsicmp (languages[language_index].name, language_name) == 0)
-
 
56
      {
-
 
57
         language_id = language_index; // identify the claimed language's ID among the list of known languages
-
 
58
         break; // stop searching as soon as we find it
-
 
59
      }
-
 
60
   if (language_index == language_count)
-
 
61
   {
-
 
62
      GetLocaleInfo (LOCALE_USER_DEFAULT, LOCALE_SENGLANGUAGE, language_name, WCHAR_SIZEOF (language_name)); // if unspecified, query the OS locale
-
 
63
      for (language_index = 0; language_index < language_count; language_index++)
-
 
64
         if (_wcsicmp (languages[language_index].name, language_name) == 0)
-
 
65
         {
-
 
66
            language_id = language_index; // identify the claimed language's ID among the list of known languages
-
 
67
            break; // stop searching as soon as we find it
-
 
68
         }
-
 
69
   }
-
 
70
   if (language_index == language_count)
-
 
71
   {
-
 
72
      for (language_index = 0; language_index < language_count; language_index++)
-
 
73
         if (_wcsicmp (languages[language_index].name, L"English") == 0)
-
 
74
         {
-
 
75
            language_id = language_index; // if still not found, fallback to the English language
-
 
76
            break; // stop searching as soon as we find it
-
 
77
         }
-
 
78
   }
-
 
79
   if (language_index == language_count)
-
 
80
      language_id = 0; // if still not found, fallback to the first language known
51
   options.want_fullscreen = (INIFile_ReadEntryAsBool (inifile, L"display", L"fullscreen", false) > 0);
81
   options.want_fullscreen = (INIFile_ReadEntryAsBool (inifile, L"display", L"fullscreen", false) > 0);
52
   options.window_width = INIFile_ReadEntryAsLong (inifile, L"display", L"window width", 1024);
82
   options.window_width = INIFile_ReadEntryAsLong (inifile, L"display", L"window width", 1024);
53
   options.window_height = INIFile_ReadEntryAsLong (inifile, L"display", L"window height", 768);
83
   options.window_height = INIFile_ReadEntryAsLong (inifile, L"display", L"window height", 768);
54
   options.want_filtering = (INIFile_ReadEntryAsBool (inifile, L"display", L"enable texture filtering", true) > 0);
84
   options.want_filtering = (INIFile_ReadEntryAsBool (inifile, L"display", L"enable texture filtering", true) > 0);
55
   options.want_hiquality = (INIFile_ReadEntryAsBool (inifile, L"display", L"enable high quality filtering", true) > 0);
85
   options.want_hiquality = (INIFile_ReadEntryAsBool (inifile, L"display", L"enable high quality filtering", true) > 0);
Line 229... Line 259...
229
   INIFile_WriteEntryAsBool (inifile, L"options", L"use sepia filter for past moves", options.want_sepiafilter);
259
   INIFile_WriteEntryAsBool (inifile, L"options", L"use sepia filter for past moves", options.want_sepiafilter);
230
   INIFile_WriteEntryAsBool (inifile, L"options", L"auto-rotate board", options.want_autorotateon1vs1);
260
   INIFile_WriteEntryAsBool (inifile, L"options", L"auto-rotate board", options.want_autorotateon1vs1);
231
   INIFile_WriteEntryAsLong (inifile, L"options", L"rotation speed", options.rotate_speed);
261
   INIFile_WriteEntryAsLong (inifile, L"options", L"rotation speed", options.rotate_speed);
232
 
262
 
233
   // [display]
263
   // [display]
-
 
264
   WRITE_WIDESTRING (L"display", L"language", languages[language_id].name);
234
   INIFile_WriteEntryAsBool (inifile, L"display", L"fullscreen", options.want_fullscreen);
265
   INIFile_WriteEntryAsBool (inifile, L"display", L"fullscreen", options.want_fullscreen);
235
   INIFile_WriteEntryAsLong (inifile, L"display", L"window width", max (options.window_width, 640));
266
   INIFile_WriteEntryAsLong (inifile, L"display", L"window width", max (options.window_width, 640));
236
   INIFile_WriteEntryAsLong (inifile, L"display", L"window height", max (options.window_height, 480));
267
   INIFile_WriteEntryAsLong (inifile, L"display", L"window height", max (options.window_height, 480));
237
   INIFile_WriteEntryAsBool (inifile, L"display", L"enable texture filtering", options.want_filtering);
268
   INIFile_WriteEntryAsBool (inifile, L"display", L"enable texture filtering", options.want_filtering);
238
   INIFile_WriteEntryAsBool (inifile, L"display", L"enable high quality filtering", options.want_hiquality);
269
   INIFile_WriteEntryAsBool (inifile, L"display", L"enable high quality filtering", options.want_hiquality);