Implement Grand Chess
[capablanca.git] / lasker-2.2.3 / src / board.c
index e60f659..6aa7524 100644 (file)
@@ -168,6 +168,7 @@ int board_init(int g,struct game_state_t *b, char *category, char *board)
   b->bareKingLoses = 0;
   b->stalemate = 1;
   b->promoType = 1;
+  b->promoZone = 1;
   b->variant[0] = 0; // [HGM] variant: default is normal, if variant name is missing\r
   if (!category || !board || !category[0] || !board[0]) \r
                                /* accounts for bughouse too */\r
@@ -1035,6 +1036,10 @@ static int board_read_file(char *category, char *gname, struct game_state_t *gs)
            case 'S':
                gs->promoType = 3; // Shogi-type promotions
                break;
+           case 'Z':
+               gs->promoZone = 3; // for Grand Chess
+               gs->pawnDblStep = 2;
+               break;
            case 'F':
                gs->castlingStyle = 2; // FRC castling
                break;