static int lastForwardMostMove[2] = { -1, -1 };
static int engineState[2] = { -1, -1 };
static char lastLine[2][MSG_SIZ];
+static char header[MSG_SIZ];
#define MAX_VAR 400
static int scores[MAX_VAR], textEnd[MAX_VAR], curDepth[2], nrVariations[2];
{
EngineOutputData ed;
int clearMemo = FALSE;
- int which;
- int depth;
+ int which, depth, multi;
if( stats == 0 ) {
SetEngineState( 0, STATE_IDLE, "" );
ed.name = second.tidy;
}
+ if( ed.pv != 0 && ed.pv[0] == ' ' ) {
+ if( strncmp( ed.pv, " no PV", 6 ) == 0 ) { /* Hack on hack! :-O */
+ ed.pv = "";
+ }
+ }
+
/* Clear memo if needed */
- if( lastDepth[which] > depth || (lastDepth[which] == depth && depth <= 1) ) {
+ if( lastDepth[which] > depth || (lastDepth[which] == depth && depth <= 1 && ed.pv[0]) ) { // no reason to clear if we won't add line
clearMemo = TRUE;
}
if( clearMemo ) {
DoClearMemo(which); nrVariations[which] = 0;
+ header[0] = NULLCHAR;
+ if(gameMode == AnalyzeMode && (multi = MultiPV(&first)) >= 0) {
+ snprintf(header, MSG_SIZ, "\t\t\t\tfewer / Multi-PV setting = %d / more\n",
+ first.option[multi].value);
+ InsertIntoMemo( which, header, 0);
+ } else
if(appData.ponderNextMove && lastLine[which][0]) {
InsertIntoMemo( which, lastLine[which], 0 );
InsertIntoMemo( which, "\n", 0 );
lastDepth[which] = depth == 1 && ed.nodes == 0 ? 0 : depth; // [HGM] info-line kudge
lastForwardMostMove[which] = forwardMostMove;
- if( ed.pv != 0 && ed.pv[0] == ' ' ) {
- if( strncmp( ed.pv, " no PV", 6 ) == 0 ) { /* Hack on hack! :-O */
- ed.pv = "";
- }
- }
-
UpdateControls( &ed );
}
scores[n] = newScore;
}
nrVariations[n] += 2;
- return offs;
+ return offs + (gameMode == AnalyzeMode)*strlen(header);
}