X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=backend.c;h=84937ae62209a5ea7a0b9445ce1c489182680af3;hb=84f5fb6b9383e608570b90f6acc12f96d2781979;hp=aaa20a59f34c293608d01358e5af44b8e742f39c;hpb=22e36c815d99cea7d8fc820686da3db720d7e9e6;p=xboard.git diff --git a/backend.c b/backend.c index aaa20a5..84937ae 100644 --- a/backend.c +++ b/backend.c @@ -273,9 +273,9 @@ double u64ToDouble(u64 value) { double r; - u64 tmp = value & 0x7fffffffffffffff; + u64 tmp = value & u64Const(0x7fffffffffffffff); r = (double)(s64)tmp; - if (value & 0x8000000000000000) + if (value & u64Const(0x8000000000000000)) r += 9.2233720368547758080e18; /* 2^63 */ return r; } @@ -1489,14 +1489,9 @@ read_from_ics(isr, closure, data, count, error) int buf_len; int next_out; int tkind; -#ifdef WIN32 - /* For zippy color lines of winboard - * cleanup for gcc compiler */ - int backup; -#endif + int backup; char *p; -#ifdef WIN32 if (appData.debugMode) { if (!error) { fprintf(debugFP, " 0) { /* If last read ended with a partial line that we couldn't parse, @@ -1750,19 +1744,19 @@ read_from_ics(isr, closure, data, count, error) oldi = i; if (appData.zippyTalk || appData.zippyPlay) { + /* Backup address for color zippy lines */ + backup = i; #if ZIPPY #ifdef WIN32 - /* Backup address for color zippy lines */ - backup = i; if (loggedOn == TRUE) if (ZippyControl(buf, &backup) || ZippyConverse(buf, &backup) || - (appData.zippyPlay && ZippyMatch(buf, &backup))); + (appData.zippyPlay && ZippyMatch(buf, &backup))); #else if (ZippyControl(buf, &i) || ZippyConverse(buf, &i) || (appData.zippyPlay && ZippyMatch(buf, &i))) { loggedOn = TRUE; - continue; + if (!appData.colorize) continue; } #endif #endif @@ -2445,6 +2439,11 @@ read_from_ics(isr, closure, data, count, error) if (gameMode == IcsObserving && atoi(star_match[0]) == ics_gamenum) { + /* icsEngineAnalyze */ + if (appData.icsEngineAnalyze) { + ExitAnalyzeMode(); + ModeHighlight(); + } StopClocks(); gameMode = IcsIdle; ics_gamenum = -1; @@ -2856,7 +2855,7 @@ ParseBoard12(string) /* Update currentMove and known move number limits */ newMove = newGame || moveNum > forwardMostMove; - /* If we found takebacks during icsEngineAnalyze + /* If we found takebacks during icsEngineAnalyze try send to engine */ if (!newGame && appData.icsEngineAnalyze && moveNum < forwardMostMove) { takeback = forwardMostMove - moveNum; @@ -4393,6 +4392,7 @@ HandleMachineMove(message, cps) break; case AnalyzeMode: case AnalyzeFile: + break; /* icsEngineAnalyze */ case IcsObserving: if (!appData.icsEngineAnalyze) ignore = TRUE; @@ -4456,7 +4456,7 @@ HandleMachineMove(message, cps) ToUpper(cps->twoMachinesColor[0]) : ' '), ((double) curscore) / 100.0, prefixHint ? lastHint : "", - prefixHint ? " " : "", buf1); + prefixHint ? " " : "", programStats.movelist); if (currentMove == forwardMostMove || gameMode == AnalyzeMode || gameMode == AnalyzeFile || appData.icsEngineAnalyze) { @@ -7787,9 +7787,10 @@ void ExitAnalyzeMode() { /* icsEngineAnalyze - possible call from other functions */ - if (appData.icsEngineAnalyze) + if (appData.icsEngineAnalyze) { appData.icsEngineAnalyze = FALSE; - + DisplayMessage("","Close ICS engine analyze..."); + } if (first.analysisSupport && first.analyzing) { SendToProgram("exit\n", &first); first.analyzing = FALSE; @@ -8920,12 +8921,12 @@ ReceiveFromProgram(isr, closure, message, count, error) cps->which, message); } /* if icsEngineAnalyze is active we block all - whisper and kibitz output, because nobody want - see this + whisper and kibitz output, because nobody want + see this */ if (appData.icsEngineAnalyze) { if (strstr(message, "whisper") != NULL || - strstr(message, "kibitz") != NULL || + strstr(message, "kibitz") != NULL || strstr(message, "tellics") != NULL) return; HandleMachineMove(message, cps); } else { @@ -9270,7 +9271,7 @@ DisplayAnalysisText(text) { char buf[MSG_SIZ]; - if (gameMode == AnalyzeMode || gameMode == AnalyzeFile + if (gameMode == AnalyzeMode || gameMode == AnalyzeFile || appData.icsEngineAnalyze) { sprintf(buf, "Analysis (%s)", first.tidy); AnalysisPopUp(buf, text);