Improve virginity test for engine-defined pieces
authorH.G.Muller <hgm@hgm-xboard.(none)>
Wed, 24 Sep 2014 15:02:37 +0000 (17:02 +0200)
committerH.G.Muller <hgm@hgm-xboard.(none)>
Sun, 28 Sep 2014 20:14:28 +0000 (22:14 +0200)
commit211b194243de81ed013566a30ef754018586c4e1
treeb4d6d47fb5f12404f104522a76bb1d1d5e8ad5b6
parentc5f9e4b9c745527e59d5b192d62f68b6db5fdf00
Improve virginity test for engine-defined pieces

Two squares in the board are now reserved for flags that indicate
whether back-rank pieces have been touched. This allows MovesFromString()
to accurately test virginity of these pieces, rather than having to assume
it when the piece matches that in the opening position. For other ranks
the latter test is still used, as these are normally (irreversible) Pawns,
which cannot return there (and in drop games, when they would, would again
be considered virgin enough for the purpose of double-pushing!).
backend.c
common.h
moves.c