X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=xboard2uci.c;h=d3d91c58bdeb8a4de272e77db9a6bc28fedf363b;hb=cb9522491af43508c47cb927247e3b5769b9259b;hp=d026096b88882ba0c4262c7707636ea942cacc6a;hpb=1087eb7b2d8447adf9a7deb549d4004a87b46b10;p=polyglot.git diff --git a/xboard2uci.c b/xboard2uci.c index d026096..d3d91c5 100644 --- a/xboard2uci.c +++ b/xboard2uci.c @@ -770,10 +770,12 @@ void format_xboard_option_line(char * option_line, option_t *opt){ strcat(option_line,option_string); if(strcmp(opt->type,"button") && strcmp(opt->type,"combo")){ if(strcmp(opt->type,"check")){ - sprintf(option_string," %s",opt->default_); + sprintf(option_string," %s",opt->value); }else{ sprintf(option_string," %d", - my_string_case_equal(opt->default_,"true")?1:0); + my_string_case_equal(opt->value,"true")|| + my_string_equal(opt->value,"1") + ?1:0); } strcat(option_line,option_string); } @@ -786,7 +788,7 @@ void format_xboard_option_line(char * option_line, option_t *opt){ strcat(option_line,option_string); } for(j=0;jvar_nb;j++){ - if(!strcmp(opt->var[j],opt->default_)){ + if(!strcmp(opt->var[j],opt->value)){ sprintf(option_string," *%s",opt->var[j]); }else{ sprintf(option_string," %s",opt->var[j]); @@ -858,12 +860,18 @@ static void send_xboard_options(){ option_start_iter(Uci->option); while((opt=option_next(Uci->option))){ if(my_string_case_equal(opt->name,"UCI_AnalyseMode")) continue; + if(my_string_case_equal(opt->name,"UCI_Opponent")) continue; + if(my_string_case_equal(opt->name,"UCI_Chess960")) continue; + if(my_string_case_equal(opt->name,"UCI_ShowCurrLine")) continue; + if(my_string_case_equal(opt->name,"UCI_ShowRefutations")) continue; + if(my_string_case_equal(opt->name,"UCI_ShredderbasesPath")) continue; + if(my_string_case_equal(opt->name,"UCI_SetPositionValue")) continue; + if(my_string_case_equal(opt->name,"UCI_DrawOffers")) continue; if(my_string_case_equal(opt->name,"Ponder")) continue; if(my_string_case_equal(opt->name,"Hash")) continue; if(my_string_case_equal(opt->name,"NalimovPath")) continue; if((name=uci_thread_option(Uci))!=NULL && my_string_case_equal(opt->name,name)) continue; - format_xboard_option_line(option_line,opt); gui_send(GUI,"%s",option_line); @@ -873,6 +881,11 @@ static void send_xboard_options(){ option_start_iter(Option); while((opt=option_next(Option))){ if(opt->mode &XBOARD){ + if(my_string_case_equal(opt->name,"Persist") && + my_string_case_equal(option_get_default(Option,opt->name), + "false")){ + continue; + } format_xboard_option_line(option_line,opt); gui_send(GUI,"%s",option_line); } @@ -1197,11 +1210,17 @@ static void search_update() { if (State->state == THINK || State->state == PONDER || State->state == ANALYSE) { + // [VdB] moved up as we need the move number + + game_get_board(Game,Uci->board); + // opening book - if (State->state == THINK && option_get_bool(Option,"Book")) { + if (State->state == THINK && + option_get_bool(Option,"Book") && + Uci->board->move_nbboard); move = book_move(Uci->board,option_get_bool(Option,"BookRandom"));