Follow-up Comment #9, bug #27153 (project xboard):

The following piece of code (in UserMoveTest() in backend.c)
filters out perfectly good premoves - the ones that put a piece
on a piece of the same color. Removing those lines gives
premove handling like in xboard 4.2.7:


    /* note: this code seems to exist for filtering out some obviously
illegal premoves */

    if (    gameMode != EditPosition &&
            (WhitePawn <= pdown && pdown < BlackPawn &&
             WhitePawn <= pup && pup < BlackPawn  ||
             BlackPawn <= pdown && pdown < EmptySquare &&
             BlackPawn <= pup && pup < EmptySquare
            ) && !((gameInfo.variant == VariantFischeRandom ||
gameInfo.variant == VariantCapaRandom) &&
                    (pup == WhiteRook && pdown == WhiteKing && fromY == 0 &&
toY == 0||
                     pup == BlackRook && pdown == BlackKing && fromY ==
BOARD_HEIGHT-1 && toY == BOARD_HEIGHT-1  )
        )           )
         return ImpossibleMove;


    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?27153>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/



_______________________________________________
Bug-XBoard mailing list
Bug-XBoard@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-xboard

Reply via email to