X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=backend.c;h=f59096cbea97095ad5bd9ef48575d075bfb1d771;hb=d82dceedeabcd31bcda9ac7f23b700a5ee72308a;hp=d765e81f700be906710738405d55c6b31832194e;hpb=388c4cee58c0dabd0a14cf7d66d3237dcf9a655e;p=xboard.git diff --git a/backend.c b/backend.c index d765e81..f59096c 100644 --- a/backend.c +++ b/backend.c @@ -3126,6 +3126,8 @@ read_from_ics(isr, closure, data, count, error) } } // [HGM] kibitz: end of patch + if(looking_at(buf, &i, "* rating adjustment: * --> *\n")) continue; + // [HGM] chat: intercept tells by users for which we have an open chat window channel = -1; if(started == STARTED_NONE && (looking_at(buf, &i, "* tells you:") || looking_at(buf, &i, "* says:") || @@ -4431,6 +4433,13 @@ ParseBoard12(string) board[k][1] = board[k][BOARD_WIDTH-2] = (ChessSquare) 0;; } } + if(moveNum==0 && gameInfo.variant == VariantSChess) { + board[5][BOARD_RGHT+1] = WhiteAngel; + board[6][BOARD_RGHT+1] = WhiteMarshall; + board[1][0] = BlackMarshall; + board[2][0] = BlackAngel; + board[1][1] = board[2][1] = board[5][BOARD_RGHT] = board[6][BOARD_RGHT] = 1; + } CopyBoard(boards[moveNum], board); boards[moveNum][HOLDINGS_SET] = 0; // [HGM] indicate holdings not set if (moveNum == 0) { @@ -4466,6 +4475,7 @@ ParseBoard12(string) if(board[BOARD_HEIGHT-1][i] == BlackRook) j = i; initialRights[4] = boards[moveNum][CASTLING][4] = (castle_bl == 0 && gameInfo.variant != VariantFischeRandom ? NoRights : j); + boards[moveNum][CASTLING][2] = boards[moveNum][CASTLING][5] = NoRights; if(gameInfo.variant == VariantKnightmate) { wKing = WhiteUnicorn; bKing = BlackUnicorn; } for(k=BOARD_LEFT; k>1) moveType = WhitePromotion; // kludge to do gating at Rook + if(moveType == NormalMove) moveType = WhitePromotion; // kludge to do gating } else suffix[0] = NULLCHAR; switch (moveType) { @@ -10650,6 +10660,7 @@ Reset(redraw, init) ModeHighlight(); if(appData.icsActive) gameInfo.variant = VariantNormal; currentMove = forwardMostMove = backwardMostMove = 0; + MarkTargetSquares(1); InitPosition(redraw); for (i = 0; i < MAX_MOVES; i++) { if (commentList[i] != NULL) {