version 1.4.50b
[polyglot.git] / option.c
index 0052fe3..e415b5b 100644 (file)
--- a/option.c
+++ b/option.c
@@ -9,6 +9,11 @@
 #include "option.h"\r
 #include "util.h"\r
 \r
+\r
+// defines\r
+\r
+#define NNB { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL }\r
+\r
 // constants\r
 \r
 static const bool UseDebug = FALSE;\r
@@ -16,44 +21,41 @@ static const int  StringSize = 4096;
 \r
 // variables\r
 \r
-#define NNB { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL }\r
 \r
 option_list_t Option[1];\r
 \r
 option_t DefaultOptions[] = {    \r
-    { "OptionFile",       "file","0","0",     "polyglot.ini", NULL,0,NNB,  PG}, \r
-\r
    // options\r
 \r
-    { "Persist",          "check","0","0",      "true"      , NULL,0,NNB,  PG|XBOARD},\r
-    { "PersistFile",      "file","0","0",     "<empty>"   , NULL,0,NNB,  PG},\r
-    { "PersistDir",       "path","0","0",     "<empty>"   , NULL,0,NNB,  PG},\r
-    \r
+    { "SettingsFile",     "file","0","0",       "polyglot.ini", NULL,0,NNB,  PG|XBOARD|XBSEL}, \r
+\r
+    { "SettingsDir",      "path","0","0",       "<empty>"   , NULL,0,NNB,  PG},\r
+\r
+    { "OnlyWbOptions",    "check","0","0",      "true"      , NULL,0,NNB,  PG|XBOARD},\r
+\r
     { "EngineName",       "string","0","0",     "<empty>"   , NULL,0,NNB,  PG}, \r
-    { "EngineDir",        "path","0","0",     "."         , NULL,0,NNB,  PG}, \r
+    { "EngineDir",        "path","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
-    { "LogFile",          "file","0","0",     "polyglot.log", NULL,0,NNB,  PG|XBOARD|UCI}, \r
+    { "Log",              "check","0","0",      "false"     , NULL,0,NNB,  PG|XBOARD|XBSEL|UCI}, \r
+    { "LogFile",          "file","0","0",       "polyglot.log", NULL,0,NNB,  PG|XBOARD|XBSEL|UCI}, \r
 \r
     { "UCI",              "check","0","0",      "false"     , NULL,0,NNB,  PG}, \r
 \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}, \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
+    { "Resign",           "check","0","0",      "false"     , NULL,0,NNB,  PG|XBOARD|XBSEL}, \r
+    { "ResignMoves",      "spin","0","10000",    "3"        , NULL,0,NNB,  PG|XBOARD|XBSEL}, \r
+    { "ResignScore",      "spin","0","10000",   "600"       , NULL,0,NNB,  PG|XBOARD|XBSEL}, \r
 \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",         "file","0","0",     "book.bin"  , NULL,0,NNB,  PG|XBOARD|UCI}, \r
+    { "Book",             "check","0","0",      "false"     , NULL,0,NNB,  PG|XBOARD|XBSEL|UCI}, \r
+    { "BookFile",         "file","0","0",       "book.bin"  , NULL,0,NNB,  PG|XBOARD|XBSEL|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
+    { "BookRandom",       "check","0","0",      "true"      , NULL,0,NNB,  PG|XBOARD|XBSEL|UCI}, \r
+    { "BookDepth",        "spin","0","256",     "256"       , NULL,0,NNB,  PG|XBOARD|XBSEL}, \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
@@ -64,7 +66,7 @@ option_t DefaultOptions[] = {
     { "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
+    { "ShowPonder",       "check","0","0",      "true"     , NULL,0,NNB,  PG|XBOARD}, \r
     { "ScoreWhite",       "check","0","0",      "false"     , NULL,0,NNB,  PG|XBOARD}, \r
 \r
    // work-arounds\r
@@ -74,15 +76,26 @@ option_t DefaultOptions[] = {
     { "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
-    { "PromoteWorkAround","check","0","0",      "false"     , NULL,0,NNB,  PG|XBOARD}, \r
+    { "PromoteWorkAround","check","0","0",      "false"     , NULL,0,NNB,  PG|XBOARD},\r
+\r
+   // internal\r
 \r
-    { "WbWorkArounds",    "check","0","0",      "true"      , NULL,0,NNB,  PG|XBOARD}, \r
-    { "WbWorkArounds2",   "check","0","0",      "false"     , NULL,0,NNB,  PG|XBOARD}, \r
+    { "Chess960",         "check","0","0",      "false"     , NULL,0,NNB,  PG}, \r
+\r
+   // These options flag various hacks in the source to work around\r
+   // WB quirks. They will eventually all be set to false. Probably\r
+   // in 4.5.0\r
+    \r
+    { "WbWorkArounds",    "check","0","0",      "true"      , NULL,0,NNB,  PG}, \r
+    { "WbWorkArounds2",   "check","0","0",      "false"     , NULL,0,NNB,  PG}, \r
+    { "WbWorkArounds3",   "check","0","0",      "true"      , NULL,0,NNB,  PG}, \r
 \r
     // Buttons\r
 \r
-//    { "Defaults",         "reset","0","0",     "false"     , NULL,0,NNB,  PG|XBOARD},\r
+    { "Save",             "save","0","0",       "false"     , NULL,0,NNB,  PG|XBOARD|XBSEL},\r
 \r
+    // Sentinel\r
+    \r
     { NULL,               NULL,"0","0",         NULL        , NULL,0,NNB,  0},\r
 \r
 };\r
@@ -106,7 +119,7 @@ void option_init_pg() {
     int i;\r
     option_t *p=DefaultOptions;\r
     char *home_dir;\r
-    char PersistDir[StringSize];\r
+    char SettingsDir[StringSize];\r
     \r
     option_init(Option);\r
     while(p){\r
@@ -125,13 +138,13 @@ void option_init_pg() {
     if(!home_dir){\r
         home_dir=".";\r
     }\r
-    snprintf(PersistDir,sizeof(PersistDir),"%s/.polyglot",home_dir);\r
-    PersistDir[sizeof(PersistDir)-1]='\0';\r
+    snprintf(SettingsDir,sizeof(SettingsDir),"%s/.polyglot",home_dir);\r
+    SettingsDir[sizeof(SettingsDir)-1]='\0';\r
 #else\r
-    sprintf(PersistDir,".\\_PG");\r
+    sprintf(SettingsDir,".\\_PG");\r
 #endif\r
-    option_set(Option,"PersistDir",PersistDir);\r
-    option_set_default(Option,"PersistDir",PersistDir);\r
+    option_set(Option,"SettingsDir",SettingsDir);\r
+    option_set_default(Option,"SettingsDir",SettingsDir);\r
 }\r
 \r
 // option_init()\r