Commit Graph

135 Commits

Author SHA1 Message Date
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
Xurkon 2e32a260ea fix: Remove QuestLog_Update call to prevent hook loop 2026-03-20 23:52:39 -05:00
Xurkon 01edab2632 fix: Call tracker methods directly on shift-click instead of AQW_Insert 2026-03-20 23:49:10 -05:00
Xurkon 229f6faba6 cleanup: Remove debug code from tracker 2026-03-20 23:42:12 -05:00
Xurkon 81f41a1fce fix: Shift-click now toggles tracking for all quests in quest log 2026-03-20 23:41:40 -05:00
Xurkon e968a41497 debug: Check autoTrack setting and AutoUntracked state 2026-03-20 23:28:56 -05:00
Xurkon 103e3e4346 debug: Check tracking state on click 2026-03-20 23:10:50 -05:00
Xurkon c9dab76508 debug: Check button value in hook 2026-03-20 23:09:22 -05:00
Xurkon 7eb59e9259 debug: Add detailed debug to QuestLogTitleButton_OnClick hook 2026-03-20 23:05:41 -05:00
Xurkon 5916be505f debug: Add print to QuestLogTitleButton_OnClick hook 2026-03-20 22:49:03 -05:00
Xurkon 7fb8155af1 debug: Add SetOnClick debug print 2026-03-20 22:13:03 -05:00
Xurkon 4dcd644ac2 debug: Add print to OnClickQuest 2026-03-20 22:08:08 -05:00
Xurkon 4a78619416 test: Add click debug test 2026-03-20 22:04:51 -05:00