Drops of noexistent pieces (i.e. with a piece indicator letter that is
not corresponding to any defined piece) are now parsed as
ImpossibleMove, rather than IllegalMove, so they are also rejected with
legality testing off.
} else {
currentMoveString[0] = ToLower(yytext[0]);
}
+ if(CharToPiece(currentMoveString[0]) == EmptySquare) return ImpossibleMove; // Unknown piece;
+
return LegalityTest(boards[yyboardindex], PosFlags(yyboardindex), DROP_RANK, // [HGM] does drops now too
CharToPiece(currentMoveString[0]), currentMoveString[3] - ONE, currentMoveString[2] - AAA, NULLCHAR);
}