XBoard: split printing of the features line for clarity.
[gnushogi.git] / TODO
diff --git a/TODO b/TODO
index 12b25b5..a3f60ea 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,28 +1,48 @@
+Known bugs:
+
+- some positions show problem in the evaluation algorithm
+- minishogi repetition rule, different from standard shogi, is
+  not implemented
+- with no piece on board, computer generates invalid move
+
+Target for v1.5:
+
+- use ~/.gnushogi for binary book and hash file
+
+- make minishogi a run-time option rather than a compile-time one,
+  using the "variant" mechanism of the xboard protocol
+
 Generic cleanups
 
+- switch cli parsing to getopt
+- hunt for extern's and prototypes spread all over the source
 - hunt for more hardcoded variant-specific constants
   - position of captured pieces in curses mode
   - compile with bound-checker
 - add autosave mode to ease hunt for segfaults ?
-- generate patterns.inc at build-time
-- use 2D array for the board, get rid of the (i)nunmap stuff
+- ? use 2D array for the board, get rid of the (i)nunmap stuff
 - fixup build procedure to support parallel make runs
 - investigate those preexisting "overflow in implicit constant
   conversion" warnings
 
 Minishogi-related stuff
 
-- make minishogi a run-time option rather than a compile-time one
 - minishogi patterns
 - tune difficulty levels
 - other tunings to investigate
+  * eval.c has lots of heuristic code specific to standard shogi that
+    probably should not been used
   * PromotionZoneDistanceBonus
   * OPENING_HINT
 - add minishogi stuff to the doc
 - use valid minishogi moves in online help
 
-- segfault (on level 1) following 2e1d 1d4a
-       => field.piece can reach 14 in pattern.c::update_advance_bonus
-          => probably related to using patterns for standard shogi
-          => must break the circular pattern.o <-> pattern.inc dep to
-               be able to generated pattern.inc as needed
+Improvements
+
+- find out why the engine is so weak
+  - make it battle against Mutz-era gnushogi, and other engines, and
+    compare their evaluation results
+  - see what needs updating in book
+- express available commands as display-dependant, instead of using if(XSHOGI)
+  - make "help" list commands available for current display
+- make X and raw two different display drivers