X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=engineoutput.c;h=714873dac15427b9990d0f4f0cf49e6f6dc249a1;hb=30ff596d02fea83b3f303273077eccdd02dc928c;hp=aae73ca443a202948ee940716d3a4c0b95022908;hpb=ce2d2972671ea7eff9dbbe7028718bef4d837dfb;p=xboard.git diff --git a/engineoutput.c b/engineoutput.c index aae73ca..714873d 100644 --- a/engineoutput.c +++ b/engineoutput.c @@ -427,6 +427,7 @@ InsertionPoint (int len, EngineOutputData *ed) offs = 0; textEnd[n] = offs + len; scores[n] = newScore; + keys[n] = ed->moveKey; } nrVariations[n] += 2; return offs + strlen(header[ed->which]); @@ -545,7 +546,7 @@ UpdateControls (EngineOutputData *ed) char s_hits[24]; char s_seld[24]; char s_knps[24]; - char buf[256], *pvStart = ed->pv; + char buf[256], *pvStart = ed->pv, fail; int buflen, hits, seldep, knps, extra; int time_secs = ed->time / 100; int time_cent = ed->time % 100; @@ -567,17 +568,19 @@ UpdateControls (EngineOutputData *ed) if(extra) { // strip extended info from PV if((pvStart = strstr(ed->pv, "} "))) pvStart += 2; else pvStart = ed->pv; } + fail = ed->pv[strlen(ed->pv)-1]; + if(fail != '?' && fail != '!') fail = ' '; /* Score */ h = ((gameMode == AnalyzeMode && appData.whitePOV || appData.scoreWhite) && !WhiteOnMove(currentMove) ? -1 : 1) * ed->score; if( h == 0 ) { - snprintf( s_score, sizeof(s_score)/sizeof(s_score[0]), " 0.00\t" ); + snprintf( s_score, sizeof(s_score)/sizeof(s_score[0]), " 0.00%c\t", fail ); } else if( h > 0 ) { - snprintf( s_score, sizeof(s_score)/sizeof(s_score[0]), "+%.2f\t", h / 100.0 ); + snprintf( s_score, sizeof(s_score)/sizeof(s_score[0]), "+%.2f%c\t", h / 100.0, fail ); } else { - snprintf( s_score, sizeof(s_score)/sizeof(s_score[0]), " %.2f\t", h / 100.0 ); + snprintf( s_score, sizeof(s_score)/sizeof(s_score[0]), " %.2f%c\t", h / 100.0, fail ); } /* Time */