Commit Graph

380 Commits

Author SHA1 Message Date
Xurkon 52c940d541 fix: Strip duplicate Ascension quest tooltips to prevent overlap with Questie lines 2026-03-29 18:21:44 -05:00
Xurkon a1d1ea22a2 chore: exclude .kilocode from release exports 2026-03-29 18:13:18 -05:00
Xurkon 3a46fd92de Merge branch 'main' of https://github.com/Xurkon/Questie-X 2026-03-29 17:55:44 -05:00
Xurkon 4d48925145 docs: append performance patches to v1.5.5 changelogs 2026-03-29 17:54:19 -05:00
Xurkon fdf90906af Delete unnecessary dir 2026-03-29 17:22:50 -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 77860bfd92 docs: add v1.5.5 performance changelog entry 2026-03-29 16:44:41 -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 2d9d83f265 Fix: Add defensive nil checks for icon:UpdateCoord() calls in LibDBIcon 2026-03-29 11:56:41 -05:00
Xurkon 17dd969793 Fix: Prevent nil index error in QuestieTooltips_RegisterObjectiveTooltip 2026-03-29 11:49:57 -05:00
Xurkon 0f495108f2 Fix: Prevent duplicate keybinds with user-friendly error message 2026-03-29 07:07:26 -05:00
Xurkon 5edb8ddcf8 Fix: Remove debugstack print spam from QuestieDB.GetQuest 2026-03-29 05:58:23 -05:00
Xurkon b685bdf0f7 Bump version to v1.5.4 2026-03-29 05:25:04 -05:00
Xurkon edfb9a28d7 Fix: Townsfolk not checking npcDataOverrides/objectDataOverrides on custom servers 2026-03-29 05:22:32 -05:00
Xurkon 7503f251dc Fix: Townsfolk POIs not appearing due to uiMapId < 1000 not being registered 2026-03-29 04:44:21 -05:00
Xurkon d2732b9b4d Fix: prevent crash when quest name is nil in PrintDifficultyColor 2026-03-29 04:27:32 -05:00
Xurkon c61a70d98b Delete RELEASE_NOTES.md 2026-03-29 03:18:23 -05:00
Xurkon 2def957d1f Delete .agent directory 2026-03-29 03:17:53 -05:00
Xurkon c1bf33adf5 Delete verify_indices.lua 2026-03-29 03:17:43 -05:00
Xurkon 3ab410cc2b Delete verify_fix.lua 2026-03-29 03:17:32 -05:00
Xurkon 5fb621a53a v1.5.3: Add dedicated Keybinds tab 2026-03-29 03:01:14 -05:00
Xurkon 47b51e601c security: ignore verify_*.lua files from release archives 2026-03-29 00:44:59 -05:00
Xurkon 830d145d51 security: ignore .agent, *.json, README and dev files from release archives 2026-03-29 00:41:47 -05:00
Xurkon 1bfca8dee6 docs: update version badge to v1.5.2 2026-03-29 00:20:01 -05:00
Xurkon 04c03a0443 v1.5.2: update changelog.html with detailed developer notes 2026-03-29 00:11:57 -05:00
Xurkon 659f15a932 v1.5.2: Ascension custom zone support, waypoint fixes, realm detection 2026-03-29 00:09:43 -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 8373903dc1 fix: remove customZonesApplied guard to allow ApplyCustomZones to run after Ascension data is injected 2026-03-28 23:37:50 -05:00
Xurkon 758a4e9524 fix: call ApplyCustomZones after InjectUiMapData completes 2026-03-28 23:29:19 -05:00
Xurkon 769f77f0d6 fix: hook ZoneDB.Initialize to apply custom zones before original Initialize 2026-03-28 23:19:59 -05:00
Xurkon 1341f742b9 fix: properly inject custom zone UiMapData for Ascension custom zones 2026-03-28 23:16:50 -05:00
Xurkon 3af73e9b00 fix: check QuestieCompat.UiMapData directly for custom zones in GetCurrentUiMapID 2026-03-28 22:50:16 -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 479e99d463 fix: fallback to areaId as UiMapId for custom zones 2026-03-28 22:37:04 -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 69c0f8045c Update changelog for v1.5.1 fix release 2026-03-28 17:36:44 -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 504ccc3424 Remove session_export feature entry from CHANGELOG
Removed session_export feature from the changelog.
2026-03-28 11:20:14 -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 55b5c83e50 chore: remove and ignore non-additive scripts and dev files 2026-03-22 13:21:02 -05:00
Xurkon c554370786 v1.4.7: Taint Resolution & WotLKDB Restructure 2026-03-22 13:15:02 -05:00