X-Git-Url: http://winboard.nl/cgi-bin?p=xboard.git;a=blobdiff_plain;f=engineoutput.c;h=6fd66623e42f69e3ff7022d2f8a7eb2e0b0230d1;hp=0bfd8b5923250a7063524b9ad9088b64f631d604;hb=6f3c9bba464d20c0abff140f3f7a6ccd0291253b;hpb=f49e7e17e3b4e66fb70f0a9416ed65b5e4516d7d diff --git a/engineoutput.c b/engineoutput.c index 0bfd8b5..6fd6662 100644 --- a/engineoutput.c +++ b/engineoutput.c @@ -5,7 +5,8 @@ * * Copyright 2005 Alessandro Scotti * - * Enhancements Copyright 1995, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Free Software Foundation, Inc. + * Enhancements Copyright 1995, 2009, 2010, 2011, 2012, 2013, 2014, + * 2015, 2016 Free Software Foundation, Inc. * * ------------------------------------------------------------------------ * @@ -186,6 +187,8 @@ SetProgramStats (FrontEndProgramStats * stats) // now directly called by back-en return; } + if(appData.epd && which) return; // do not write second pane in -epd mode + if( !EngineOutputDialogExists() ) { return; } @@ -221,7 +224,7 @@ SetProgramStats (FrontEndProgramStats * stats) // now directly called by back-en clearMemo = TRUE; } - if( lastForwardMostMove[which] != forwardMostMove ) { + if( lastForwardMostMove[which] != forwardMostMove && endPV < 0) { clearMemo = TRUE; } @@ -232,9 +235,11 @@ SetProgramStats (FrontEndProgramStats * stats) // now directly called by back-en if(gameMode == AnalyzeMode) { ChessProgramState *cps = (which ? &second : &first); char *exclu = cps->excludeMoves ? exclusionHeader : ""; - if((multi = MultiPV(cps)) >= 0) { - snprintf(header[which], MSG_SIZ, "\t%s viewpoint\t\tfewer / Multi-PV setting = %d / more\n", - appData.whitePOV || appData.scoreWhite ? "white" : "mover", cps->option[multi].value); + if((multi = MultiPV(cps, 3)) != -1) { + char *s = "setting"; + if(multi < -1) multi = -2 - multi, s = "margin"; + snprintf(header[which], MSG_SIZ, "\t%s viewpoint\t\tfewer / Multi-PV %s = %d / more\n", + appData.whitePOV || appData.scoreWhite ? "white" : "mover", s, cps->option[multi].value); } if(!which) snprintf(header[which]+strlen(header[which]), MSG_SIZ-strlen(header[which]), "%s%s", exclu, columnHeader); InsertIntoMemo( which, header[which], 0); @@ -254,7 +259,7 @@ SetProgramStats (FrontEndProgramStats * stats) // now directly called by back-en /* Update */ lastDepth[which] = depth == 1 && ed.nodes == 0 ? 0 : depth; // [HGM] info-line kudge - lastForwardMostMove[which] = forwardMostMove; + if(endPV < 0) lastForwardMostMove[which] = forwardMostMove; // not during PV walk! UpdateControls( &ed ); } @@ -694,13 +699,13 @@ OutputKibitz (int window, char *text) static int currentLineEnd[2]; int where = 0; if(!EngineOutputIsUp()) return; - if(!opponentKibitzes) { // on first kibitz of game, clear memos + if(!opponentKibitzes && !appData.epd) { // on first kibitz of game, clear memos DoClearMemo(1); currentLineEnd[1] = 0; if(gameMode == IcsObserving) { DoClearMemo(0); currentLineEnd[0] = 0; } } opponentKibitzes = TRUE; // this causes split window DisplayMode in ICS modes. VerifyDisplayMode(); - strncpy(text+strlen(text)-1, "\r\n",sizeof(text+strlen(text)-1)); // to not lose line breaks on copying + strncpy(text+strlen(text)-1, "\r\n", 4); // to not lose line breaks on copying if(gameMode == IcsObserving) { DoSetWindowText(0, nLabel, gameInfo.white); SetIcon( 0, nColorIcon, nColorWhite);