From: H.G.Muller Date: Wed, 4 Jan 2017 19:40:08 +0000 (+0100) Subject: Fix ICS Crazyhouse play X-Git-Url: http://winboard.nl/cgi-bin?p=xboard.git;a=commitdiff_plain;h=494c14427dd2854d928019558e1cf8f87ba30ca7 Fix ICS Crazyhouse play The new way to associate promoted partners to pieces had woken up a latent bug in the code that determined whether pieces in the ICS board are promoted Pawns. This led to Pawns appearing out of nowhere on squares evacuated by white Pawns. --- diff --git a/backend.c b/backend.c index b7f36b2..7cc8f9c 100644 --- a/backend.c +++ b/backend.c @@ -4907,7 +4907,7 @@ ParseBoard12 (char *string) && gameInfo.variant != VariantGrand&& gameInfo.variant != VariantSChess) // inherit info that ICS does not give from previous board for(k=0; k= BlackPawn && old < BlackCannon) boards[moveNum][k][j] = PROMOTED(old); // choose correct type of Gold in promotion else boards[moveNum][k][j] = old; // preserve type of Gold - } else if((old == WhitePawn || old == BlackPawn) && new != EmptySquare) // Pawn promotions (but not e.p.capture!) + } else if(old == WhitePawn || old == BlackPawn) // Pawn promotions (but not e.p.capture!) boards[moveNum][k][j] = PROMOTED(new); // use non-primordial representation of chosen piece } } else {