Add exclude and setscore to protocol specs
authorH.G. Muller <h.g.muller@hccnet.nl>
Fri, 16 Mar 2012 20:58:55 +0000 (21:58 +0100)
committerH.G. Muller <h.g.muller@hccnet.nl>
Fri, 16 Mar 2012 20:58:55 +0000 (21:58 +0100)
engine-intf.html

index d1d1e84..3e966be 100644 (file)
@@ -12,6 +12,7 @@
   .version1 { color: red;}\r
   .version43 { color: green;}\r
   .version44 { color: blue; }\r
+  .version47 { color: purple; }\r
 \r
   table tr { text-align: left}\r
   tr > td:first-child { font-weight:bold;}\r
@@ -1087,6 +1088,38 @@ i.e. with 'spin' and 'check' options VALUE will be a decimal integer (in the lat
 with 'combo' and 'string' options VALUE will be a text string,\r
 and with 'button' and 'save' options no VALUE will be sent at all.\r
 </dd>\r
+\r
+<dt class="version47">exclude MOVE</dt>\r
+<dt class="version47">include MOVE</dt>\r
+<dt class="version47">exclude all</dt>\r
+<dt class="version47">include all</dt>\r
+<dd class="version47">\r
+These commands change the set of moves that the engine should consider in the root node of its search,\r
+by removing or adding the mentioned MOVE from this set.\r
+After reaching a new position, (e.g. through a usermove, undo, new or setboard command),\r
+or after receiving "include all",\r
+this set should always be reset to all legal moves from that position.\r
+If the set of moves changes during a search, \r
+the engine could start a new search from scratch, or it can try to be smart, \r
+and continue the current search with the new set of moves\r
+(e.g. after exclusion of a move that has not been searched yet in the current iteration).\r
+After "exclude all", the engine would have no legal moves in the root,\r
+which logically should make it behave as if it is (stale)mated,\r
+but it is allowed to defer any effects of this command on a search in progress\r
+to when the set gets non-empty again through addition of a move.\r
+These commands will only be sent to engines that have requested such through the exclude feature.\r
+</dd>\r
+\r
+<dt class="version47">setscore SCORE DEPTH</dt>\r
+<dd class="version47">\r
+This command instructs the engine to treat future search requests on the current position\r
+(also when it is encountered inside a larger search tree)\r
+upto the given DEPTH as if these result is SCORE centi-Pawn in favor of the side that has the move in this position.\r
+It is entirely up to the engine to decide when the effect of this option should expire.\r
+(E.g. it could last upto the next "new" or "quit" command,\r
+or even into future sessions until the user explicitly clears it through an engine-defined option.)\r
+This command will only be sent to engines that have requested it through the setscore feature.\r
+</dd>\r
 </dl>\r
 \r
 <h3>Bughouse commands:</h3>\r
@@ -1450,6 +1483,18 @@ terminated by feature done=1.
 (The effect of sending an option feature for an option with the same name as was defined before, \r
 without first receiving a -reset option command, is undefined.)\r
 </span>\r
+\r
+<dt class="version47">exclude (boolean, default 0)</dt>\r
+<dd class="version47">\r
+If exclude=1 the GUI can send "exclude" and "include" commands to control which moves\r
+from the root position should be searched.\r
+</dd>\r
+</dd>\r
+\r
+<dt class="version47">setscore (boolean, default 0)</dt>\r
+<dd class="version47">\r
+If setscore=1 the GUI can send "setscore" commands to define the score of the current position.\r
+</dd>\r
 </dd>\r
 \r
 <dt class="version1">done (integer, no default)</dt>\r