Skip to content

Releases: wavedropmaps/BetterAngle

BetterAngle Pro v7.0.1

Choose a tag to compare

@github-actions github-actions released this 24 Sep 05:34

BetterAngle Pro v7.0.1

First full release of the 7.x line (v7.0.0 went out as a pre-release by mistake; this is the same build). v6.0.5 and v6.0.6 were never released, so this includes everything below.

  • Fix: Release build. CI now builds with Ninja and a small compatibility shim so Qt 6.5 builds with the runner's Visual Studio 2026. A version set by hand in VERSION is now released as-is.
  • Fix: Updates pointed at the old wavedropmaps-org repo. The updater, installer and README now use github.com/wavedropmaps/BetterAngle.
  • New: Choose how dive/glide transitions are handled (General tab). Block input is the existing behaviour: input is frozen for 0.7s so the angle stays exact, but a key released during the freeze can stick (ghost walking). Blend (no lock) never touches your input; the angle eases between glide and dive turn speed instead, with an adjustable blend duration. If you move the mouse mid-transition the HUD shows " ESTIMATED ANGLE" until you reset. See docs/INPUT_LOCK.md.
  • Fix: Angle could slowly drift. The detector thread re-baked the angle ~250 times a second while the input thread was adding mouse movement, so counts could be dropped and a "zero" could be overwritten. The angle is now integrated per movement under a lock.
  • Fix: Input lock fired with no ROI set. With no detection area selected, the app treated you as diving from launch, froze input for 700ms at startup and used the dive turn speed until an area was picked.
  • Fix: Alt-tabbing out mid-dive froze input on the desktop. Losing Fortnite focus looked like a dive-to-glide change and triggered a 700ms lock in whatever app you switched to. Transitions are now only tracked while Fortnite is focused.
  • Fix: Settings never loaded. An off-by-one in the settings reader meant saved HUD position, beta channel and other settings always fell back to defaults. They now restore (the auto-mantle diagnostic switches start fresh once so stale test values can't disable tracking).
  • Fix: GDI leak while colour picking. The zoom preview leaked one GDI bitmap per frame; after ~1.5 minutes of picking, drawing broke.
  • Fix: Truncated update installers could run. Downloads now check the HTTP status, detect dropped connections and compare against Content-Length. An error page from GitHub can no longer be parsed as a version number.
  • Fix: Beta channel ignored at startup. The startup update check ran before settings were loaded.
  • Fix: HUD invisible after unplugging its monitor. A missing monitor index now falls back to the primary monitor; the saved HUD and dashboard positions are kept on screen.
  • Fix: Colour swatch had red and blue swapped; black crosshair colour couldn't be saved; profile names with quotes corrupted the file; profile and settings saves could be lost if the app crashed mid-write.
  • Fix: Dashboard fields for target colour and HUD position were always blank (the backend never exposed them).
  • Performance: slider changes no longer rewrite both JSON files on every tick; the Debug tab polls at 10 Hz instead of 100 Hz and no longer snapshots every process on each refresh.
  • UI: Dashboard reorganised into cards with consistent controls, styled sliders, switches and dropdowns, and clearer Debug tab sections.
  • Cleanup: Removed unused key-injection code, dead settings (HUD smoothing, direct hardware mode), old _old/_114 source copies, the unused ImGui copy, stray logs/patches/IDE files and an unrelated web app.

BetterAngle Pro v7.0.0

Pre-release

Choose a tag to compare

@github-actions github-actions released this 24 Sep 05:29
1ba2ee6

BetterAngle Pro v7.0.0

Test build (pre-release): only offered to the beta update channel. v6.0.5 and v6.0.6 were never released (their builds failed when GitHub's Windows runners moved to Visual Studio 2026), so this release includes everything below.

  • Fix: Release build. CI now builds with Ninja and a small compatibility shim so Qt 6.5 builds with the runner's Visual Studio 2026. A version set by hand in VERSION is now released as-is, and any version above MIN_STABLE_VERSION is published as a pre-release.
  • Fix: Updates pointed at the old wavedropmaps-org repo. The updater, installer and README now use github.com/wavedropmaps/BetterAngle.
  • Fix: Stable channel gate was inverted. Stable users are now only notified once MIN_STABLE_VERSION is raised to the new release; builds pushed above it stay quiet on the stable channel until then (beta users still see everything).
  • New: Choose how dive/glide transitions are handled (General tab). Block input is the existing behaviour: input is frozen for 0.7s so the angle stays exact, but a key released during the freeze can stick (ghost walking). Blend (no lock) never touches your input; the angle eases between glide and dive turn speed instead, with an adjustable blend duration. If you move the mouse mid-transition the HUD shows " ESTIMATED ANGLE" until you reset. See docs/INPUT_LOCK.md.
  • Fix: Angle could slowly drift. The detector thread re-baked the angle ~250 times a second while the input thread was adding mouse movement, so counts could be dropped and a "zero" could be overwritten. The angle is now integrated per movement under a lock.
  • Fix: Input lock fired with no ROI set. With no detection area selected, the app treated you as diving from launch, froze input for 700ms at startup and used the dive turn speed until an area was picked.
  • Fix: Alt-tabbing out mid-dive froze input on the desktop. Losing Fortnite focus looked like a dive-to-glide change and triggered a 700ms lock in whatever app you switched to. Transitions are now only tracked while Fortnite is focused.
  • Fix: Settings never loaded. An off-by-one in the settings reader meant saved HUD position, beta channel and other settings always fell back to defaults. They now restore (the auto-mantle diagnostic switches start fresh once so stale test values can't disable tracking).
  • Fix: GDI leak while colour picking. The zoom preview leaked one GDI bitmap per frame; after ~1.5 minutes of picking, drawing broke.
  • Fix: Truncated update installers could run. Downloads now check the HTTP status, detect dropped connections and compare against Content-Length. An error page from GitHub can no longer be parsed as a version number.
  • Fix: Beta channel ignored at startup. The startup update check ran before settings were loaded.
  • Fix: HUD invisible after unplugging its monitor. A missing monitor index now falls back to the primary monitor; the saved HUD and dashboard positions are kept on screen.
  • Fix: Colour swatch had red and blue swapped; black crosshair colour couldn't be saved; profile names with quotes corrupted the file; profile and settings saves could be lost if the app crashed mid-write.
  • Fix: Dashboard fields for target colour and HUD position were always blank (the backend never exposed them).
  • Performance: slider changes no longer rewrite both JSON files on every tick; the Debug tab polls at 10 Hz instead of 100 Hz and no longer snapshots every process on each refresh.
  • UI: Dashboard reorganised into cards with consistent controls, styled sliders, switches and dropdowns, and clearer Debug tab sections.
  • Cleanup: Removed unused key-injection code, dead settings (HUD smoothing, direct hardware mode), old _old/_114 source copies, the unused ImGui copy, stray logs/patches/IDE files and an unrelated web app.

BetterAngle Pro v6.0.4

Choose a tag to compare

@github-actions github-actions released this 06 Jun 06:23

BetterAngle Pro v6.0.4

  • Fix: Startup crash when saved profile index is out of range. If settings.json held a selectedProfileIdx pointing to a profile that no longer exists (e.g. after deleting a profile), the app would crash immediately on launch before any UI appeared. The index is now clamped to a valid range before use.
  • Fix: Ghost HUD on monitor hotplug/unplug. WM_DISPLAYCHANGE was moving the overlay window to the new monitor with a direct SetWindowPos, skipping the ghost-prevention blank that drag and the Display dropdown already use. Unplugging a monitor while the overlay was on it could leave a frozen HUD copy on the desktop. The handler now blanks and hides the old layered surface before repositioning, matching the WM_USER+101 path.
  • Fix: HUD slightly off-screen on first launch. The default g_hudX was initialised to -1, so on a brand-new install the angle readout started 1 pixel off the left edge of the screen. Default is now 40 (matching g_hudY).
  • Fix: Dashboard crosshair toggle resets offset. Enabling the crosshair via the Dashboard toggle was unconditionally zeroing the crosshair offset (X/Y position), discarding any custom placement the user had set. The hotkey toggle never did this; the dashboard toggle now matches that behaviour and preserves the saved offset.
  • Fix: 10-monitor hard limit in ROI monitor detection. Auto-detecting which monitor an ROI drag started on was capped at 10 iterations. On systems with more than 10 monitors the detection could silently fail. The loop now uses GetSystemMetrics(SM_CMONITORS) for the actual count.
  • Fix: Sleep(10) stall in Win32 message loop. RefreshHotkeys was sleeping 10 ms on the HUD message thread every time hotkeys were re-registered (every Fortnite focus change / alt-tab). This briefly stalled the message pump on every switch.
  • Fix: Transition lock threads could log after shutdown. The detached BlockInput threads spawned on glide↔dive and alt-tab transitions did not check g_running, so they could call into the logger and update timestamps after the app had started tearing down. They now guard those writes with a g_running check.
  • Fix: Update download URL data race. g_dynamicDownloadUrl was a bare std::wstring written by the update-check background thread and read by the download thread with no synchronisation. The URL is now captured by value before the download thread is spawned.
  • Fix: DetectorThread data race on g_isSelectionActive. The detector thread was reading g_currentSelection (a plain non-atomic enum) written by the Win32 thread. The detector now reads g_isSelectionActive which is std::atomic<bool>, eliminating the data race.

BetterAngle Pro v6.0.3

Choose a tag to compare

@github-actions github-actions released this 06 Jun 05:54
chore: auto-increment version to 6.0.3 [skip ci]

BetterAngle Pro v6.0.2

Choose a tag to compare

@github-actions github-actions released this 06 Jun 05:37
chore: auto-increment version to 6.0.2 [skip ci]

BetterAngle Pro v6.0.1

Choose a tag to compare

@github-actions github-actions released this 06 Jun 04:44
chore: auto-increment version to 6.0.1 [skip ci]

BetterAngle Pro

Choose a tag to compare

@github-actions github-actions released this 06 Jun 03:22
release: BetterAngle Pro v6.0.0 (major)

Major version bump from the 5.5.x line. Bundles overlay/multi-monitor
stability, input-safety fixes, QoL additions, stable/beta update
channels, and the performance pass.

Authored as github-actions[bot] so the CI auto-increment step skips this
commit (keeps the release at exactly 6.0.0 instead of bumping to 6.0.1).
The v6.0.0 git tag triggers the full (non-prerelease) release build.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

BetterAngle Pro v5.5.317

Choose a tag to compare

@github-actions github-actions released this 06 Jun 03:15
chore: auto-increment version to 5.5.317 [skip ci]

BetterAngle Pro v5.5.316

Choose a tag to compare

@github-actions github-actions released this 05 Jun 14:03
chore: auto-increment version to 5.5.316 [skip ci]

BetterAngle Pro v5.5.315

Choose a tag to compare

@github-actions github-actions released this 05 Jun 13:57
chore: auto-increment version to 5.5.315 [skip ci]