]> git.sesse.net Git - remoteglot/commitdiff
Fix an issue where Chess960 castling rights would get truncated.
authorSteinar H. Gunderson <sgunderson@bigfoot.com>
Tue, 29 Oct 2019 08:15:44 +0000 (09:15 +0100)
committerSteinar H. Gunderson <sgunderson@bigfoot.com>
Tue, 29 Oct 2019 08:15:44 +0000 (09:15 +0100)
www/js/chess.js

index f02f04ecfe19a1287f5c1d4fd60f0b0ca007d325..f274628273e33c6d964f3274bf524046ed5e0e61 100644 (file)
@@ -242,7 +242,7 @@ var Chess = function(fen) {
     var i, flag;
     if (white_frc_columns !== null) {
       for (i = 0; i < white_frc_columns.length; ++i) {
-        var sq = SQUARES.a1 + (white_frc_columns[0].charCodeAt(0) - "A".charCodeAt(0));
+        var sq = SQUARES.a1 + (white_frc_columns[i].charCodeAt(0) - "A".charCodeAt(0));
         flag = sq < kings[WHITE] ? BITS.QSIDE_CASTLE : BITS.KSIDE_CASTLE;
         castling.w |= flag;
         rooks[WHITE].push({square: sq, flag: flag});
@@ -270,7 +270,7 @@ var Chess = function(fen) {
     var black_frc_columns = tokens[2].match(/[a-h]/g);
     if (black_frc_columns !== null) {
       for (i = 0; i < black_frc_columns.length; ++i) {
-        var sq = SQUARES.a8 + (black_frc_columns[0].charCodeAt(0) - "a".charCodeAt(0));
+        var sq = SQUARES.a8 + (black_frc_columns[i].charCodeAt(0) - "a".charCodeAt(0));
         flag = sq < kings[BLACK] ? BITS.QSIDE_CASTLE : BITS.KSIDE_CASTLE;
         castling.b |= flag;
         rooks[BLACK].push({square: sq, flag: flag});