version 1.4.34b
[polyglot.git] / main.c
diff --git a/main.c b/main.c
index 3dc5c20..e2f4c64 100644 (file)
--- a/main.c
+++ b/main.c
@@ -35,7 +35,7 @@
 // constants\r
 \r
 \r
-static const char * const Version = "1.4.33b";\r
+static const char * const Version = "1.4.34b";\r
 static const char * const HelpMessage = "\\r
 SYNTAX\n\\r
 * polyglot [configfile]\n\\r
@@ -85,7 +85,7 @@ int main(int argc, char * argv[]) {
     Init = FALSE;\r
 \r
     util_init();\r
-    option_init();\r
+    option_init_pg();\r
     \r
     square_init();\r
     piece_init();\r
@@ -128,24 +128,26 @@ int main(int argc, char * argv[]) {
     }\r
     \r
     if (argc >= 3 && my_string_equal(argv[1],"-ec")) {\r
-        option_set("EngineCommand",argv[2]);\r
+        option_set(Option,"EngineCommand",argv[2]);\r
         engine_open(Engine);\r
         if(!engine_active(Engine)){\r
-            my_fatal("Could not start \"%s\"\n",option_get("EngineCommand"));\r
+            my_fatal("Could not start \"%s\"\n",\r
+                     option_get(Option,"EngineCommand"));\r
         }\r
         Init=TRUE;\r
         gui_init(GUI);\r
         uci_open(Uci,Engine);\r
-        if (my_string_equal(option_get_string("EngineName"),"<empty>")) {\r
-            option_set("EngineName",Uci->name);\r
+        if (my_string_equal(option_get_string(Option,"EngineName"),"<empty>")) {\r
+            option_set(Option,"EngineName",Uci->name);\r
         }\r
         mainloop();\r
         return EXIT_SUCCESS; \r
     }\r
     \r
         // read options\r
+\r
     \r
-    if (argc == 2) option_set("OptionFile",argv[1]); // HACK for compatibility\r
+    if (argc == 2) option_set(Option,"OptionFile",argv[1]); // HACK for compatibility\r
 \r
     parse_option(); // HACK: also launches the engine\r
     \r
@@ -171,31 +173,31 @@ int main(int argc, char * argv[]) {
 // polyglot_set_option\r
 \r
 void polyglot_set_option(char *name, char *value){ // this must be cleaned up!\r
-    option_set(name,value);\r
-    if(option_get_bool("Book")&&(my_string_case_equal(name,"BookFile")||my_string_case_equal(name,"Book"))){\r
+    option_set(Option,name,value);\r
+    if(option_get_bool(Option,"Book")&&(my_string_case_equal(name,"BookFile")||my_string_case_equal(name,"Book"))){\r
         my_log("POLYGLOT *** SETTING BOOK ***\n");\r
-        my_log("POLYGLOT BOOK \"%s\"\n",option_get_string("BookFile"));\r
+        my_log("POLYGLOT BOOK \"%s\"\n",option_get_string(Option,"BookFile"));\r
         book_close();\r
         book_clear();\r
-        book_open(option_get_string("BookFile"));\r
+        book_open(option_get_string(Option,"BookFile"));\r
         if(!book_is_open()){\r
-            my_log("POLYGLOT Unable to open book \"%s\"\n",option_get_string("BookFile"));\r
+            my_log("POLYGLOT Unable to open book \"%s\"\n",option_get_string(Option,"BookFile"));\r
         }\r
-    }else if(option_get_bool("Log")&&(my_string_case_equal(name,"LogFile") ||my_string_case_equal(name,"Log"))){\r
+    }else if(option_get_bool(Option,"Log")&&(my_string_case_equal(name,"LogFile") ||my_string_case_equal(name,"Log"))){\r
         my_log("POLYGLOT *** SETTING LOGFILE ***\n");\r
-        my_log("POLYGLOT LOGFILE \"%s\"\n",option_get_string("LogFile"));\r
+        my_log("POLYGLOT LOGFILE \"%s\"\n",option_get_string(Option,"LogFile"));\r
         my_log_close();\r
-        my_log_open(option_get_string("LogFile"));\r
-    }else if(option_get_bool("UseNice") &&(my_string_case_equal(name,"NiceValue")||my_string_case_equal(name,"UseNice"))){\r
+        my_log_open(option_get_string(Option,"LogFile"));\r
+    }else if(option_get_bool(Option,"UseNice") &&(my_string_case_equal(name,"NiceValue")||my_string_case_equal(name,"UseNice"))){\r
         my_log("POLYGLOT Adjust Engine Piority\n");\r
-        engine_set_nice_value(Engine,atoi(option_get_string("NiceValue")));\r
-    }else if(my_string_case_equal(name,"Book") && !option_get_bool("Book")){\r
+        engine_set_nice_value(Engine,atoi(option_get_string(Option,"NiceValue")));\r
+    }else if(my_string_case_equal(name,"Book") && !option_get_bool(Option,"Book")){\r
         book_close();\r
         book_clear();\r
-    }else if(my_string_case_equal(name,"UseNice") && !option_get_bool("UseNice")){\r
+    }else if(my_string_case_equal(name,"UseNice") && !option_get_bool(Option,"UseNice")){\r
         my_log("POLYGLOT Adjust Engine Piority\n");\r
         engine_set_nice_value(Engine,0);\r
-    }else if(my_string_case_equal(name,"Log") && !option_get_bool("Log")){\r
+    }else if(my_string_case_equal(name,"Log") && !option_get_bool(Option,"Log")){\r
         my_log("POLYGLOT QUIT LOGGING\n");\r
         my_log_close();\r
     }\r
@@ -206,13 +208,13 @@ void polyglot_set_option(char *name, char *value){ // this must be cleaned up!
 \r
 static void init_book(){\r
     book_clear();\r
-    if (option_get_bool("Book")){\r
+    if (option_get_bool(Option,"Book")){\r
         my_log("POLYGLOT *** SETTING BOOK ***\n");\r
-        my_log("POLYGLOT BOOK \"%s\"\n",option_get_string("BookFile"));\r
-        book_open(option_get_string("BookFile"));\r
+        my_log("POLYGLOT BOOK \"%s\"\n",option_get_string(Option,"BookFile"));\r
+        book_open(option_get_string(Option,"BookFile"));\r
         if(!book_is_open()){\r
             my_log("POLYGLOT Unable to open book \"%s\"\n",\r
-                   option_get_string("BookFile"));\r
+                   option_get_string(Option,"BookFile"));\r
         }\r
     }\r
 }\r
@@ -225,7 +227,7 @@ static void parse_option() {
     FILE * file;\r
     char line[256];\r
     char * name, * value;\r
-    file_name = option_get_string("OptionFile");\r
+    file_name = option_get_string(Option,"OptionFile");\r
     \r
     file = fopen(file_name,"r");\r
     if (file == NULL) {\r
@@ -243,13 +245,13 @@ static void parse_option() {
        if (my_string_case_equal(line,"[engine]")) break;\r
        \r
        if (parse_line(line,&name,&value)) {\r
-           option_set(name,value);\r
-           option_set_default(name,value);\r
+           option_set(Option,name,value);\r
+           option_set_default(Option,name,value);\r
        }\r
    }\r
    \r
-   if (option_get_bool("Log")) {\r
-       my_log_open(option_get_string("LogFile"));\r
+   if (option_get_bool(Option,"Log")) {\r
+       my_log_open(option_get_string(Option,"LogFile"));\r
    }\r
    \r
    if(!DEBUG){\r
@@ -262,10 +264,10 @@ static void parse_option() {
    my_log("POLYGLOT INI file \"%s\"\n",file_name);\r
    engine_open(Engine);\r
    if(!engine_active(Engine)){\r
-       my_fatal("Could not start \"%s\"\n",option_get("EngineCommand"));\r
+       my_fatal("Could not start \"%s\"\n",option_get(Option,"EngineCommand"));\r
    }\r
 \r
-   if (option_get_bool("UCI")) {\r
+   if (option_get_bool(Option,"UCI")) {\r
        my_log("POLYGLOT *** Switching to UCI mode ***\n");\r
    }\r
    uci_open(Uci,Engine);\r
@@ -280,8 +282,8 @@ static void parse_option() {
            if(my_string_case_equal(name,"MultiPV") && atoi(value)>1)  Uci->multipv_mode=TRUE;\r
        }\r
    }\r
-   if (my_string_equal(option_get_string("EngineName"),"<empty>")) {\r
-       option_set("EngineName",Uci->name);\r
+   if (my_string_equal(option_get_string(Option,"EngineName"),"<empty>")) {\r
+       option_set(Option,"EngineName",Uci->name);\r
    }\r
    \r
    fclose(file);\r
@@ -371,7 +373,7 @@ static void stop_search() {
         \r
         my_log("POLYGLOT STOP SEARCH\n");\r
         \r
-        if (option_get_bool("SyncStop")) {\r
+        if (option_get_bool(Option,"SyncStop")) {\r
             uci_send_stop_sync(Uci);\r
         } else {\r
             uci_send_stop(Uci);\r