marked more strings for translation
[xboard.git] / engineoutput.c
index 46b34a3..59bff2f 100644 (file)
 #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);