static void init() { if (!Init) { // late initialisation Init = true; if (option_get_bool("OwnBook")) { book_open(option_get_string("BookFile")); } //SearchInput->multipv = option_get_int("MultiPV"); trans_alloc(Trans); pawn_init(); pawn_alloc(); material_init(); material_alloc(); pst_init(); eval_init(); } }
static void init() { if (!Init) { // late initialisation Init = true; if (option_get_bool("OwnBook")) { book_open(option_get_string("BookFile")); } trans_alloc(); pawn_init(); material_init(); pst_init(); eval_init(); tb_cache(option_get_int("NalimovCache")); } }
static void parse_setoption(char string[]) { const char * name; char * value; // init name = strstr(string,"name "); value = strstr(string,"value "); if (name == NULL || value == NULL || name >= value) return; // ignore buttons value[-1] = '\0'; // HACK name += 5; value += 6; // update option_set(name,value); // update transposition-table size if needed if (Init && my_string_equal(name,"Hash")) { // Init => already allocated ASSERT(!Searching); if (option_get_int("Hash") >= 4) { trans_free(); trans_alloc(); } } // update endgame tablebases if needed if (my_string_equal(name,"NalimovPath")) { ASSERT(!Searching); tb_path(option_get_string("NalimovPath")); } if (my_string_equal(name,"NalimovCache")) { ASSERT(!Searching); tb_cache(option_get_int("NalimovCache")); } if (my_string_equal(name,"EgbbPath")) { ASSERT(!Searching); egbb_path(option_get_string("EgbbPath")); } if (my_string_equal(name,"EgbbCache")) { ASSERT(!Searching); egbb_cache(option_get_int("EgbbCache")); } // update pawn structure if needed if (my_string_equal(name,"Pawn Structure")) { ASSERT(!Searching); pawn_structure_set_option(option_get_int("Pawn Structure")); pst_init(); } // update piece activity if needed if (my_string_equal(name,"Piece Activity")) { ASSERT(!Searching); trans_clear(); pst_init(); } // update king safty if needed if (my_string_equal(name,"King Safety")) { ASSERT(!Searching); trans_clear(); pst_init(); } // update pawn activity if needed if (my_string_equal(name,"Pawn Activity")) { ASSERT(!Searching); trans_clear(); pst_init(); } // update material if needed if (my_string_equal(name,"Material")) { ASSERT(!Searching); material_set_option(option_get_int("Material")); } // update piece value if needed if (my_string_equal(name,"Pawn")) { ASSERT(!Searching); piece_set_option(option_get_int("Pawn"),MAT_PAWN); } if (my_string_equal(name,"Knight")) { ASSERT(!Searching); piece_set_option(option_get_int("Knight"),MAT_KNIGHT); } if (my_string_equal(name,"Bishop")) { ASSERT(!Searching); piece_set_option(option_get_int("Bishop"),MAT_BISHOP); } if (my_string_equal(name,"Rook")) { ASSERT(!Searching); piece_set_option(option_get_int("Rook"),MAT_ROOK); } if (my_string_equal(name,"Queen")) { ASSERT(!Searching); piece_set_option(option_get_int("Queen"),MAT_QUEEN); } if (my_string_equal(name,"Bishop Pair")) { ASSERT(!Searching); piece_set_option(option_get_int("Bishop Pair"),MAT_BISHOP_PAIR); } }