shithub: moonfish

Download patch

ref: 2ab478783bc625e4b832211b764452674bddca58
parent: fb2cb4f53876b1b0c6060464e0dd5a05ab00e502
author: zamfofex <zamfofex@twdb.moe>
date: Mon Apr 1 10:07:19 EDT 2024

fix score inconsistency in ‘analyse’

--- a/tools/analyse.c
+++ b/tools/analyse.c
@@ -241,17 +241,21 @@
 static void moonfish_score(struct moonfish_fancy *fancy)
 {
 	struct moonfish_ply *ply;
+	int score;
 	
 	printf("\x1B[38;5;111m(+)\x1B[0m ");
 	
 	ply = fancy->plies + fancy->i;
+	score = ply->score;
 	
+	if (!ply->chess.white) score *= -1;
+	
 	if (ply->checkmate != 0)
 		printf("#%d", ply->checkmate);
-	else if (ply->score < 0)
-		printf("%d.%.2d", ply->score / 100, -ply->score % 100);
+	else if (score < 0)
+		printf("-%d.%.2d", -score / 100, -score % 100);
 	else
-		printf("%d.%.2d", ply->score / 100, ply->score % 100);
+		printf("%d.%.2d", score / 100, score % 100);
 	
 	printf(" (depth %d) %4s", ply->depth, "");
 }
--