aboutsummaryrefslogtreecommitdiff
path: root/src/game_tab/left_panel/GameTabLeftPanel.cpp
diff options
context:
space:
mode:
authorLoic Guegan <manzerbredes@mailbox.org>2023-01-11 10:46:14 +0100
committerLoic Guegan <manzerbredes@mailbox.org>2023-01-11 10:46:14 +0100
commit9091232b609de875894379b3903b555c0a53957e (patch)
tree56b5b0f9296153ffe31bb73c7dd948395b0735a8 /src/game_tab/left_panel/GameTabLeftPanel.cpp
parent5fac6bf7af2767e9e8ec57a4ceb9c504f5d8d27f (diff)
Add engine evaluation bar
Diffstat (limited to 'src/game_tab/left_panel/GameTabLeftPanel.cpp')
-rw-r--r--src/game_tab/left_panel/GameTabLeftPanel.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/game_tab/left_panel/GameTabLeftPanel.cpp b/src/game_tab/left_panel/GameTabLeftPanel.cpp
index cfe0de8..5a1ae44 100644
--- a/src/game_tab/left_panel/GameTabLeftPanel.cpp
+++ b/src/game_tab/left_panel/GameTabLeftPanel.cpp
@@ -60,6 +60,7 @@ GameTabLeftPanel::GameTabLeftPanel(wxFrame *parent, std::shared_ptr<Game> game)
}
void GameTabLeftPanel::OnPlay(wxCommandEvent &event) {
+ engine_arrows.clear(); // Remove displayed engine arrows
std::string move=event.GetString().ToStdString();
int size=move.size();
char promote=(char)event.GetInt();
@@ -84,17 +85,18 @@ void GameTabLeftPanel::OnPlay(wxCommandEvent &event) {
Notify(true); // Redraw event is move failed! Otherwise piece not resets to it initial position after dragging
}
-void GameTabLeftPanel::SetEngineArrows(std::vector<std::string> arrows){
+void GameTabLeftPanel::SetEngineEvaluation(EngineEvaluation eval){
engine_arrows.clear();
float scale=1;
unsigned char color=0;
- for(auto const &arrow:arrows){
+ for(auto const &arrow: eval.best_lines){
std::string src=arrow.substr(0,2);
std::string dst=arrow.substr(2,2);
engine_arrows.push_back({src,dst,wxColour(color,color,color),scale});
scale=std::max(0.1,scale-0.25);
color=std::min(255,color+70);
}
+ eval_cp=eval.eval;
Notify(true);
}
@@ -136,6 +138,8 @@ void GameTabLeftPanel::Notify(bool skip_animation) {
gs.mat_white=game->IsCheckmate(false);
gs.arrows=engine_arrows;
gs.promotion=promote_on;
+ gs.show_evalbar=engine_arrows.size()>0;
+ gs.eval=eval_cp/100;
if(m){
// There should be a valid src_hl or dst_hl ortherwise it explode:
std::string src_hl, dst_hl;