@eld: Could you please remind me what was that with a range check? ;)
Now I'm trying to nail down problem with auras not updating when switching from a dead target to a new one, hope that will do it today. Custom buff/debuff enlargement will take some time, though.
And I don't have an access to WotLK yet, so any feedback from lucky ones will be great.
Hey, I've actually got some solutions to some of those problems. I was thinking about posting them to SVN at some point just have been busy since I implemented them. Here's what my version of Underhood currently does:
- Range Check working by installing LibRangeCheck-2.0 and modifying the "Range" text provider DogTag like this:
- Custom buff enlargement using filtered buffs. That is, if buff filtering is disabled, then filtered buffs are enlarged and sorted first. I'd like to add some options to enable/disable that effect and perhaps add a second list of buffs rather than simply using filtered buffs.
I'd like to help out with this in any way I can but I'm not quite sure how to get write access to SVN here, I suppose some forum browsing will have to be done.
By the way, sorry about the bug in my energy tick fix. Fixed that error on my friend's box and not on mine, then copy and pasted from the wrong place. Oops.
Ok, first update is up: now you can enable or disable individual modules (like ComboPoints) on per profile basis. Check Modules entry in configuration dialog and play with those checkboxes on the right.
@Nox: Yes, range checking can be done through LDT.
I'm having problems getting the Druid Mana Bar functioning. If I enable it while not in caster form it will appear. Shifting out to caster form will not make it disappear (if it's even supposed to). When I relog, the Druid Mana Bar stops functioning until I reenable it when not in caster form again.
I'm not certain this is a bug, it feels like I'm missing some configuration option or something.
@eld: Could you please remind me what was that with a range check? Wink
Well I was looking for some way to get the bars to gray out/change transparency when stuff where outside 40 yards range. And didn't find anything but a note in the TODO.txt, so assumed it was something you where working on :)
I'll give Nox's solution a go tho.
Edit: Yeah it does work, although I'd much rather have bars change transparency/border color perhaps based on range, having to check a text note can be tricky. I do realise that it might not work too well considering the nature of the hud and that it uses transparency for other things.
Hmm, perhaps trying to hard to replace aguf with UH :P
Here are my changes to BuffFrame.lua for custom self buff sorting and enlarging based on filtered buffs:
Note: These aren't the entire methods as they're large, just the modifications.
Modified AuraSort method:
local auraSort__isFriend
local auraSort__isBuff
local auraSort__isPlayer
local auraSort__filteredBuffs
local auraSort__extraFilteredBuffs
local auraSort__doublebuffs
local auraSort__doubleWhenSolo
local auraSort__groupCount
local function auraSort(alpha, bravo)
-- id, name, iconTexture, count, debuffType, duration, timeLeft, itemSlot, quality
if not alpha then
return false
elseif not bravo then
return true
end
-- show filtered buffs first
if auraSort__isPlayer and auraSort__doublebuffs and (auraSort__groupCount > 0 or auraSort__doubleWhenSolo) then
local alpha_filtered = auraSort__filteredBuffs[alpha[2]] or (auraSort__extraFilteredBuffs and auraSort__extraFilteredBuffs[alpha[2]])
local bravo_filtered = auraSort__filteredBuffs[bravo[2]] or (auraSort__extraFilteredBuffs and auraSort__extraFilteredBuffs[bravo[2]])
if not alpha_filtered ~= not bravo_filtered then
if alpha_filtered then
return true
else
return false
end
end
end
-- show your own buffs/debuffs first
local alpha_timeLeft, bravo_timeLeft = alpha[7], bravo[7]
Modified BuffFrame:UpdateButtons:
if count and count > 1 then
button.Count:SetText( count )
button.Count:Show()
else
button.Count:Hide()
end
button.isLarge = nil;
if isBuff and self.doubleBuffs then
if (groupCount > 0 or self.doubleWhenSolo) then
if isPlayer then
filteredSpells = self.module.db.profile.filter.friendBuffs
extraFilteredSpells = self.module.db.profile.filter.extraFriendBuffs
if ((not filteredSpells[name]) or (extraFilteredSpells and (not extraFilteredSpells[name]))) then
button.isLarge = true
end
else
if duration then
button.isLarge = true
end
end
end
else
if self.doubleDebuffs then
if(duration and (groupCount > 0 or self.doubleWhenSolo)) then
button.isLarge = true
end
end
end
if startTime then
button.cooldown:Show()
button.cooldown:SetCooldown( startTime, duration )
else
This is a big hack and I'm hoping to separate this away from filtered buffs and make this less of a dirty hack, but it works for now.
And what those changes supposed to do? Can't get an idea Sad
If filtering buffs is disabled, then player buffs will be sorted such that all filtered buffs are first and enlarged. For example, if I have "Power Word: Fortitude" and "Power Word: Shield" active on me, fort will be normal size and shield will be "Big". Shield will also be sorted first. Its a hacked up implementation of custom buff enlarging.
However, theres a bit of broken in there as my development situation when posting it was suboptimal, heres the fixed code:
local auraSort__isFriend
local auraSort__isBuff
local auraSort__isPlayer
local auraSort__filteredBuffs
local auraSort__extraFilteredBuffs
local auraSort__doubleBuffs
local auraSort__doubleWhenSolo
local auraSort__groupCount
local function auraSort(alpha, bravo)
-- id, name, iconTexture, count, debuffType, duration, timeLeft, itemSlot, quality
if not alpha then
return false
elseif not bravo then
return true
end
-- show filtered buffs first
if auraSort__isPlayer and auraSort__doubleBuffs and (auraSort__groupCount > 0 or auraSort__doubleWhenSolo) then
local alpha_filtered = not auraSort__filteredBuffs[alpha[2]] or (auraSort__extraFilteredBuffs and not auraSort__extraFilteredBuffs[alpha[2]])
local bravo_filtered = not auraSort__filteredBuffs[bravo[2]] or (auraSort__extraFilteredBuffs and not auraSort__extraFilteredBuffs[bravo[2]])
if not alpha_filtered ~= not bravo_filtered then
if alpha_filtered then
return true
else
return false
end
end
end
-- show your own buffs/debuffs first
It's nice to have certain debuffs enlarged on mobs (such as Curse of Elements for my Mage and Faire Fire on my Rogue), but currently only buffs/debuffs I apply can be enlarged.
Aha, I've got it. I'll tell you a big secret: If I remeber right, then to enlarge buffs you do not need to sort actual buffs or something. You only need to set button.isLarge somewhere around UpdateButtons() and layout engine will handle things. And I think it'll be better to double SPECIFIED buffs/debuffs instead of "all that unchecked".
Aha, I've got it. I'll tell you a big secret: If I remeber right, then to enlarge buffs you do not need to sort actual buffs or something. You only need to set button.isLarge somewhere around UpdateButtons() and layout engine will handle things. And I think it'll be better to double SPECIFIED buffs/debuffs instead of "all that unchecked".
I tried both of those things actually as I figured that made more sense, but both of those actually don't work quite right. The layout engine enlarges all buffs that are sorted before the last enlarged buff (or so it seems). So, having PW:S and PW:F on means that neither are enlarged because Shield ends up being displayed after Fortitude and Fort is small.
I agree that having checked buffs be large is a better approach, but the structure sets a buff's value to "true" if they are filtered, that is, unchecked. Doing it the other way around means all buffs that are not in the list (food buffs, other class buffs, etc.) are enlarged as well. That's one of the reasons I'd like to make an entirely different configuration section for this behavior but I haven't really had the time to figure out how quite yet.
I agree that having checked buffs be large is a better approach, but the structure sets a buff's value to "true" if they are filtered, that is, unchecked. Doing it the other way around means all buffs that are not in the list (food buffs, other class buffs, etc.) are enlarged as well. That's one of the reasons I'd like to make an entirely different configuration section for this behavior but I haven't really had the time to figure out how quite yet.
That's exactly what I have in mind. Now I'm playing with options to accomodate additional data into them.
@Caliban: If I remeber right you can check "Color by Happiness" for pet's health bar.
After weekend spent on attempt to bring in separate spell setting to individual buff frames I've ended up with a strong feeling that all options hierarchy of UH should be changed :) I'll give myself two more days to find a way to avoid it, but if not I'll go and redo settings. Then after that it'll be possible to tune individual frames...
The DruidMana provider on the mana bar is breaking for me. When I set the mana bar to display DruidMana as its outline, it completely disappears, and I can't get it back until I change its outline provider again.
I'm running the latest UnderHood (rev 81076, just updated), with disembedded libraries (LibDruidMana-1.0 just updated as well).
Just discovered this addon and I'm delighted at what it can do. Working on changing my interface so that I can live without Pitbull entirely.
A few things I've found so far that could be improved:
* Unit portraits always show borders after logging on, even if the portrait border is disabled. Enabling and disabling again does hide the border, but next logon they're back.
* More options for bars to be automatically hidden when there is nothing for them to show. For example castbars when nothing is being cast, or power bars for units that have none. Right now these things show an empty but visible bar.
* Support for LibHealComm (apologies if this is already present and I just managed to miss it)
* In Pitbull I sometimes liked to hover my mouse over a unit frame to see certain information the frame did not show, but that my mouse tooltip (generated by CowTip) does, this way I don't have to show every single bit of information on the frames for all of player, target, focus, pet, etc. . However UnderHood frames do not show tooltips on mouseover. Would it be possible to add a per-frame option to show the tooltip, similar to the Interactive option that allows it to catch mouse clicks?
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
Any eta. on range check because that would be really awesome.
Now I'm trying to nail down problem with auras not updating when switching from a dead target to a new one, hope that will do it today. Custom buff/debuff enlargement will take some time, though.
And I don't have an access to WotLK yet, so any feedback from lucky ones will be great.
- Range Check working by installing LibRangeCheck-2.0 and modifying the "Range" text provider DogTag like this:
- Custom buff enlargement using filtered buffs. That is, if buff filtering is disabled, then filtered buffs are enlarged and sorted first. I'd like to add some options to enable/disable that effect and perhaps add a second list of buffs rather than simply using filtered buffs.
I'd like to help out with this in any way I can but I'm not quite sure how to get write access to SVN here, I suppose some forum browsing will have to be done.
By the way, sorry about the bug in my energy tick fix. Fixed that error on my friend's box and not on mine, then copy and pasted from the wrong place. Oops.
@Nox: Yes, range checking can be done through LDT.
I'm not certain this is a bug, it feels like I'm missing some configuration option or something.
Well I was looking for some way to get the bars to gray out/change transparency when stuff where outside 40 yards range. And didn't find anything but a note in the TODO.txt, so assumed it was something you where working on :)
I'll give Nox's solution a go tho.
Edit: Yeah it does work, although I'd much rather have bars change transparency/border color perhaps based on range, having to check a text note can be tricky. I do realise that it might not work too well considering the nature of the hud and that it uses transparency for other things.
Hmm, perhaps trying to hard to replace aguf with UH :P
Note: These aren't the entire methods as they're large, just the modifications.
Modified AuraSort method:
Modified BuffFrame:UpdateButtons:
This is a big hack and I'm hoping to separate this away from filtered buffs and make this less of a dirty hack, but it works for now.
If filtering buffs is disabled, then player buffs will be sorted such that all filtered buffs are first and enlarged. For example, if I have "Power Word: Fortitude" and "Power Word: Shield" active on me, fort will be normal size and shield will be "Big". Shield will also be sorted first. Its a hacked up implementation of custom buff enlarging.
However, theres a bit of broken in there as my development situation when posting it was suboptimal, heres the fixed code:
Also in BuffFrame:CollectAuras:
Essentially, any buff unchecked in the filter window will be drawn the way "self debuffs" appear.
I tried both of those things actually as I figured that made more sense, but both of those actually don't work quite right. The layout engine enlarges all buffs that are sorted before the last enlarged buff (or so it seems). So, having PW:S and PW:F on means that neither are enlarged because Shield ends up being displayed after Fortitude and Fort is small.
I agree that having checked buffs be large is a better approach, but the structure sets a buff's value to "true" if they are filtered, that is, unchecked. Doing it the other way around means all buffs that are not in the list (food buffs, other class buffs, etc.) are enlarged as well. That's one of the reasons I'd like to make an entirely different configuration section for this behavior but I haven't really had the time to figure out how quite yet.
That's exactly what I have in mind. Now I'm playing with options to accomodate additional data into them.
Currently I modifided the pet name with:
[Name]-[if HappyNum > 2 then ":)" else ":("]
[Note that there are'nt really icons in the output - only colon and parens]
Which is pretty lame...
I've browsed the DogTag wiki but just can't seem to find any specifics. Can someone point me in the right direction?
Could use * and color it depending on happyness, or perhapps *, **, *** or soemthing like that.
After weekend spent on attempt to bring in separate spell setting to individual buff frames I've ended up with a strong feeling that all options hierarchy of UH should be changed :) I'll give myself two more days to find a way to avoid it, but if not I'll go and redo settings. Then after that it'll be possible to tune individual frames...
I'm running the latest UnderHood (rev 81076, just updated), with disembedded libraries (LibDruidMana-1.0 just updated as well).
A few things I've found so far that could be improved:
* Unit portraits always show borders after logging on, even if the portrait border is disabled. Enabling and disabling again does hide the border, but next logon they're back.
* More options for bars to be automatically hidden when there is nothing for them to show. For example castbars when nothing is being cast, or power bars for units that have none. Right now these things show an empty but visible bar.
* Support for LibHealComm (apologies if this is already present and I just managed to miss it)
* In Pitbull I sometimes liked to hover my mouse over a unit frame to see certain information the frame did not show, but that my mouse tooltip (generated by CowTip) does, this way I don't have to show every single bit of information on the frames for all of player, target, focus, pet, etc. . However UnderHood frames do not show tooltips on mouseover. Would it be possible to add a per-frame option to show the tooltip, similar to the Interactive option that allows it to catch mouse clicks?