Skip to content

2.4.0

Choose a tag to compare

@primetime43 primetime43 released this 15 May 06:47
· 23 commits to main since this release
2283ad8

2.4.0

New Features

Gardening

  • Configurable watering: planting now reads a water count from the UI (and per-action overrides in batches). Set to 0 to skip auto-watering entirely. (#87)
  • Non-modal plant status label replaces intrusive popups — progress, success, cancel, and errors display inline with colored text and timestamps. An audible cue plays on completion instead of a message box.
  • Gardening overlay moved to the bottom-right of the screen. New CloseOverlay lifecycle properly disposes the overlay between sessions while HideOverlay continues to preserve state mid-session.

Doodle Training

  • New "Cycles" UI: set how many times to run the trick rotation before stopping.

Dev Tools

  • New Reset State button in the Debug group: clears manual coordinates and the image-recognition cache in one click. Useful for users with stale state from prior builds.

Bug Fixes

  • Golf "-2" courses misidentified as their base course (#86): MatchCourseName was iterating CourseNameToFile in insertion order and using substring containment, so OCR text for "Whole in Won-2" matched "Whole in Won" first and ran the wrong action file. 17 courses with both base and "-2" variants were affected. Candidates are now iterated by descending key length so the more specific name wins; the same fix applies to the fuzzy-match fallback.
  • Stale coordinates after recapture/recalibrate: a regression from #80 caused GetElementLocationAsync to short-circuit on cached centers without re-verifying, so capturing a new template variant or updating manual coordinates had no effect — the bot kept clicking the old location (most visible on fishing's RedFishingButton, resolved every cast). Cache is now invalidated when templates are saved or manual coordinates actually change, and Reset All clears it too.

    One-time fix for existing fishing issues: use the Dev tab → Reset State to clear the stale cached center. Subsequent recaptures will auto-clear the cache, so this won't recur.

  • Misleading coordinate-source logs: CoordinatesManager labelled every successful resolve as [source=ImageRec] even when the value came from cache, sending stale-cache bug investigations down the wrong path. Added a UIElementSource enum (Cache/ImageRec/Manual/None) and a GetElementLocationWithSourceAsync overload that returns where the value actually came from.

Internal

  • New UIElementSource enum and GetElementLocationWithSourceAsync overload (additive — existing GetElementLocationAsync callers unchanged).
  • Updated cached coordinates for several gardening templates (Remove Plant, Scratch Doodle, jellybean/plant buttons) from recent captures.

Full Changelog: 2.3.1...2.4.0