Only set UCI_Variant to 'chess' when that is in the list
authorH.G.Muller <hgm@hgm-xboard.(none)>
Wed, 12 Jun 2019 12:13:58 +0000 (14:13 +0200)
committerH.G.Muller <hgm@hgm-xboard.(none)>
Wed, 12 Jun 2019 12:13:58 +0000 (14:13 +0200)
CECP specs have it that after 'new' the variant should revert to 'normal'
Chess, and only after the 'variant' command switch to the selected variant.
But not all engines support Chess, and when they explicitly state they
do not (by omitting it from the UCI_Variant choices), it would be pretty
silly to sent it to them. A 'variant' command must follow 'new' in that
case anyway.

UCI2WB.c

index 1cfa030..ee9e479 100644 (file)
--- a/UCI2WB.c
+++ b/UCI2WB.c
@@ -551,7 +551,7 @@ DoCommand ()
            if(memory != oldMem && hasHash) EPRINT((f, "# setoption %s%s %s%d\n", nameWord, hashOpt, valueWord, memory))\r
            oldMem = memory;\r
            // we can set other options here\r
-           if(varOpt) EPRINT((f, "# setoption name UCI_Variant value chess\n"))\r
+           if(varOpt && strstr(varList, ",normal")) EPRINT((f, "# setoption name UCI_Variant value chess\n"))\r
            EPRINT((f, "# isready\n")) fflush(toE);\r
            HandleEngineOutput(); // wait for readyok\r
            if(sc == 'x') { if(newGame) EPRINT((f, "# setoption newgame\n")) } else // optional in UCCI\r