PitBull Unit Frames 4.0
PitBull Unit Frames 4.0
Woof. Arf. Yip.
Getting Started:
You can help translate PitBull for your language with the localization tool.
Classic
PitBull works with WoW Classic! Classic Era/Vanilla is supported in
v4.3.x-vanilla
releases. Cataclysm Classic is supported in v4.2.x
releases
(the same releases retail use).
Classic Era caveats:
- Aura duration is not available from the API, so PitBull uses LibClassicDurations to show them. The duration can be inaccurate if it's affected by rank or talents.
- Cast info is only available for your spells from the API. PitBull uses LibClassicCasterino to show cast bars for other units, but this can be inaccurate since there is a lot of guess-work involved.
Download
CurseForge: https://www.curseforge.com/wow/addons/pitbull-unit-frames-4-0
Wago: https://addons.wago.io/addons/pitbull4
WoWInterface: https://www.wowinterface.com/downloads/info20021
chocozurean, CastBar tracks the casting info for all valid units that we receive events for. It then updates the actual bars on a timer. The timer is necessary for smooth updates of the cast bar itself. Health and Power bars are updated based on events only there's no smooth movement of them so no need for a timer. Blizzard code actually handles the spinners for aura durations, the text we use timers for. The big difference here is that the CastBar isn't doing several things it should: a) The casting events should only register when a frame is shown that has a CastBar enabled on it. b) The casting data tracker should ignore events for units whose frame does not have a CastBar enabled on it. c) The timer should turn off if there is no casting data.
I sorta have changes in progress to resolve these things but it's complicated by the design of the CastBar module as a bar module. This abstracts some things out that would make it easier to do if I had them. But I'll get it done anyway. It's just gonna take some time.
One option I'm missing though is the option to color the health bar (for pets) by happiness. Or maybe I'm blind and just can't find out which option can enable it? :X
Also is there any way to disable the frames from snapping onto each other?
You can hold down shift while moving to stop frames from snapping.
Hmm ok, so I take it that CastBar updates on a very frequent timer? Are other status bars (health, power, aura durations...) not as frequent? You mentioned that CastBar might be updating for all units, even those that don't have frames. Would having it be used only for frames that exist help any?
I don't use TinyTip btw, but if interaction with other addons is a possible reason, I do run plenty of other stuff. I'll do some more testing tomorrow with only Pitbull enabled and try out modules in isolation.
Ah, ok, thanks for the tip. That means it may have nothing to do with Pitbull at all; most of my addons are Ace3 based so Pitbull is possibly getting tagged for all their usages. I can even test that out by trying to force the libraries load separately.
Guess I'll have to find a new explanation for my my frame rate goes to crap while raiding :/
g1breel, Sounds to me like you are trying to profile addons while using embedded libraries. Embedded addons appear as just part of the addon they are loaded in to WoW. However, the library is only loaded once even if multiple addons need it. So whichever addon loads first loads the library and ends up showing as using the CPU time that the library is using. UnderHood is Ace3 as is PitBull4. I suspect that Ace3 is using most of your CPU time. Which is pretty common when using PitBull4.
Some of that CPU is obviously coming from PitBull4's use of Ace3. I'll admit we seem to put a pretty hefty load on Ace3. I'm pretty sure most of that is coming from our extensive use of AceTimer3 in ways that it probably shouldn't be used. One of my todo list items is to go through and eliminate most of our use of AceTimer3.
Don't get me wrong. There is nothing wrong with AceTimer3. It's just not designed for the way we're using it.
Shefki,
Is there any instrumentation or debugging I can enable to help tell why the CPU consumption is so high when I have no frames being displayed? I'm happy to do the grunt work of figuring out why it's happening, I just need to know how I can gather the data.
Does deleting events in the Lua Texts module configuration cause Pitbull not to register for those events at all or just not perform text updates for those events? I'm wondering if Pitbull is responding to event even though it's not going to doing anything and that's the cause of the CPU load.
The other thing that occurs to me is that this may be related to suppressing the default Blizzard frames. When I disable Pitbull completely, UnderHood becomes the top CPU consumer while soloing, although it doesn't use anywhere near as much as Pitbull. When Pitbull is loaded, UnderHood no longer appears on the CPU consumption list at all, even though Pitbull isn't doing anything.
One question, is it possible to edit different frames by themselves? I mean, I really don't want my pet frame the same size as my own frame? Furthermore, I have no need to see my pet's cast bar. That was possible in PB3.0.
Great addon though.
chocozurean, CastBar doesn't actually poll. It just has to udpate on a timer in order to get a smooth castbar. I'm still unsure why it's chewing so much CPU time for you. Incidentally you wouldn't happen to be using TinyTip. There was a recent report of some sort of issue with it that causes PB4 to chew CPU time.
g1breel, It's hard to really say what your issue is. I know we still have some CPU sinks that we need to clean up. But there's only so much time. You can use a bug addon like BugSack or Swatter to capture errors. If you have any errors from PitBull4 please do open a ticket.
pawn83, string.sub(Name(unit),1,15) that would truncate the Name to 15 characters for example. Should be able to just wrap Name(unit) in any tags with the string.sub to do the truncate.
zekryn,
Kupotek, I'm not sure I understand what you're asking for. It sounds like you want vertical bars instead of horizontal but then I'm not sure what you mean by power at the bottom, space then health above it.
Am curious, how would I go about making a unitframe, where the power is at the bottom, space, then health above it, like a vertical column rather than a horizontal bar?
I couldn't seem to work this out. Thanks!
Love the addon, but one thing I don't care for and I cant figure out how to fix it myself.. is there anyway you can remove the race from "Class: Short" or just make one with nothing but level?
Airtonix,
Sorry for being slow, but how would I implement that into the name scheme for raid frames?