From ab035c5da2d0dee7a2bdbb121045b9b1e97ffa13 Mon Sep 17 00:00:00 2001 From: pommicket Date: Thu, 21 Aug 2025 12:01:39 -0400 Subject: Show PEG outcomes on hover --- quacker/macondobackend.cpp | 5 +++++ quacker/movebox.cpp | 7 ++++++- 2 files changed, 11 insertions(+), 1 deletion(-) (limited to 'quacker') diff --git a/quacker/macondobackend.cpp b/quacker/macondobackend.cpp index e30c65a..052aa68 100644 --- a/quacker/macondobackend.cpp +++ b/quacker/macondobackend.cpp @@ -359,6 +359,7 @@ static Quackle::Move extractPreEndgameMove(const string &moveStr) { move.equity = parseEquity(words[2]); else move.equity = -999 + 0.01 * move.win; // ensure moves are still sorted by win% + move.outcomes = outcomes; return move; } @@ -428,6 +429,10 @@ void MacondoBackend::timer() { emit statusMessage("Finished solving pre-endgame."); Quackle::MoveList moves = extractPreEndgameMoves(m_processOutput); if (!moves.empty()) { + Quackle::GamePosition &position = m_game->currentPosition(); + for (Quackle::Move &move: moves) { + position.scoreMove(move); + } // at this point the GCG is definitely fully loaded removeTempGCG(); emit gotMoves(moves); diff --git a/quacker/movebox.cpp b/quacker/movebox.cpp index ae6c2f5..9370fdb 100644 --- a/quacker/movebox.cpp +++ b/quacker/movebox.cpp @@ -262,7 +262,12 @@ QTreeWidgetItem *MoveBox::createItem(const Quackle::Move &move) item->setText(LeaveColumn, QuackleIO::Util::letterStringToQString(QuackleIO::Util::arrangeLettersForUser(m_rack - move))); item->setText(WinPercentageColumn, formatWinPercentage(move.win)); item->setText(EquityColumn, formatValuation(move.equity)); - + if (!move.outcomes.empty()) { + // show Macondo pre-endgame outcomes when item is hovered over + for (int column = 0; column < m_treeWidget->columnCount(); column++) { + item->setToolTip(column, QString::fromStdString(move.outcomes)); + } + } return item; } -- cgit v1.2.3