Commit Graph

197 Commits

Author SHA1 Message Date
Xurkon 49ef9b6e55 fix: Use pairs() instead of ipairs() for hash table iteration 2026-04-02 20:51:08 -05:00
Xurkon 03a58e0c28 feat: Add expanded font list with common WoW fonts to Arrow and Tracker options 2026-04-02 20:43:17 -05:00
Xurkon a9f4a97979 cleanup: Remove debug prints and duplicate spacer 2026-04-02 19:45:17 -05:00
Xurkon 2efbc0e799 fix: Use SharedMedia:Fetch to get actual font object 2026-04-02 19:42:15 -05:00
Xurkon 11cc0e9a79 debug: Add print to UpdateFont 2026-04-02 19:36:52 -05:00
Xurkon aa51ea8f2a fix: Import SharedMedia in Arrow options 2026-04-02 19:34:24 -05:00
Xurkon 447ba0513e fix: Guard against QuestieConfigFrame being nil in OpenConfigWindow 2026-04-02 19:30:56 -05:00
Xurkon 57f6cc4471 feat: Add arrow font settings; Add Apply to All font options to Tracker 2026-04-02 19:27:05 -05:00
Xurkon 882cd01628 debug: Add prints to UpdateSettings 2026-04-02 19:17:52 -05:00
Xurkon cf462d9a9f debug: Add print to scale set 2026-04-02 19:16:21 -05:00
Xurkon 1decb399b3 fix: Remove duplicate arrow_alpha and debug prints 2026-04-02 19:14:08 -05:00
Xurkon fb8c4292c9 debug: Add prints to trace scale update 2026-04-02 19:06:56 -05:00
Xurkon a1f273bba5 fix: Add UpdateSettings function to apply scale/alpha without touching visibility 2026-04-02 19:04:20 -05:00
Xurkon ef61faa9f9 fix: Use method call syntax for ApplyScale 2026-04-02 18:58:27 -05:00
Xurkon 75d63da509 fix: Direct frame manipulation for real-time scale/alpha/position updates 2026-04-02 18:57:46 -05:00
Xurkon 4df787419a fix: Apply scale and alpha immediately via dedicated functions 2026-04-02 18:53:55 -05:00
Xurkon a5c5560c21 fix: Apply scale and position immediately when settings change 2026-04-02 18:28:08 -05:00
Xurkon 6a67189a4c fix: Arrow scale and position reset not working 2026-04-02 18:25:44 -05:00
Xurkon 67255ca5fb feat: Add Arrow options tab with scale, transparency, and debug settings; Fix zone filter bug that broke auto-tracking; Update .gitattributes and .gitignore to properly hide dev files from releases 2026-04-02 18:21:30 -05:00
Xurkon 2de03b8e32 fix: Tooltip scan regex refinement for Ascension 2026-03-29 18:28:36 -05:00
Xurkon 52c940d541 fix: Strip duplicate Ascension quest tooltips to prevent overlap with Questie lines 2026-03-29 18:21:44 -05:00
Xurkon 4d48925145 docs: append performance patches to v1.5.5 changelogs 2026-03-29 17:54:19 -05:00
Xurkon 1b5c8ef685 v1.5.5 - Performance & Stability 2026-03-29 17:19:01 -05:00
Xurkon 751c9974b4 fix: QuestieArrow.lua syntax error - remove leftover inner closure bodies
The previous patch hoisted _CollectFinisherSpawns and _CollectObjective to
module level but failed to remove the original inner function bodies from
_CollectQuestTargets, leaving 100+ lines of orphaned code and a phantom
bare 'end' that caused '<eof> expected near end' on load.

_CollectQuestTargets is now clean: calls the hoisted module-level functions
directly, no inner local function declarations.
2026-03-29 16:46:37 -05:00
Xurkon 05ea31bc53 perf: reduce CPU hotspots identified in profiler
- HBD.lua: Cache GetPlayerWorldPosition/GetPlayerZonePosition at 50ms
  intervals instead of hammering GetPlayerMapPosition() every frame.
  Invalidate cache on PLAYER_ENTERING_WORLD and ZONE_CHANGED_* events.
  Expected ~97% reduction in C API position calls (45,570 -> ~1,200 / 10min).

- zoneDB.lua: Replace O(n) linear scan in GetAreaIdByUiMapId with an
  O(1) reverse lookup cache (uiMapIdToAreaIdCache) built at Initialize().
  Cache is kept in sync by ApplyCustomZones and name-match fallback now
  caches its result so subsequent calls are also O(1).

- Tooltip.lua: Throttle GameTooltip OnUpdate hook to 100ms intervals
  (was firing every frame at 60-144 Hz). Added _tooltipLastText cache
  to avoid redundant GetText() + CountTooltip() calls when nothing changed.

