From 9bc5b6e6ca1e15a01cd9406322ad4fc93a45adc8 Mon Sep 17 00:00:00 2001 From: H.G. Muller Date: Sat, 9 Jul 2011 13:18:07 +0200 Subject: [PATCH] Print reversible plies done in stead of plies to go Printing the number of plies left to the draw-adjudication point was confusing when the N-move rule was set to a non-standard value. In stead we now print the number of plies since the last irreversible move, so the user can compare it to both the engine claim point (100) and the adjudication point he set (which might be beyond 100). --- engineoutput.c | 12 +++++++----- 1 files changed, 7 insertions(+), 5 deletions(-) diff --git a/engineoutput.c b/engineoutput.c index 46b34a3..78117a7 100644 --- a/engineoutput.c +++ b/engineoutput.c @@ -76,20 +76,22 @@ static char header[MSG_SIZ]; #define MAX_VAR 400 static int scores[MAX_VAR], textEnd[MAX_VAR], curDepth[2], nrVariations[2]; +extern int initialRulePlies; + void MakeEngineOutputTitle() { static char buf[MSG_SIZ]; static char oldTitle[MSG_SIZ]; char *title = "Engine Output"; - extern int initialRulePlies; - int count; + int count, rule = 2*appData.ruleMoves; // figure out value of 50-move counter count = currentMove; while( (signed char)boards[count][EP_STATUS] <= EP_NONE && count > backwardMostMove ) count--; if( count == backwardMostMove ) count -= initialRulePlies; - count += 2*appData.ruleMoves - currentMove; - snprintf(buf, MSG_SIZ, "%s (%d ply to draw)", title, count); - if(count <= 40) title = buf; + count = currentMove - count; + snprintf(buf, MSG_SIZ, "%s (%d reversible plies)", title, count); + if(!rule) rule = 100; + if(count >= rule - 40 && !appData.icsActive) title = buf; if(!strcmp(oldTitle, title)) return; safeStrCpy(oldTitle, title, MSG_SIZ); SetEngineOutputTitle(title); -- 1.7.0.4