Improve compatibility with shogi and xiangqi GUIs
by setting suitable defaults for UCI_Variant:
UCI: chess
USI: shogi
UCCI: xiangqi
xboard: chess
else if (token == "uci" || token == "usi" || token == "ucci" || token == "xboard")
{
- Options["Protocol"] = token;
- if (token == "ucci")
- Options["UCI_Variant"] = string("xiangqi");
+ Options["Protocol"].set_default(token);
+ string defaultVariant = string( token == "usi" ? "shogi"
+ : token == "ucci" ? "xiangqi"
+ : "chess");
+ Options["UCI_Variant"].set_default(defaultVariant);
if (token != "xboard")
sync_cout << "id name " << engine_info(true)
<< "\n" << Options
bool operator==(const char*) const;
bool operator!=(const char*) const;
void set_combo(std::vector<std::string> newComboValues);
+ void set_default(std::string newDefault);
private:
friend std::ostream& operator<<(std::ostream&, const OptionsMap&);
comboValues = newComboValues;
}
+void Option::set_default(std::string newDefault) {
+ defaultValue = currentValue = newDefault;
+}
+
} // namespace UCI