Commit Graph
4 Commits
Author SHA1 Message Date
yusufipk b9695d39de Show how many cards are in my hand
The opponent row has had "hand N deck N" from the start, my own row only had
the remaining deck count. The hand count now sits to its left, in the same
order and the same dim colour, so both rows read the same way. Both numbers
got a tooltip: on a narrow panel "hand 5  21" needs one.

The refresh signature was missing my hand count, so a card leaving my hand
without a draw did not repaint the panel on its own.
2026-07-28 00:09:49 +07:00
yusufipk fa45c19d3b Match history and win rate
Every finished match goes into a small sqlite database: mode, deck, both
classes, result, turn count and who started. The result tag arrives in the
last turn of the match, so the record is written then, not when the game
object is closed (that only happens once the next match starts). The unique
key is the session directory plus the match start time, so importing old
session logs into the same database can be repeated without duplicates.

The new window (from the menu) shows the totals, the win rate by deck and by
opponent class, and the recent matches. Classes are drawn as hero portraits
cut from the card render, with the class colour as a placeholder until the
image is downloaded. Every table sorts by any column: the sort key is hidden
data, not the visible text, so dates, turn counts and results sort correctly,
and numeric columns start descending.

tools/import_history.py backfills the database from the session logs already
on disk, tests/test_history.py covers the date handling, the idempotency and
the win rate maths.
2026-07-28 00:04:24 +07:00
yusufipk 4e67b34977 readme: add a screenshot (webp, opponent name blurred) 2026-07-27 22:36:29 +07:00
yusufipk c2a5a2d4d2 Hearthstone deck tracker for Linux, first public version
Reads the game's own Power.log: no screen capture, no image
recognition, no memory reading.

- deck tracking (remaining cards, draw chance, played cards fade in place)
- opponent panel (revealed cards, hand and deck counts)
- decks read from the game's offline cache, matched to the match
- card art in rows, full card on hover
- overlay and window modes, adjustable transparency, tray icon
- English and Turkish interface
- consistency tests over a real log corpus, cross-checked against Zone.log
2026-07-27 22:31:13 +07:00