From ae0a8f3a9760c0aa0bd099736bba1eb135a94310 Mon Sep 17 00:00:00 2001 From: Fabian Fichter Date: Thu, 14 Nov 2019 11:47:47 +0100 Subject: [PATCH] Support debug commands also in XBoard protocol Commands `d` and `eval` can now also be used in xboard protocol (#47). --- src/position.cpp | 2 +- src/xboard.cpp | 5 +++++ 2 files changed, 6 insertions(+), 1 deletions(-) diff --git a/src/position.cpp b/src/position.cpp index 5dd265d..015d81b 100644 --- a/src/position.cpp +++ b/src/position.cpp @@ -2017,7 +2017,7 @@ void Position::flip() { string f, token; std::stringstream ss(fen()); - for (Rank r = RANK_MAX; r >= RANK_1; --r) // Piece placement + for (Rank r = max_rank(); r >= RANK_1; --r) // Piece placement { std::getline(ss, token, r > RANK_1 ? '/' : ' '); f.insert(0, token + (f.empty() ? " " : "/")); diff --git a/src/xboard.cpp b/src/xboard.cpp index b8c88f7..a7c0769 100644 --- a/src/xboard.cpp +++ b/src/xboard.cpp @@ -19,6 +19,7 @@ #include #include +#include "evaluate.h" #include "search.h" #include "thread.h" #include "types.h" @@ -223,6 +224,10 @@ void StateMachine::process_command(Position& pos, std::string token, std::istrin is >> perft_limits.perft; go(pos, perft_limits, states); } + else if (token == "d") + sync_cout << pos << sync_endl; + else if (token == "eval") + sync_cout << Eval::trace(pos) << sync_endl; // Move strings and unknown commands else { -- 1.7.0.4