fix bug when parsing checkmate indicator

major refactoring of rules API

add dependency on fen.h for rules.c

convert some macros to static inline functions

refactor rules.h / rules.c

add another game to test stalemate detection

gamestate_cleanup() is now safe to be called multiple times

add FEN history to the game state

fix: wrong error code when king moves into check and missing auto-disambiguation when one of the candidate pieces is pinned

fix: disambiguation by row while capturing was not implemented

rename INVALID_POSITION to PIECE_NOT_FOUND

fix wrong error message when move indices are invalid

fix incorrect move notation when disambiguating moves

fix that en passant captures do not work

fix regression: position reporting about PGN errors

add 150 example games to test PGN parser

add test directory and make target for tests

make eval_move() and check_move() not change their input string

fix fucked up indentation

add sanity check for result in PGN move text

fix that checkmate notation did not set the check flag in the move

improve implementation of read_pgn() and parse_pgn()

fix implementation of parse_pgn()

fix memory leaks in server_run() when starting the game is aborted

(0) -100 -50 -24 tip

mercurial