- QuestieArrow.lua: Hoist _HasMissingCompletedFlag, _GetCompleteIconType,
  _CollectFinisherSpawns, and _CollectObjective out of _CollectQuestTargets
  to module-level functions. These were re-created as closures on every
  UpdateNearestTargets call (1 Hz). Shared per-cycle context is published
  via _arrow_* module upvalues to avoid closure capture overhead.

- QuestieLearnerComms.lua: Four micro-optimizations:
  (1) Reduce ProcessQueues ticker 0.2s -> 0.5s (still 7x faster than
      minChatInterval of 3.5s).
  (2) Cache hidden channel ID at init; lazy refresh on disconnect.
  (3) Drop LibDeflate compress level 9 -> 1 (fraction of CPU cost).
  (4) O(1) messageCacheCount counter replaces O(n) pairs() size scan.
2026-03-29 16:42:43 -05:00
Xurkon 0f495108f2 Fix: Prevent duplicate keybinds with user-friendly error message 2026-03-29 07:07:26 -05:00
Xurkon edfb9a28d7 Fix: Townsfolk not checking npcDataOverrides/objectDataOverrides on custom servers 2026-03-29 05:22:32 -05:00
Xurkon d2732b9b4d Fix: prevent crash when quest name is nil in PrintDifficultyColor 2026-03-29 04:27:32 -05:00
Xurkon 5fb621a53a v1.5.3: Add dedicated Keybinds tab 2026-03-29 03:01:14 -05:00
Xurkon 33ced25e63 fix: check playerUiMapId for custom zones in arrow target selection 2026-03-29 00:02:23 -05:00
Xurkon 140eeedc99 debug: always print zone injection status 2026-03-28 23:45:05 -05:00
Xurkon c08739e403 debug: add print statement when custom zone data is injected 2026-03-28 23:42:11 -05:00
Xurkon 758a4e9524 fix: call ApplyCustomZones after InjectUiMapData completes 2026-03-28 23:29:19 -05:00
Xurkon 19f238aea2 fix: inject custom UiMapData into QuestieCompat.UiMapData for HBD coordinate conversion 2026-03-28 22:46:06 -05:00
Xurkon b1d21712fc fix: add self-mapping for custom zone areaIds in InjectZoneTables 2026-03-28 22:38:36 -05:00
Xurkon e6c27ddf77 feat: add Use Quest Item keybind + fix custom zone names + nil check 2026-03-28 22:33:54 -05:00
Xurkon 75426c2bb1 Fix tracker crash and killcredit NPC linking 2026-03-28 17:36:04 -05:00
Xurkon edcd97a0ce fix(map): prevent minimap icons from being hidden by external addons and bump to v1.5.1 2026-03-28 12:55:30 -05:00
Xurkon 59c33e9f9c feat: standardize v1.5.0 and consolidate stability fixes 2026-03-28 11:08:32 -05:00
Xurkon 4c7a318de6 Fix: Guard nil checks for iconData.Name and tip.title in MapIconTooltip 2026-03-26 09:39:21 -05:00
Xurkon cb91442706 Fix DrawWorldIcon graceful return when parent map lookup returns nil 2026-03-26 07:39:33 -05:00
Xurkon 1fc9727fee v1.4.9: Validation fixes, Profiler fix, Quest link duplicate fix, Ascension fixes 2026-03-26 06:47:54 -05:00
Xurkon 284f0c3794 feat: resolve quest cache validation timeout and update gitignore 2026-03-22 16:03:19 -05:00
Xurkon 6e34cebead feat: release v1.4.6 - Fix SavedVariables persistence and red textures for MafWow/3.3.5a 2026-03-22 08:30:20 -05:00
Xurkon 3408527cb6 Fix l10n undefined nil reference crash when accepting new quests 2026-03-21 14:58:10 -05:00
Xurkon 1d7081fbb8 Fix legacy client db initialization blocking for ALL wow clients 2026-03-21 11:10:06 -05:00
Xurkon a44909b1fe fix: clear WotLKDB globals on cached loads to remove lingering taint
docs: add v1.4.4r2 changelog
2026-03-21 10:27:27 -05:00
Xurkon 8825e6fa66 fix: nil out WotLKDB globals after pull to eliminate _G taint 2026-03-21 09:23:42 -05:00
Xurkon 54aa7ea9bb chore: Remove route optimization from Questie-X (moved to Questie-RouteOptimizer plugin) 2026-03-21 07:58:04 -05:00
Xurkon 764ea7d2fc fix: Use UntrackQuestId properly for untracking 2026-03-21 01:00:01 -05:00