fixes castling not printed correctly to PGN

move log has now three columns and starts scrolling after 45 moves

fixes move validation working on old king's position, when the king moves

fixes wrong macro expansion for is_attacked()

adds error messages to PGN reader

fixes inappropriate use of EXIT_ macros + adds a sample PGN file

simplifies Makefiles

using pkg-config in hand crafted make file

fixed hypthetical bug, where the client address is not correctly retrieved by accept()

updated copyright and version info

implemented FEN

fixed new network games starting with BLACK

added program version

added support for game continuation over network + fixed major bug in checkmate anticipation when the king is attacked diagonally

added pgn parser and writer (without comment support yet) + minor refactorings

logging string representation of moves in short algebraic notation

added return code to move validation (for more informative messages) + fixed a bug where simulations added movelist items to the original gamestate

refactoring of getlocation mechanism for better short algebraic notation support (does now respect pinned pieces) + fixed a bug where a pawn could advance through a piece (e.g. e2e4 could jump over a piece on e3)

netcode is now aware of connection losses

removed nonblocking sockets for causing problems and not being necessary

surrender is now resign

changed netcode numbers

fixed bug where an invalid network response lead to an accepted move

faced struct alignment problems

fixed Move struct size inconsistancy across plattforms

mvwasyncgetnstr now echos EOL

fixed memory underflow bug in mvwasyncgetnstr

minor improvements by using macros

reduced awesome great nanosecond precision so we can compile on OS X

tried to improve colors

added nonblocking read for network games + minor build system fixes

implemented time control

improved async input + improved build system + added time values to move struct

fixed some type bugs, uninitialized memory and async input function

experimental async input for single machine mode

fixed checkmate and completed implementation (more testing is still advised)

NEED TESTING: implemented check and checkmate - TODO: avoid checkmate by moving another piece in between

moved checkmate and stalemate flags to gamestate

introduced single machine mode

implemented king

implemented queen

introduced game state structure

improved network performance

implemented rook + some fixes

added optional alternate config for chess lib

moved chess rules to separate lib

fixed bishop + added pawn promotion + added move log

implemented bishop rules

introduced status codes for get_location to produce detailed error messages + added knight rules

completed pawn rules + bug fixes for 4-char-moves

fixed crucial bug where both players could move at the same time + added pawn rules (TODO: en passant)

completed eval_move

interface for retrieving locations when using short algebraic notation

added network messages for check and checkmate

prepared code base for implementing rules

implemented castling (without validation)

implemented simple pawn movement

implemented chess board and remis/surrender messages

structured code

separated server and client module

exit hook

changed UI to ncurses session + added network handshake

fixed network code + added game info and transmission of game info

added (single) client / server architecture

(0) tip

mercurial