From: Fabian Fichter Date: Thu, 14 Nov 2019 10:47:47 +0000 (+0100) Subject: Support debug commands also in XBoard protocol X-Git-Url: http://winboard.nl/cgi-bin?a=commitdiff_plain;h=ae0a8f3a9760c0aa0bd099736bba1eb135a94310;p=fairystockfish.git Support debug commands also in XBoard protocol Commands `d` and `eval` can now also be used in xboard protocol (#47). --- 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 {