Campaign tracker overhaul
Solanya opened this issue ยท 3 comments
- The campaign tracker doesn't appear if no in-game quest is tracked. It should appear regardless.
- It doesn't take into account that you may be tracking achievements, world quests, bonus objectives; as such, it displays on top of them.
- Longer objectives get out of the screen instead of wrapping on a new line.
There were talks about needing to rewrite that objective tracker, and I'm suggesting to put the actions buttons at the top of the tracker while we're at it, to make it take less space while being always visible while on a campaign, target or not.
When I commit to this, we could look to add alternative objective displays, like a bar filling based on a variable value (and a given max value).
Parenting it to UIParent will potentially cause issues if a user has some addon installed which independently changes the scale of the ObjectiveTrackerBlocksFrame. Not sure how many objective trackers would do this, but you also need to factor in UI tweak addons like MoveAnything which provide such options.
Hi,
I found a potential fix to the layout overlap:
Interface\AddOns\totalRP3_Extended\quest\quest.xml:33
<SimpleHTML name="TRP3_QuestObjectives" parent="UIParent">
<Size x="0" y="100"/>
</SimpleHTML>
Interface\AddOns\totalRP3_Extended\quest\quest_objective.lua:109
local ticker = C_Timer.NewTicker(1, function()
if ObjectiveTrackerBlocksFrame:IsShown() then
local top = ObjectiveTrackerBlocksFrame.contentsHeight
if top > 0 then
top = top + 20
end
frame:SetPoint("TOPRIGHT", ObjectiveTrackerBlocksFrame, "TOPRIGHT", 0, -top);
frame:SetPoint("TOPLEFT", ObjectiveTrackerBlocksFrame, "TOPLEFT", 0, -top);
display();
frame:Show();
else
frame:Hide();
end
end);
Attaching it to UIParent
makes it independent of the tracked content, but it is still anchored to ObjectiveTrackerBlocksFrame
.
ObjectiveTrackerBlocksFrame:IsShown()
checks if the "Hide Objectives" button was clicked.