aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/game_tab/editor/LiveEngineDialog.cpp28
1 files changed, 24 insertions, 4 deletions
diff --git a/src/game_tab/editor/LiveEngineDialog.cpp b/src/game_tab/editor/LiveEngineDialog.cpp
index f33fcf7..07fd782 100644
--- a/src/game_tab/editor/LiveEngineDialog.cpp
+++ b/src/game_tab/editor/LiveEngineDialog.cpp
@@ -4,7 +4,8 @@ LiveEngineDialog::LiveEngineDialog(wxWindow *parent, std::string engine_name)
: LiveEngineDialogFB(parent), engine_name(engine_name), interval(1000),
engine(NULL) {
lines_list->InsertColumn(0, "#", wxLIST_FORMAT_LEFT, 50);
- lines_list->InsertColumn(1, "Moves", wxLIST_FORMAT_LEFT, 300);
+ lines_list->InsertColumn(1, "CP", wxLIST_FORMAT_LEFT, 70);
+ lines_list->InsertColumn(2, "Line", wxLIST_FORMAT_LEFT, 300);
current_engine->SetLabel(engine_name);
InitEngine();
Bind(wxEVT_BUTTON, &LiveEngineDialog::TogglePauseEngine, this,
@@ -18,6 +19,20 @@ void LiveEngineDialog::InitEngine() {
engine = new uciadapter::UCI(
conf->Read("engines/" + engine_name + "/path").ToStdString());
engine->ucinewgame();
+
+ long index;
+ std::string optsPath = "engines/" + engine_name + "/options";
+ conf->SetPath(optsPath);
+ wxString opt_name;
+ if (conf->GetFirstGroup(opt_name, index)) {
+ do {
+ wxString optPath = opt_name + "/";
+ wxString default_value_wxString = conf->Read(optPath + "value");
+ std::string default_value = default_value_wxString.ToStdString();
+ engine->setoption(opt_name.ToStdString(),default_value);
+ } while (conf->GetNextGroup(opt_name, index));
+ }
+
CONFIG_CLOSE(conf);
}
timer.Start(interval);
@@ -49,10 +64,15 @@ void LiveEngineDialog::OnTimerTick(wxTimerEvent &event) {
for (auto const &line : engine->GetLines()) {
long index = lines_list->InsertItem(0, std::to_string(line.first));
std::string line_moves;
- for(std::string move:line.second.pv){
- line_moves+=move + " ";
+ for (std::string move : line.second.pv) {
+ line_moves += move + " ";
+ }
+ std::string cp_str = std::to_string(line.second.score_cp);
+ if (line.second.score_cp > 0) {
+ cp_str = "+" + cp_str;
}
- lines_list->SetItem(index, 1, line_moves);
+ lines_list->SetItem(index, 1, cp_str);
+ lines_list->SetItem(index, 2, line_moves);
}
wxLogDebug("%s", engine->GetBuffer());
} \ No newline at end of file