summaryrefslogtreecommitdiff
path: root/TODO
diff options
context:
space:
mode:
Diffstat (limited to 'TODO')
-rw-r--r--TODO46
1 files changed, 43 insertions, 3 deletions
diff --git a/TODO b/TODO
index 305c782..eee4553 100644
--- a/TODO
+++ b/TODO
@@ -6,22 +6,62 @@
bughouse/crazyhouse
analysis/highlight tools
database interaction (chess-file.el, chess-scid.el)
- full ICS interaction
----------------------------------------------------------------------
+- modify displays and engines so they ONLY keep game objects; thus
+ set-start-position now is just set-position
+
+- distinguish between chess-display-set-game and
+ chess-display-set-game*. The latter detaches and sets a new game
+ object. The former just overwrites the current game object.
+
- detect draw/resign/abort/retract, etc., from ICS and common engines
- Why doesn't S-b produce [B] in the keyboard shortcutting?
-- chess-sound announcements are broken
-
- the game should go inactive once I lose by stalemate/checkmate
+- there needs to be much more robustness; it's too easy to get the
+ game into an unplayable state right now
+
+- for network transports, if an illegal move is encountered, report
+ this with "illegal move: REASON"
+
+- incorporate any .wav files from xchat's sounds that chess-sound
+ currently doesn't have
+
+- in chess-engine-filter and chess-ics-filter, if an error is
+ encountered, skip that line so the same error isn't triggered again
+
+- in chess-ply-create signal an error on invalid plies describing why
+
+- require `cl' into chess-ply, or break my dependency on cl
+
+- until Fischer Random castling is fully supported, disable castling
+ in the positions generated by chess-random
+
+- test making an en passant capture
+
+- if I parse disambiguating information from chess-algebraic, store
+ this in the ply. Then, in ply-to-algebraic it won't need to be
+ calculated. Also, I can then easily announce it in chess-announce
+
- when announcing abiguous pieces, name the rank/file ("e pawn")
+- in chess-ics use a server-alist, and make the default handle be
+ "guest". Allow a password to be specified, or a filename containing
+ the password
+
+ (HOST [PORT HANDLE PASSWORD HELPER HELPER-ARGS...])
+
+- restrict keyboard shorcutting so that it only looks if the move is
+ related to the given letter
+
----------------------------------------------------------------------
+- Use more asserts throughout the code
+
- Read-only mode needs to be a bit more vigorous. There's nothing
preventing the user from using M-x commands.