X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=moves.c;h=a5ec9559293c79bd1fbd5301f35bffe192c6a70f;hb=6487eb595b4ee51f8eab706698333e57c5dc4ff8;hp=cc3343b872937ea005c8f7c3d6aaf5d2f3395267;hpb=7f8decab1cc394f7a798b04fc0a3de4edf043877;p=xboard.git diff --git a/moves.c b/moves.c index cc3343b..a5ec955 100644 --- a/moves.c +++ b/moves.c @@ -1179,6 +1179,12 @@ GenPseudoLegal (Board board, int flags, MoveCallback callback, VOIDSTAR closure, case WhiteFerz: case BlackFerz: + if(gameInfo.variant == VariantXiangqi && ff != BOARD_WIDTH>>1) { + int rt = (piece == BlackFerz ? BOARD_HEIGHT-2 : 1); + int ft = BOARD_WIDTH>>1; + if(!SameColor(board[rf][ff], board[rt][ft])) + callback(board, flags, NormalMove, rf, ff, rt, ft, closure); + } else /* [HGM] support Shatranj pieces */ Ferz(board, flags, rf, ff, callback, closure); break;