X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=engineoutput.c;h=59bff2fec9c809c1ab5f3d69b2be15c7eeeaca92;hb=212e4d8597c5bcd31e0e5fbf9137e5bf6eda6eae;hp=46b34a34cc3807789f7f13cac656e2b7b60fdd10;hpb=adbe3504da7bfecb255bbe854bfc0963c02a743b;p=xboard.git diff --git a/engineoutput.c b/engineoutput.c index 46b34a3..59bff2f 100644 --- a/engineoutput.c +++ b/engineoutput.c @@ -45,6 +45,15 @@ #include "backend.h" #include "moves.h" #include "engineoutput.h" +#include "gettext.h" + +#ifdef ENABLE_NLS +# define _(s) gettext (s) +# define N_(s) gettext_noop (s) +#else +# define _(s) (s) +# define N_(s) s +#endif typedef struct { char * name; @@ -76,20 +85,27 @@ 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; + char title[MSG_SIZ]; + int count, rule = 2*appData.ruleMoves; + + snprintf(title, MSG_SIZ, _("Engine Output") ); + + if(!EngineOutputIsUp()) return; // 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 || gameMode == IcsObserving)) + safeStrCpy(title, buf, MSG_SIZ); if(!strcmp(oldTitle, title)) return; safeStrCpy(oldTitle, title, MSG_SIZ); SetEngineOutputTitle(title);