]> git.sesse.net Git - stockfish/blobdiff - src/hashprobe.proto
Decode the score into the protobuf.
[stockfish] / src / hashprobe.proto
index 505f06e76f24c1c1b1ee4f6e8ad2b94019dbad19..dfd16fdcd3dcfbd4bcdc75799449d6cce69c48af 100644 (file)
@@ -5,16 +5,17 @@ message HashProbeRequest {
        string fen = 1;
 }
 message HashProbeResponse {
-       repeated HashProbeMove move = 1;
+       HashProbeLine root = 2;
+       repeated HashProbeLine line = 1;
 }
-message HashProbeMove {
-       int32 move = 7;  // See types.h
+message HashProbeLine {
+       HashProbeMove move = 1;
+       bool found = 2;
 
-       bool found = 1;
-       int32 pv_move = 2;  // See types.h
-       int32 value = 3;  // Dynamic eval (may be inexact, see the "bound" field)
-       int32 eval = 4;  // Static eval
-       int32 depth = 5;
+       repeated HashProbeMove pv = 3;
+       HashProbeScore value = 4;  // Dynamic eval (may be inexact, see the "bound" field)
+       HashProbeScore eval = 5;  // Static eval
+       int32 depth = 6;
 
        enum ValueBound {
                BOUND_NONE = 0;
@@ -22,7 +23,22 @@ message HashProbeMove {
                BOUND_LOWER = 2;
                BOUND_EXACT = 3;
        };
-       ValueBound bound = 6;
+       ValueBound bound = 7;
+}
+
+message HashProbeMove {
+       string from_sq = 1;  // a1, a2, etc.
+       string to_sq = 2;
+       string promotion = 3;  // Q, R, etc.
+}
+message HashProbeScore {
+       enum ScoreType {
+               SCORE_CP = 0;
+               SCORE_MATE = 1;
+       }
+       ScoreType score_type = 1;
+       int32 score_cp = 2;
+       int32 score_mate = 3;
 }
 
 service HashProbe {