X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=engine-intf.html;h=8ff98ce8587282ddf06ffb4732cd51fafee4f3fb;hb=e1edcbabb63e65d5d47c07a0836dd51d7e01de0e;hp=bd6bcd798054c0001e7ce458f24310f5eda1faa5;hpb=667704141b1dccd4e38b1808f91488e0d35c03a7;p=xboard.git
diff --git a/engine-intf.html b/engine-intf.html
index bd6bcd7..8ff98ce 100644
--- a/engine-intf.html
+++ b/engine-intf.html
@@ -8,7 +8,7 @@
Chess Engine Communication Protocol
-Version 2; implemented in xboard/WinBoard 4.2.1 and later.
+Version 2; implemented in xboard/WinBoard 4.2.1 and later. (Sept 3, 2009)
Changes since version 1 are indicated in red.
Changes for WinBoard 4.3.xx are indicated in green.
Changes for WinBoard 4.4.xx are indicated in blue.
@@ -1212,6 +1212,10 @@ protocol version by rejecting some features that are defined in that
version; however, you should realize that engine authors are likely to
code for xboard and may not be prepared to have a feature that they
depend on be rejected.
+If the GUI rejects an option feature because of the
+syntax of the value, it should print the value string with the
+"rejected" command, e.g. "rejected option nonsense" in response
+to receiving feature option="nonsense".
@@ -1453,14 +1457,19 @@ and will not send any "egtpath" commands to inform the engine about their wherea
This feature is used by the engine to define an option command to appear in a GUI menu,
-so that the user can change the corresponding setting of the engine through the GUI.
+so that the user can change the corresponding setting of the engine through the GUI interactively.
The string describes the option by defining a name, type, current value and (sometimes) the acceptable value range.
-There are nine different options types, each requiring a slighly different syntax of the defining string:
+Unlike other features, option features are accumulated by the GUI,
+and the GUI must be able to add a new option to the list at any time,
+even after having received feature done=1.
+There are ten different options types, each requiring a slighly different syntax of the defining string:
feature option="NAME -button"
feature option="NAME -save"
+feature option="NAME -reset"
+
feature option="NAME -check VALUE"
feature option="NAME -string VALUE"
@@ -1483,13 +1492,20 @@ the minimum or maximum value of numeric (-spin) options,
or arbitrary text labels (for -combo option).
In the latter case, the current value will be preceded by an asterisk.
The -file and -path options are similar to -string, but can be used to inform the GUI that
-the text represents a file name or folder name respectively, so the GUI dialog to set it
-could add the appropriate browse button to the text-edit field.
+the text represents a file name or folder name respectively,
+so the GUI dialog could add the appropriate browse button to the text-edit field.
Similarly, a -slider option is like a -spin, but the GUI might make a different
graphical representation for it.
A -save option is like a -button, and defines an immediate command to be sent by the engine.
With -save the GUI will make sure all current option settings are flushed to the engine
before it sends this command.
+A -reset option is like a -button, but use of it purges the list of options before sending
+the corresponding option command to the engine.
+This enables the engine to completely redefine its options or their current settings,
+by sending a new set of option feature commands to the GUI,
+terminated by feature done=1.
+(The effect of sending an option feature for an option with the same name as was defined before,
+without first receiving a -reset option command, is undefined.)