Allow e.p. capture on triple-Push
authorH.G.Muller <hgm@hgm-xboard.(none)>
Sun, 2 Nov 2014 10:29:31 +0000 (11:29 +0100)
committerH.G.Muller <hgm@hgm-xboard.(none)>
Thu, 7 May 2015 18:53:31 +0000 (20:53 +0200)
commit00f49d137feed871220bb1ed4193f86704d20dbf
tree67f67dae5036b05072d6031e3e6ca655b20a3174
parent7dd2dda538db6438283c4a92c24080b0bb122230
Allow e.p. capture on triple-Push

Some variants (like Omega Chess) have an initial triple-Push on Pawns,
wich can then e.p.-captured on both of the squares they skip. To allow
the Betza move generator to supply such e.p. captures, a bit flag is
kludged into the EP_RANK state indicator on triple pushes, while the
main value there is that of the rank directly behind the pushed Pawn.
The Betza generator then also matches the square behind it with the
e.p.-capture to-square when the falg is set.
 ApplyMove() also had to be adapted, to remove the Pawn two squares
behind the capturing one, rather than straight behind it, when this
flag is set.
backend.c
moves.c