ifstream::open(fName, ifstream::in | ifstream::binary | ios::ate);
if (!is_open())
+ {
+ clear();
return false; // Silently fail if the file is not found
+ }
// Get the book size in number of entries, we are already at the end of file
size = (size_t)tellg() / sizeof(BookEntry);
// the special Move's flags (bit 14-15) that are not supported by PolyGlot.
int pt = (move >> 12) & 7;
if (pt)
- move = make_promotion(from_sq(move), to_sq(move), PieceType(pt + 1));
+ move = make<PROMOTION>(from_sq(move), to_sq(move), PieceType(pt + 1));
// Add 'special move' flags and verify it is legal
- for (MoveList<MV_LEGAL> ml(pos); !ml.end(); ++ml)
+ for (MoveList<LEGAL> ml(pos); !ml.end(); ++ml)
if (move == (ml.move() & 0x3FFF))
return ml.move();