fix unnecessary disambiguation + simplify get_real_threats() code

fix regression: pieces could not threaten fields when pinned

fix regression: pawns cannot block check threats

fix regression: missing promotion when simulating threats

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

(0) -100 -15 +15 tip

mercurial