mirror of
https://github.com/peterosterlund2/droidfish.git
synced 2025-12-13 01:22:41 +01:00
DroidFish: Don't try to perform syzygy probes for illegal positions.
This commit is contained in:
@@ -20,11 +20,13 @@ package org.petero.droidfish.tb;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import org.petero.droidfish.gamelogic.ChessParseError;
|
||||
import org.petero.droidfish.gamelogic.Move;
|
||||
import org.petero.droidfish.gamelogic.MoveGen;
|
||||
import org.petero.droidfish.gamelogic.Pair;
|
||||
import org.petero.droidfish.gamelogic.Piece;
|
||||
import org.petero.droidfish.gamelogic.Position;
|
||||
import org.petero.droidfish.gamelogic.TextIO;
|
||||
import org.petero.droidfish.gamelogic.UndoInfo;
|
||||
|
||||
/** Interface between Position class and GTB/RTB probing code. */
|
||||
@@ -217,6 +219,13 @@ public class Probe {
|
||||
if (pos.nPieces() > 6)
|
||||
return new ProbeResult(ProbeResult.Type.NONE, 0, 0);
|
||||
|
||||
// Make sure position is valid. Required by native move generation code.
|
||||
try {
|
||||
TextIO.readFEN(TextIO.toFEN(pos));
|
||||
} catch (ChessParseError ex) {
|
||||
return new ProbeResult(ProbeResult.Type.NONE, 0, 0);
|
||||
}
|
||||
|
||||
rtb.initIfNeeded();
|
||||
|
||||
byte[] squares = new byte[64];
|
||||
|
||||
Reference in New Issue
Block a user