Finish implementation of Shogi
[capablanca.git] / lasker-2.2.3 / src / gamedb_old.c
index e9d9306..dd435b4 100644 (file)
@@ -155,7 +155,7 @@ static int ReadGameState(FILE * fp, struct game_state_t *gs, int version)
     for (i = 0; i < 8; i++)
       for (j = 0; j < 8; j++) {
        pieceChar = getc(fp);
-       gs->board[i][j] = CharToPiece(pieceChar);
+       gs->board[i][j] = CharToPiece(pieceChar, NULL);
       }
   }
   if (fscanf(fp, "%d %d %d %d %d %d",
@@ -319,6 +319,10 @@ static void ReadOneV1Move(FILE * fp, struct move_t *m)
       m->algString[i++] = '1' + m->toRank;
       m->algString[i] = '\0';
     }
+    if (m->piecePromotionTo != 0) { // must be Shogi promotion
+       strcat(m->algString, "=+");
+      m->piecePromotionTo |= m->color;
+    }
   }
   if (m->algString[0] != 'O')
     sprintf(m->moveString, "%c/%c%d-%c%d", PieceChar, 'a' + m->fromFile,