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

(0) -32 +32 tip

mercurial