18.4 recapture extension was left in SearchSMP() erroneously. this
has now been protected by a #ifdef just like it was in Search().
bug in RepetitionCheck() was causing problems in SMP versions.
The entire repetition list code was modified to clean this up.
the problem was most noticable on things like fine #70. bug in
LearnImportBook() confused the learn value sign, due to the other
changes to make +=white all the time. opposite bishop scoring
has been beefed up a bit to avoid these drawish endings.
The main feature is that it fixes the winboard hang problem when crafty plays
black on a chess server. It also has much more aggressive book learning (code
has been significantly changed). A minor bug was fixed in analyze mode that
would break the "h" command when black was on move, and show one less move for
either side that had actually been played in the game. Another fixed bug
reversed the sign of a score whispered in analysis mode.
Pkgsrc changes include fixing the build target on Solaris (untested).
main source tree, so no more pkgsrc patches. Changes from version 17.13:
another endgame evaluation problem fixed. the outside passed
pawn code worked well, up until the point the pawn had to be
given up to decoy the other side's king away from the remainder
of the pawns. Crafty now understands the king being closer to
the pawns than the enemy king, and therefore transitions from
outside passer to won king-pawn ending much cleaner.
new command "selective" as requested by S. Lim, which allows the
user to set the min/max null move R values (default=2/3). they
can be set to 0 which disables null-move totally, or they can be
set larger than the default for testing.
minor changes to init.c sent by Eugene Nalimov to handle 64 bit
pointer declarations for win64 executable compilation.
NetBSD changes included along with a new Makefile that requires
no editing to use for any known configuration ("make help" will
explain how to use it). this was submitted by Johnny Lam.
serious changes to the outside passed pawn code. the evaluator
now understands that outside passers on _both_ sides of the
board is basically winning. same goes for candidate passers.