make all should really build all (including the tests)

add (empty) test suites for all pieces

fix missing test adaptation for pgn_result

merge #958 and #984

replace unnecessary printw() calls with addstr() or addch()

improve error reporting in PGN parser - resolves #958

try different include order to hopefully avoid problems with curses wanting to define bool

prioritize cursesw over ncursesw on BSD because of color problems

fix that error message about non-colored terminals was printed before ending the curses session

add -lsocket on Solaris

try to fix the use of ncurses extensions in colors.h

fix incompatible curses include in colors.c

fix getmaxy() not being available in POSIX curses

add support for long notation with hyphen - resolves #894

fix asyncgetnstr() not being compatible with POSIX curses

fix label before declaration

try to fix errors from outdated curses.h (e.g., older Solaris)

add option to select a specific curses implementation

fix missing include in network.c (was implicit on most Linux systems)

flip File and Rank parameters into correct order

rename Row to Rank

increase type safety + add backwards compatibility including C99

fix how agreeing on a draw works

complete documentation of the network protocol

remove unnecessary fen.h include in main.c

rework network message codes + add NETCODE_ACCEPT_MOVE

change how a game is ended in multiplayer

add test data for games that are one move away from completion

fix regression in network play: we have to transmit capture/check(mate) flags

fix wrong error code when chess rules are violated

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

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

add parse_pgn function which can later be used for automated testing

fix checkmate detection

fix missing cleanup calls in game_play_singlemachine()

fix memory leak when simulating real threats

start fixing issue #895

fixes #893 - pawn could not promote

fixes #891 - wrong move number in FEN

simplify FEN generation and add current_color() function to rules

extracts FEN code into a separate compilation unit

prepare netcode for claiming threefold repetition

implement optional delay - resolves #820

simplify code structure

do not consider empty move strings an invalid move - just ask again

ask for player names during PGN export

fix wrong game state when the waiting player resigns

fix non-POSIX syntax in update-rules.sh

remove unused includes

fix memory leak when playing a game over domain socket as a client

implement interactive game review

fix critical OOM bug in PGN export

add remaining missing STR tags to PGN exports

add build option to enable ASan

prettier line breaking in exported PGNs

add prompt whether PGN should be exported with comments

add message when a pre-move failed

relax validation of premoves to allow retaking pieces

implement "taunt" command for the waiting player

allow the waiting player to perform actions while waiting

add support for DEL key and the macOS way of deleting chars

use terminal default colors

correctly use unicode chars for white pieces

update uwproj

fix build for linkers that expect libs to come last

fix that PGN (with comments) can exceed 80 chars

add elapsed move time commands to PGN exports

fix that hours in clock should not have leading zeros

fix that the clock is not redrawn when receiving TIMEOVER command

fix missing support for 0+X time control

change return type of write_pgn to void

add clock times to PGN output

add API for formatting clocks

add API for calculating the clock for a specific move + fixes wrong handling of move time and increment in move 1

change move list from linked list to array (prepares game replays)

fix outdated hint on how to analyze a completed game

fix wrong way of granting permissions

fix missing domain socket permissions for other players

(0) -120 tip

mercurial