X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=engine-intf.html;h=8ff98ce8587282ddf06ffb4732cd51fafee4f3fb;hb=d9a803f2e64634ff75f89b7e3b0a65ac085f0e36;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

Tim Mann & H.G.Muller

-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.)