suppress Alien Edition standard variants
authorH.G.Muller <hgm@hgm-xboard.(none)>
Wed, 10 Sep 2014 16:54:45 +0000 (18:54 +0200)
committerH.G.Muller <hgm@hgm-xboard.(none)>
Wed, 10 Sep 2014 16:54:45 +0000 (18:54 +0200)
Variants that are standard in the Alien Edition should not be
recognized as engine-defined variants: the engines that announce
them will not respond with the required setup command, so allowing
the user to select them just leads to trouble.

backend.c

index 0ef05b0..aa81da2 100644 (file)
--- a/backend.c
+++ b/backend.c
@@ -16608,6 +16608,10 @@ EngineDefinedVariant (ChessProgramState *cps, int n)
       v = StringToVariant(s);
       if(v == VariantNormal && strcmp(s, "normal") && !strstr(s, "_normal")) v = VariantUnknown; // garbage is recognized as normal
        if(v == VariantUnknown) { // non-standard variant in list of engine-supported variants
+           if(!strcmp(s, "tenjiku") || !strcmp(s, "dai") || !strcmp(s, "dada") || // ignore Alien-Edition variants
+              !strcmp(s, "maka") || !strcmp(s, "tai") || !strcmp(s, "kyoku") ||
+              !strcmp(s, "checkers") || !strcmp(s, "go") || !strcmp(s, "reversi") ||
+              !strcmp(s, "dark") || !strcmp(s, "alien") || !strcmp(s, "multi") || !strcmp(s, "amazons") ) n++;
            if(--n < 0) safeStrCpy(buf, s, MSG_SIZ);
        }
        if(p) *p++ = ',';