Mario Lang [Tue, 13 Jan 2004 13:29:56 +0000 (13:29 +0000)]
Initial skeleton for Game Creating messages.
Support relation-type -2 (Examining game).
Handle the 'forward event.
(Now you can use the "examine" command on FICS, and simply
type '.' in the ChessBoard display to forward through the game.)
Mario Lang [Tue, 13 Jan 2004 09:47:28 +0000 (09:47 +0000)]
(chess-display-set-index): If INDEX is greater than chess-game-index,
and the last ply is not final, we emit a 'forward chess-module-game event
to give ics a chance to issue "forward\n". This makes
'.' work as expected in examined games.
Mario Lang [Mon, 12 Jan 2004 13:15:28 +0000 (13:15 +0000)]
(chess-ics-server-list): Added some more servers.
(chess-ics-regexp-alist): Make guest login on chessclub.com work.
(chess-ics-handle-ics12): Retrieve TimeControl info from
the ics12 board and set TimeControl game tag when initial board is seen.
Mario Lang [Sun, 11 Jan 2004 22:13:28 +0000 (22:13 +0000)]
Merge chess-ics-parse-ics12 and chess-ics-handle-move into
a new function chess-ics-handle-ics12, which is a lot easier to read now.
Also make the <12> regexp a bit more strict to avoid false positives.
Mario Lang [Sun, 11 Jan 2004 18:03:29 +0000 (18:03 +0000)]
(chess-ics-handler): Read the password before opening the connection.
This corrects a race where the password can be unknown when the
prompt appears because the user hasnt finished typing yet...
(chess-ics12-parse): Use `pop' to make stuff simpler and use `mapc'
to get castling info.
Indent chess-ics-regexp-alist differently.
Mario Lang [Sun, 11 Jan 2004 16:30:24 +0000 (16:30 +0000)]
In chess-engine-default-handler, when 'match is accepted, we were
calling (chess-engine-command nil 'accept chess-full-name)
which doesnt make much sense, and breaks chess-ics game accepting.
change it to `name', to pass the opponent name for whom we are accepting
a match request.
Mario Lang [Sun, 11 Jan 2004 02:32:32 +0000 (02:32 +0000)]
On GNU Emacs 21.3, :eval in mode-line-data seems only to work if it
directly appears in mode-line-format. chess-display indirectly referenced
chess-display-mode-line-format by setting mode-line-format to that
symbol. If we set mode-line-format to the value of chess-display-mode-line-format,
the mode-line comes to life again!
Mario Lang [Sat, 10 Jan 2004 19:12:19 +0000 (19:12 +0000)]
Support for xboards analyze mode.
(chess-engine-command crafty 'analyze t) enables analyze mode and
eventually sets chess-crafty-analyzing-p to t.
When new predicted variations arrive, corresponding epd opcodes
are set for (chess-engine-position nil): acd, ce, pv (acn is not set because
it is likely that it overflows the emacs integer bounds, and I am not
yet sure what to do about this.)
(chess-engine-command crafty 'analyze nil) turns analyze mode off again.
Mario Lang [Sat, 10 Jan 2004 16:12:14 +0000 (16:12 +0000)]
Use Crafty's xboard protocol layer for communication:
Since recent >19.x crafty, there is something strange going on with
display nogeneral. Another bug which appears sometimes is that
crafty (in its own mode of displaying stuff) echos the oponent
move (our move) which raises an error (obviously).
xboard mode is really a lot easier to parse, and I even managed
to keep the 'evaluate event without any problems.