X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=backend.c;h=c487dd164339c5cef47b856db121a8ab52842a8a;hb=b7bf5d068c672d4356bc94711364c03e3d83d6e9;hp=0624dac0251996c72ea032fcaf9c75ac6d3d86b8;hpb=57bd3f69d6723a8932a6131b7aee7042cfd91ee0;p=xboard.git diff --git a/backend.c b/backend.c index 0624dac..c487dd1 100644 --- a/backend.c +++ b/backend.c @@ -5,7 +5,8 @@ * Massachusetts. * * Enhancements Copyright 1992-2001, 2002, 2003, 2004, 2005, 2006, - * 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Free Software Foundation, Inc. + * 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 Free + * Software Foundation, Inc. * * Enhancements Copyright 2005 Alessandro Scotti * @@ -6849,6 +6850,7 @@ OKToStartUserMove (int x, int y) case PlayFromGameFile: if(!shiftKey || !appData.variations) return FALSE; // [HGM] allow starting variation in this mode case EditGame: + case AnalyzeMode: if (!white_piece && WhiteOnMove(currentMove)) { DisplayMoveError(_("It is White's turn")); return FALSE; @@ -7051,6 +7053,7 @@ UserMoveEvent (int fromX, int fromY, int toX, int toY, int promoChar) "fromY %d, toX %d, toY %d\n", fromX, fromY, toX, toY); } + DrawPosition(TRUE, boards[currentMove]); // [HGM] repair animation damage done by premove (in particular emptying from-square) return; } break; @@ -7072,6 +7075,7 @@ UserMoveEvent (int fromX, int fromY, int toX, int toY, int promoChar) "fromY %d, toX %d, toY %d\n", fromX, fromY, toX, toY); } + DrawPosition(TRUE, boards[currentMove]); return; } break; @@ -9764,6 +9768,7 @@ FakeBookMove: // [HGM] book: we jump here to simulate machine moves after book h [AS] Protect the thinkOutput buffer from overflow... this is only useful if buf1 hasn't overflowed first! */ + if((gameMode == AnalyzeMode && appData.whitePOV || appData.scoreWhite) && !WhiteOnMove(forwardMostMove)) curscore *= -1; if(curscore >= MATE_SCORE) snprintf(score_buf, MSG_SIZ, "#%d", curscore - MATE_SCORE); else if(curscore <= -MATE_SCORE)