X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=moves.c;h=ddf3ee98317a26eb9bbba44d894780cc12837840;hb=c0b53f04e40ff60571a872aa32718792dced1b1e;hp=9aff9152fc907bc501755376a7644c74205a68ce;hpb=062fb2bd92324706eed1fba8d5f7b4015ef2b058;p=xboard.git diff --git a/moves.c b/moves.c index 9aff915..ddf3ee9 100644 --- a/moves.c +++ b/moves.c @@ -932,6 +932,17 @@ int CheckTest(board, flags, rf, ff, rt, ft, enPassant) for (cl.fking = BOARD_LEFT+0; cl.fking < BOARD_RGHT; cl.fking++) for (cl.rking = 0; cl.rking < BOARD_HEIGHT; cl.rking++) { if (board[cl.rking][cl.fking] == king) { + if(gameInfo.variant == VariantXiangqi) { + /* [HGM] In Xiangqi opposing Kings means check as well */ + int i, dir; + dir = (king >= BlackPawn) ? -1 : 1; + for( i=cl.rking+dir; i>=0 && i=0 && i0 ? BlackWazir : WhiteWazir) ) + cl.check++; + } + GenPseudoLegal(board, flags ^ F_WHITE_ON_MOVE, -1, CheckTestCallback, (VOIDSTAR) &cl); goto undo_move; /* 2-level break */