xboard-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [XBoard-devel] New wb2 protocol command "gui"


From: Tim Mann
Subject: Re: [XBoard-devel] New wb2 protocol command "gui"
Date: Tue, 9 Nov 2004 08:11:27 -0800

On Mon, 8 Nov 2004 18:25:01 +0100 , "Mehrmann, Daniel, fiscus GmbH, Bonn" 
<address@hidden> wrote:
> Hello Tim,
> 
> basicly you're right :) But i don't see that as a extension 
> in the own reflect of the protocol (feature=x element). Its more a
> information for the 
> engine, nothing more !

If all the GUIs follow the protocol exactly, there's no reason for the
engine to know which GUI it's talking to.  It's useless information.

If some GUI doesn't follow the protocol because of poor programming,
then the GUI author should fix it.  He shouldn't send "gui mumble" to
the engines and expect hundreds of engine authors to change to
deal with his mistake.

If some GUI doesn't follow the protocol because it needs an extra
feature that the protocol doesn't provide, then a "feature" command
should be used if possible.  The feature command is backwards for this,
unfortunately, because it's something that the engine asks the GUI for,
not vice versa.  However, a "gui" command is too vague to deal with a
problem like this.

> And i thought it should be only support the current
> features above wb2
> in the GUI's. That shouldn't called that the GUI begin to add new features
> !!

If there are already some specific things that GUIs need that aren't in
the protocol, let's deal with them one by one.

> Maybe i wrote that wrong in my first message. But okay the rsik is very high
> that other GUI's
> beginn to add not offical features and than we have a nightmare. 
> 
> I don't wanna use the "feature=x" syntax, because that would be a real
> extension and all new
> real extensions should _not_ go into wb2, it should go into wb3. And at the
> moment i don't do 
> this job. With the "gui" command its not my target to go to wb3. It should
> only be "hotfix"
> for all wb2 GUIs.

I don't agree with that at all.  There is no great harm in defining more
feature commands without changing the protocol version number.  Adding a
completely new command like "gui" without changing the protocol version
number is certainly no better than that -- I'd say it's worse.

About changing the protocol version number: Seeing "protover 3" or above
shouldn't make much difference to engines, because new protocol versions
are always supposed to work like old ones by default unless a "feature"
command is given to enable the new additions or changes.  So seeing a
higher protover number is just a hint that the new feature commands from
that version may be accepted.  (Some may also be rejected.)

However, I suspect that a lot of people expect that "version 3" will
mean incompatible changes, and I worry that some engines may actually
break if the see "protover 3" because their author was thinking "I only
support version 2; version 3 hasn't come out yet."

I also suspect most engines don't parse accepted/rejected messages and
will just fail to work correctly if any of the features they request are
rejected.  Oh well.

> But okay, i respect your direction and i will remove the stuff soon.
> 
> --
> Daniel Mehrmann
> Softwaredeveloper project Bustra 3.0
> fiscus GmbH
> http://www.fiscus-gmbh.com
> Phone +492282807182
> 
> 
> -----Ursprüngliche Nachricht-----
> Von: Tim Mann [mailto:address@hidden
> Gesendet: Sonntag, 7. November 2004 01:55
> An: Daniel Mehrmann
> Cc: address@hidden; address@hidden; address@hidden
> Betreff: Re: [XBoard-devel] New wb2 protocol command "gui"
> 
> 
> It would be better to define a new "feature" command for each feature
> that other GUIs have and xboard doesn't.  That's how the protocol is
> supposed to be extended.
> 
> Either way, you'll have to get the other GUI authors to start supporting
> this addition for it to be of any use to engine authors.
> 
> On Sat, 06 Nov 2004 23:29:03 +0100, Daniel Mehrmann <address@hidden>
> wrote:
> > Hello folks :)
> > 
> > After a long time i did something for xboard/winboard.
> > A lot of engine authors wish to know which wb2 GUI will be used.
> > A lot of commercial/free GUI's support extend features above wb2 protocol.
> > 
> > With this command the engine now knows which gui running and _can_, not
> > _must_, support special features for the GUI.
> > 
> > For example its not clear defined how to look the PV string in wb2.
> > That not bad, because each author can do it yourself and have more free
> > space to use it :)
> > Example we send the nice line: "12. de5 Qxe5 13. Ndxe5 a7a8=Q....."
> > 
> > But other GUIs can't read that stuff and want to have:
> > "d4e5 d7d5 f3e5 a7a8q"
> > 
> > I send my idea to our CVS server but that _not_ mean thats offical !.
> > I only give you a change to look about, make some "brain stroming".
> > Allso Tims response is very importend. If no we drop this :(
> > 
> > I post this suggestion to the CCC Forum too.
> > 
> > How it technial works please read the changed engine-intf.html file :)
> > 
> > The DIFF:
> > ---------
> > backend.c:
> > 
> > +      sprintf(buf, "xboard\ngui xboard %s\nprotover %d\n", VERSION,        
> >  
> > cps->protocolVersion);
> > -      sprintf(buf, "xboard\nprotover %d\n", cps->protocolVersion);
> > 
> > engine-intf.html:
> > 
> > -<dt><font color=blue><strong>gui GUI_NAME 
> > VERSION.SUBVERSION</strong></font>
> > -<dd><font color=blue>
> > -This is a new feature. The GUI sending after the "xboard" command and 
> > before
> > -"protover N" string the command "gui <GUI_NAME> <VERSION>.<SUBVERSION>"
> > -to the engine. The GUI_NAME is a string. VERSION and SUBVERSION is 
> > <i><strong>one</strong></i>
> > -character.<br>
> > -This command will be send always. You don't need to answer because its
> only
> > -a information for the engine. I recommend that the engine not response.
> > -The idea behind this command is that the engine now know which special 
> > feature
> > -support the named GUI.<br>
> > -To make the GUI string clear the known GUIs will be predefined:<br>
> > -<br>
> > -gui arena                  = send by Arena<br>
> > -gui chessassistant         = send by Chess Assistant<br>
> > -gui chessbase              = send by ChessBase<br>
> > -gui chessmaster            = send by ChessMaster<br>
> > -gui chesspartner   = send by ChessPartner GUI<br>
> > -gui wb2uci                 = send by wb2uci adapter<br>
> > -gui xboard                         = send by Winboard/Xboard<br>
> > -<br>
> > -This list is not completely and will be extend in the future.<br>
> > -<br>
> > -Example:<br>
> > -Winboard / Xboard send:<br>
> > -xboard\n<br>
> > -gui xboard 4.2\n<br>
> > -protover 2\n<br>
> > -</font>
> > -<p>
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > _______________________________________________
> > XBoard-devel mailing list
> > address@hidden
> > http://lists.gnu.org/mailman/listinfo/xboard-devel
> > 
> 
> 
> -- 
> Tim Mann  address@hidden  http://tim-mann.org/
> 
> 
> _______________________________________________
> XBoard-devel mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/xboard-devel
> 


-- 
Tim Mann  address@hidden  http://tim-mann.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]