\r
// options\r
\r
+ { "Persist", "check","0","0", "true" , NULL,0,NNB, PG|XBOARD},\r
+\r
+ { "PersistFile", "string","0","0", "<empty>" , NULL,0,NNB, PG},\r
+ \r
{ "EngineName", "string","0","0", "<empty>" , NULL,0,NNB, PG}, \r
{ "EngineDir", "string","0","0", "." , NULL,0,NNB, PG}, \r
{ "EngineCommand", "string","0","0", "<empty>" , NULL,0,NNB, PG}, \r
\r
- { "Log", "check","0","0", "false" , NULL,0,NNB, PG|XBOARD|UCI}, \r
+ { "Log", "check","0","0", "false" , NULL,0,NNB, PG|XBOARD|UCI}, \r
{ "LogFile", "string","0","0", "polyglot.log", NULL,0,NNB, PG|XBOARD|UCI}, \r
\r
{ "UCI", "check","0","0", "false" , NULL,0,NNB, PG}, \r
{ "UseNice", "check","0","0", "false" , NULL,0,NNB, PG|XBOARD|UCI}, \r
{ "NiceValue", "spin", "0","20", "5" , NULL,0,NNB, PG|XBOARD|UCI}, \r
\r
- { "Chess960", "check","0","0", "false" , NULL,0,NNB, PG|XBOARD}, \r
+ { "Chess960", "check","0","0", "false" , NULL,0,NNB, PG}, \r
\r
{ "Resign", "check","0","0", "false" , NULL,0,NNB, PG|XBOARD}, \r
{ "ResignMoves", "spin","0","10000", "3" , NULL,0,NNB, PG|XBOARD}, \r
{ "ResignScore", "spin","0","10000", "600" , NULL,0,NNB, PG|XBOARD}, \r
\r
- { "MateScore", "spin","0","1000000", "10000" , NULL,0,NNB, PG|XBOARD}, \r
+ { "MateScore", "spin","0","100000", "10000" , NULL,0,NNB, PG|XBOARD}, \r
\r
{ "Book", "check","0","0", "false" , NULL,0,NNB, PG|XBOARD|UCI}, \r
{ "BookFile", "string","0","0", "book.bin" , NULL,0,NNB, PG|XBOARD|UCI}, \r
\r
{ "BookRandom", "check","0","0", "true" , NULL,0,NNB, PG|XBOARD|UCI}, \r
+ { "BookDepth", "spin","0","256", "256" , NULL,0,NNB, PG|XBOARD}, \r
+ { "BookTreshold", "spin","0","1000", "5" , NULL,0,NNB, PG|XBOARD|UCI}, \r
{ "BookLearn", "check","0","0", "false" , NULL,0,NNB, PG|XBOARD}, \r
\r
{ "KibitzMove", "check","0","0", "false" , NULL,0,NNB, PG|XBOARD}, \r
{ "KibitzPV", "check","0","0", "false" , NULL,0,NNB, PG|XBOARD}, \r
\r
{ "KibitzCommand", "string","0","0", "tellall" , NULL,0,NNB, PG|XBOARD}, \r
- { "KibitzDelay", "spin","0","10000", "5" , NULL,0,NNB, PG|XBOARD}, \r
- { "KibitzInterval", "spin","0","10000", "0" , NULL,0,NNB, PG|XBOARD}, \r
+ { "KibitzDelay", "spin","0","1000", "5" , NULL,0,NNB, PG|XBOARD}, \r
+ { "KibitzInterval", "spin","0","1000", "0" , NULL,0,NNB, PG|XBOARD}, \r
\r
{ "ShowPonder", "check","0","0", "false" , NULL,0,NNB, PG|XBOARD}, \r
{ "ScoreWhite", "check","0","0", "false" , NULL,0,NNB, PG|XBOARD}, \r
{ "UCIVersion", "spin","1","2", "2" , NULL,0,NNB, PG|XBOARD}, \r
{ "CanPonder", "check","1","2", "false" , NULL,0,NNB, PG|XBOARD}, \r
{ "SyncStop", "check","1","2", "false" , NULL,0,NNB, PG|XBOARD}, \r
- { "Affinity", "spin","-1","32", "-1" , NULL,0,NNB, PG}, \r
- { "RepeatPV", "check","0","0", "true" , NULL,0,NNB, PG|XBOARD},\r
+ { "Affinity", "spin","-1","32", "-1" , NULL,0,NNB, PG}, \r
+ { "RepeatPV", "check","0","0", "true" , NULL,0,NNB, PG|XBOARD},\r
{ "PromoteWorkAround","check","0","0", "false" , NULL,0,NNB, PG|XBOARD}, \r
\r
- { "WbWorkArounds", "check","0","0", "true" , NULL,0,NNB, PG|XBOARD}, \r
+ { "WbWorkArounds", "check","0","0", "true" , NULL,0,NNB, PG|XBOARD}, \r
+ { "WbWorkArounds2", "check","0","0", "false" , NULL,0,NNB, PG|XBOARD}, \r
+\r
+ // Buttons\r
+\r
+// { "Defaults", "reset","0","0", "false" , NULL,0,NNB, PG|XBOARD},\r
+\r
{ NULL, NULL,"0","0", NULL , NULL,0,NNB, 0},\r
\r
};\r
// option_insert()\r
\r
void option_insert(option_list_t *option, option_t *new_option){\r
+ int i;\r
+ option_t *opt;\r
ASSERT(option!=NULL);\r
ASSERT(new_option!=NULL);\r
ASSERT(new_option->name!=NULL);\r
- option_t *opt;\r
opt=option_find(option,new_option->name);\r
if(!opt){\r
opt=&option->options[option->option_nb];\r
option->option_nb++;\r
}\r
- int i;\r
if(option->option_nb>=OptionNb){\r
my_fatal("option_insert(): option list overflow\n");\r
}\r
opt = option_find(option,name);\r
if (opt == NULL) return FALSE;\r
\r
+ if(my_string_case_equal(opt->type,"check")){\r
+ value=(my_string_equal(value,"1")||\r
+ my_string_case_equal(value,"true"))?"true":"false";\r
+ }\r
+\r
my_string_set(&opt->value,value);\r
\r
if (UseDebug) my_log("POLYGLOT OPTION SET \"%s\" -> \"%s\"\n",opt->name,opt->value);\r
opt = option_find(option,name);\r
if (opt == NULL) return FALSE;\r
\r
- opt->default_=my_strdup(value);\r
+ if(my_string_case_equal(opt->type,"check")){\r
+ value=(my_string_equal(value,"1")||\r
+ my_string_case_equal(value,"true"))?"true":"false";\r
+ }\r
+\r
+ my_string_set(&opt->default_,value);\r
\r
if (UseDebug) my_log("POLYGLOT OPTION DEFAULT SET \"%s\" -> \"%s\"\n",opt->name,opt->default_);\r
\r
return NULL;\r
}\r
\r
+// option_start_iter()\r
+\r
void option_start_iter(option_list_t *option){\r
option->iter=0;\r
}\r
\r
+// option_next()\r
+\r
option_t * option_next(option_list_t *option){\r
ASSERT(option->iter<=option->option_nb);\r
if(option->iter==option->option_nb){\r
option->mode=0;\r
}\r
\r
+// option_clear()\r
+\r
void option_clear(option_list_t *option){\r
int i;\r
for (i = 0; i < option->option_nb; i++) {\r
option->option_nb=0;\r
}\r
\r
+// option_from_ini()\r
+\r
+void option_from_ini(option_list_t *option,\r
+ ini_t *ini,\r
+ const char *section){\r
+ ini_entry_t *entry;\r
+ ini_start_iter(ini);\r
+ while((entry=ini_next(ini))){\r
+ option_set(option,entry->name,entry->value);\r
+ option_set_default(option,entry->name,entry->value);\r
+ }\r
+}\r
+\r
// end of option.cpp\r
\r