Implement castling in -variant caparandom
authorH.G. Muller <h.g.muller@hccnet.nl>
Wed, 6 Jan 2010 23:17:25 +0000 (00:17 +0100)
committerArun Persaud <arun@nubati.net>
Sat, 9 Jan 2010 20:01:12 +0000 (12:01 -0800)
CRC should be treated as FRC, but until now it never was. We now test for FRC_TYPE_CASTLING.

moves.c
parser.l

diff --git a/moves.c b/moves.c
index 12f9b63..663660c 100644 (file)
--- a/moves.c
+++ b/moves.c
@@ -855,7 +855,7 @@ int GenLegal(board, flags, callback, closure)
        }
     }
 
-  if(gameInfo.variant == VariantFischeRandom) {
+  if(flags & F_FRC_TYPE_CASTLING) {
 
     /* generate all potential FRC castling moves (KxR), ignoring flags */
     /* [HGM] test if the Rooks we find have castling rights */
index 7dda43f..76ec89d 100644 (file)
--- a/parser.l
+++ b/parser.l
@@ -686,7 +686,7 @@ extern void CopyBoard P((Board to, Board from));
             ft = BOARD_LEFT+2;\r
        }\r
     }\r
-    if(gameInfo.variant == VariantFischeRandom) {\r
+    if(PosFlags(0) & F_FRC_TYPE_CASTLING) {
         if (WhiteOnMove(yyboardindex)) {\r
             ff = initialRights[2];\r
             ft = initialRights[1];\r
@@ -741,7 +741,7 @@ extern void CopyBoard P((Board to, Board from));
             ft = BOARD_RGHT-2;\r
        }\r
     }\r
-    if(gameInfo.variant == VariantFischeRandom) {\r
+    if(PosFlags(0) & F_FRC_TYPE_CASTLING) {
         if (WhiteOnMove(yyboardindex)) {\r
             ff = initialRights[2];\r
             ft = initialRights[0];\r