X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=moves.c;h=ef2f5048fcecfe0d39cf4d4c9ceff6087b41e733;hb=8c5702d5679cd14739806e3498f67f0fb6b5ef79;hp=30f94b583f40bb1c9e5a3faada9cb1668a0f2a9e;hpb=1c5fc3438224a019380db2fcdc6d6c25693717a6;p=xboard.git diff --git a/moves.c b/moves.c index 30f94b5..ef2f504 100644 --- a/moves.c +++ b/moves.c @@ -809,7 +809,7 @@ GenPseudoLegal (Board board, int flags, MoveCallback callback, VOIDSTAR closure, rf, ff, rf + 1, ff + s, closure); } if (rf >= BOARD_HEIGHT+1>>1) {// [HGM] grand: 4th & 5th rank on 10-board - int victimFile = (board[LAST_FILE] == 100 ? ff + s : board[LAST_FILE]); + int victimFile = (board[LAST_TO] & 0x40 ? ff + s : board[LAST_TO] & 255); if (ff + s >= BOARD_LEFT && ff + s < BOARD_RGHT && (board[EP_FILE] == ff + s || epfile == EP_UNKNOWN) && rf < BOARD_HEIGHT-3 && (board[rf][victimFile] == BlackPawn || board[rf][victimFile] == BlackLance) && @@ -860,7 +860,7 @@ GenPseudoLegal (Board board, int flags, MoveCallback callback, VOIDSTAR closure, rf, ff, rf - 1, ff + s, closure); } if (rf < BOARD_HEIGHT>>1) { - int victimFile = (board[LAST_FILE] == 100 ? ff + s : board[LAST_FILE]); + int victimFile = (board[LAST_TO] & 0x40 ? ff + s : board[LAST_TO] & 255); if (ff + s >= BOARD_LEFT && ff + s < BOARD_RGHT && (board[EP_FILE] == ff + s || epfile == EP_UNKNOWN) && rf > 2 && (board[rf][victimFile] == WhitePawn || board[rf][victimFile] == WhiteLance) &&