fix byte-order problem in GameInfo and change decline reason to one byte

fix missing byte-order conversion in ntoh_move() and change protocol byte order to little-endian

start fixing the network protocol

simplify how the elapsed move time is recorded

fix that client is not sending netcode version back on version mismatch

implement draw due to insufficient material

add create_pgn() function and use it in test-real-pgn

fix FEN being off by one

split DECLINE message into DECLINE and DECLINE_MOVE

allow continuing resigned or (actively) drawn games

add info text in game review for threefold repetition

implement first naive draw by threefold repetition

withdraw requirement that PGN parser should work on uninitialized state

add expected game result to test-real-pgn suite

implements stalemate detection + fixes missing const qualifier in new *_moves[_allowed] API

add functions to list the possible moves for each piece

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

(0) -100 -50 -30 +30 tip

mercurial