From: Fabian Fichter Date: Thu, 29 Oct 2020 19:25:18 +0000 (+0100) Subject: Overwrite setup command for Janggi variants X-Git-Url: http://winboard.nl/cgi-bin?a=commitdiff_plain;h=7ce7b18d74539ca1e61e94b5924ff76d783b2203;p=fairystockfish.git Overwrite setup command for Janggi variants Improve compatibility with most recent XBoard version supporting Janggi as a built-in variant (see #192). --- diff --git a/src/ucioption.cpp b/src/ucioption.cpp index 53da357..010c9c4 100644 --- a/src/ucioption.cpp +++ b/src/ucioption.cpp @@ -72,6 +72,18 @@ void on_variant_change(const Option &o) { int pocketsize = v->pieceDrops ? (v->pocketSize ? v->pocketSize : v->pieceTypes.size()) : 0; if (Options["Protocol"] == "xboard") { + // Overwrite setup command for Janggi variants + auto itJanggi = variants.find("janggi"); + if ( itJanggi != variants.end() + && v->variantTemplate == itJanggi->second->variantTemplate + && v->startFen == itJanggi->second->startFen + && v->pieceToCharTable == itJanggi->second->pieceToCharTable) + { + sync_cout << "setup (PH.R.AE..K.C.ph.r.ae..k.c.) 9x10+0_janggi " + << "rhea1aehr/4k4/1c5c1/p1p1p1p1p/9/9/P1P1P1P1P/1C5C1/4K4/RHEA1AEHR w - - 0 1" + << sync_endl; + return; + } // Send setup command sync_cout << "setup (" << v->pieceToCharTable << ") " << v->maxFile + 1 << "x" << v->maxRank + 1 diff --git a/src/variant.cpp b/src/variant.cpp index b9aa5d6..bd444cf 100644 --- a/src/variant.cpp +++ b/src/variant.cpp @@ -909,6 +909,7 @@ namespace { // Official tournament rules with bikjang and material counting. Variant* janggi_variant() { Variant* v = xiangqi_variant(); + v->variantTemplate = "janggi"; v->pieceToCharTable = ".N.R.AB.P..C.........K.n.r.ab.p..c.........k"; v->remove_piece(FERS); v->remove_piece(CANNON);