Let's back this up. You should not parse "1/2-1/2". That is not an xboard command. The only way you can legally parse 1/2-1/2 is if it is appended to a "result" command. And Crafty does not send a "result" command to the GUI any longer.Matthias Gemuh wrote:hgm wrote:Competely false.bob wrote:Correct, but notice we are _not_ talking about winboard at the moment. This is another interface that uses the winboard protocol and missed this important nuance of offering/claiming a draw before making the move. If someone does this just like xboard currently does, all is well. Otherwise there are issues and a race condition that is ugly.
ChessGUI follows the protocol specs faithfully, in exactly the same way as current XBoard does. Crafty would also forfeit these games on XBoard or Winboard, for committing this protocol violtion that you so long have exploited. Except that the message appearing in the PGN would be more to the point: it would not say 0-1 {resign} but it would say something like 0-1 {False draw claim by Crafty}.
Thanks, HGM, for emphasizing this
I was already thinking "1/2-1/2 {3-fold repetition}" is a legitimate way of offering a draw and that I had misunderstood the protocol.
I will undo the "bugfix" I introduced in latest ChessGUI and correct only the misleading "resign" comment by ChessGUI.
Matthias.
There are simple rules in the engine-to-interface parsing process. You can't parse a move unless it follows "move". You can't parse comments like 1/2-1/2 unless it follows result. Etc. Crafty produces lots of output to the user, and almost all of it is outside of the xboard protocol.
So now I am no longer sure what we are talking about.
Crafty claims a draw by repetition by sending "offer draw" followed on the next line by "move xxx" where xxx is the move that produces the 3-fold repetition. I have no clue what HGM is rambling on about. If you are parsing 1/2-1/2, which is an informative "score" message sent to the operator, you are making a mistake. If you are only parsing it on a result command, you won't see that from Crafty, ever, in version 23.0 and beyond.