diff options
Diffstat (limited to 'src/game_tab/editor/LiveEngineDialog.cpp')
| -rw-r--r-- | src/game_tab/editor/LiveEngineDialog.cpp | 35 |
1 files changed, 28 insertions, 7 deletions
diff --git a/src/game_tab/editor/LiveEngineDialog.cpp b/src/game_tab/editor/LiveEngineDialog.cpp index 0fc85b0..4f745b4 100644 --- a/src/game_tab/editor/LiveEngineDialog.cpp +++ b/src/game_tab/editor/LiveEngineDialog.cpp @@ -31,6 +31,11 @@ void LiveEngineDialog::InitEngine() { wxString default_value_wxString = conf->Read(optPath + "value"); std::string default_value = default_value_wxString.ToStdString(); engine->setoption(opt_name.ToStdString(), default_value); + if (opt_name.Lower() == "multipv") { + multipv->SetLabel(default_value_wxString); + } else if (opt_name.Lower() == "threads") { + threads->SetLabel(default_value_wxString); + } } while (conf->GetNextGroup(opt_name, index)); } @@ -52,20 +57,36 @@ void LiveEngineDialog::OnClose(wxCloseEvent &e) { } void LiveEngineDialog::SetFEN(std::string fen) { - timer.Stop(); + StopEngine(); engine->position(fen); - uciadapter::Go args; - engine->go(args); - timer.Start(interval); + StartEngine(); } void LiveEngineDialog::TogglePauseEngine(wxCommandEvent &event) { if (timer.IsRunning()) { - timer.Stop(); - engine_pause_button->SetLabel("Continue"); + StopEngine(); + engine_stop_button->SetLabel("Restart"); + depth->Enable(true); } else { + engine_stop_button->SetLabel("Stop"); + depth->Enable(false); + StartEngine(); + } +} + +void LiveEngineDialog::StopEngine() { + if (timer.IsRunning()) { + timer.Stop(); + } + engine->stop(); +}; + +void LiveEngineDialog::StartEngine() { + uciadapter::Go args; + args.depth = depth->GetValue(); + engine->go(args); + if (!timer.IsRunning()) { timer.Start(interval); - engine_pause_button->SetLabel("Pause"); } } |
