diff --git a/src/main/java/featurecat/lizzie/analysis/Leelaz.java b/src/main/java/featurecat/lizzie/analysis/Leelaz.java index fd69e6c49..13db90bbf 100644 --- a/src/main/java/featurecat/lizzie/analysis/Leelaz.java +++ b/src/main/java/featurecat/lizzie/analysis/Leelaz.java @@ -60,6 +60,8 @@ public class Leelaz { private boolean isLoaded = false; private boolean isCheckingVersion; + //komi + private String komi, oppKomi; /** * Initializes the leelaz process and starts reading output * @@ -180,7 +182,15 @@ private void parseInfo(String line) { */ private void parseLine(String line) { synchronized (this) { - if (line.equals("\n")) { + if (line.startsWith("komi")) + { + komi = line.trim(); + } + else if (line.startsWith("opp_komi")) + { + oppKomi = line.trim(); + } + else if (line.equals("\n")) { // End of response } else if (line.startsWith("info")) { isLoaded = true; @@ -425,6 +435,13 @@ public List getBestMoves() { } } + public String getKomi() { + if (komi != null && oppKomi != null) { + return komi.substring(5,9) + " / " + oppKomi.substring(5+4, 9+4); + } + return null; + } + public boolean isPondering() { return isPondering; } diff --git a/src/main/java/featurecat/lizzie/gui/LizzieFrame.java b/src/main/java/featurecat/lizzie/gui/LizzieFrame.java index 37cd07366..aa57cf2c0 100644 --- a/src/main/java/featurecat/lizzie/gui/LizzieFrame.java +++ b/src/main/java/featurecat/lizzie/gui/LizzieFrame.java @@ -322,6 +322,12 @@ public void paint(Graphics g0) { int ponderingY = boardY + (int) (maxSize*0.93); double ponderingSize = .02; + // komi + int komiX = this.getInsets().left; + int komiY = boardY + (int) (maxSize*0.86); + double komiSize = .02; + + // loading message int loadingX = ponderingX; int loadingY = ponderingY; @@ -390,6 +396,10 @@ public void paint(Graphics g0) { ponderingX, ponderingY, ponderingSize); } + if (Lizzie.leelaz.getKomi() != null) { + drawPonderingState(g, Lizzie.leelaz.getKomi(), komiX, komiY, komiSize); + } + // Todo: Make board move over when there is no space beside the board if (Lizzie.config.showWinrate) { drawWinrateGraphContainer(backgroundG, contx, conty, contw, conth);