Fix Chess960 regression
authorMarco Costalba <mcostalba@gmail.com>
Sun, 2 Jan 2011 23:35:05 +0000 (00:35 +0100)
committerMarco Costalba <mcostalba@gmail.com>
Sun, 2 Jan 2011 23:41:39 +0000 (00:41 +0100)
commit22ede4442cd285d7365b9497c3be65fb2c66b4be
treedd1926d125eae01dfd80a5a4c5ddde13c8d30fcd
parentdeee18c758ce8a52a2dfa9bff1fdea01c6e79a59
Fix Chess960 regression

Introduced by me in before 1.9 and found by Tord that says:

The 'isChess960' slot in the 'Position' class is currently
set depending on the initial files of the rooks, and not on the value
of the UCI_Chess960 parameter. This is incorrect, as there are lots of
Chess960 positions where the rooks start on the usual files. As a
consequence (unless I am missing something), Stockfish will occasionally
output castling moves as e1g1/e1c1 rather than the correct e1h1/e1a1 format
in Chess960 games. It is possible that some or even most GUIs are robust
enough to accept both notations, but I wouldn't bet on it. And in any case,
Stockfish's behavior clearly violates the protocol.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
src/position.cpp
src/position.h
src/search.cpp