fix(map): minimap range cutoff no longer clips visible icons (#17)

The cutoff hid icons beyond its yard value before checking the minimap's
visible radius, so the default 100 hid icons that were clearly on the
minimap (view radius is 133-466 yd by zoom). Now it only clips icons
outside the visible circle: HBD's pin renderer gates the cutoff on
dist > 1, and QuestieMap FadeLogic raises the effective cutoff to at
least the current minimap view radius via new HBDPins:GetMinimapRadius().
This commit is contained in:
Xurkon
2026-06-10 19:24:39 -05:00
parent ff08c38fa0
commit 1c0a891efd
3 changed files with 27 additions and 2 deletions
+1
View File
@@ -40,6 +40,7 @@
### Bug Fixes
- **[Map - Minimap Range Cutoff No Longer Clips Visible Icons]** (#17) The "Minimap Icon Range Cutoff" added in a prior build hid every quest icon beyond its yard value *before* checking whether the icon was within the minimap's visible circle. Because the minimap's view radius is 133466 yards depending on zoom, a cutoff of 100 (the default) hid icons that were clearly on the minimap — they only appeared once the player was very close. The cutoff now only clips icons that fall *outside* the minimap's visible radius: in HBD's pin renderer it is gated on `dist > 1` (outside the visible circle), and in `QuestieMap`'s minimap `FadeLogic` the effective cutoff is raised to at least the current minimap view radius (read from the new `HBDPins:GetMinimapRadius()`). Icons within the visible minimap always show again; the cutoff still controls how far edge-floating icons reach for far-apart objectives when zoomed out.
- **[Tooltip - Stop Eating ID Lines & Other Addons' Tooltip Text]** `HideAscensionQuestLines` (which hides Ascension's injected quest-objective progress text from tooltips) was too greedy: once it found an objective line (e.g. `0/8 Arcane Wraith slain`) it kept hiding every following non-indented line until an indented one. Because Questie's own `Item ID`/`NPC ID`/`Object ID` lines and other addons' additions (e.g. an item-count overlay) are appended at the *bottom* of the tooltip — after the objective block — a refresh pass wiped them too, so the ID you needed to report data never showed. It now hides only the lines that themselves match an Ascension objective pattern (`N/M`, `[N] ...`, `- N/M ...`) and never the trailing lines, so IDs and other addons' text are left intact.
- **[Learner - Don't Purge NPCs With Useful State But No Spawns]** The `InjectLearnedData` purge loop was deleting entire NPC entries from `Questie.dbLearner.global.npcs` whenever `data[7]` (spawns) was empty, even if the entry still had a name, home zone, recorded kills, or quest references. This caused learner data to silently disappear on `/reload` for NPCs that had been learned but never killed in a position the learner could record (e.g. party-kill position attribution fix now passes nil coords for uncredited kills). Now only purges when ALL of name, zone, kills, and quest references are missing. Entries with other useful state get `data[7] = nil` instead so the row survives.
- **[Learner - Import Shows Actual Spawn Coordinates Added]** The import completion message now shows how many spawn *coordinates* were really added (e.g. "Added 842 new spawn coordinates") rather than just entry counts. Counts `[7]` for NPCs and `[4]` for objects before and after the merge. A sparse export that merges entries but carries no coords means nothing new will appear on the map — the new message makes this clear.