+void MakeEngineOutputTitle()
+{
+ static char buf[MSG_SIZ];
+ static char oldTitle[MSG_SIZ];
+ char *title = "Engine Output";
+ extern int initialRulePlies;
+ int count;
+ // 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;
+ if(!strcmp(oldTitle, title)) return;
+ safeStrCpy(oldTitle, title, MSG_SIZ);
+ SetEngineOutputTitle(title);
+}
+