]> git.sesse.net Git - stockfish/blobdiff - src/hashprobe.proto
Send back a prettyprinted version of the move on hash probe.
[stockfish] / src / hashprobe.proto
index a7efa8ce8c13683b4cd94a5397c1e677d6c57775..175cd7731a32784054db230a74af697815e605e0 100644 (file)
@@ -1,18 +1,21 @@
 syntax = "proto3";
+package hashprobe;
+
 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;
@@ -20,7 +23,25 @@ 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.
+
+       string pretty = 4;  // e.g. Rxf6+
+}
+message HashProbeScore {
+       enum ScoreType {
+               SCORE_NONE = 0;
+               SCORE_CP = 1;
+               SCORE_MATE = 2;
+       }
+       ScoreType score_type = 1;
+       int32 score_cp = 2;
+       int32 score_mate = 3;
 }
 
 service HashProbe {