Posts Tagged ‘Addons’

From FuBar to LDB: Writing Your Own AddOn Loader

In terms of menubar utilities, it appears I’m just a sheep following the lead of the enlighted Mr. Kestrel. It was after one of his posts that I moved from Titan Pannel to FuBar, and it was again after reading his November post on LDB that I migrated from FuBar to LDB (currently using StatBlockCore myself).

One of the small things which have been irking me since the transition, though, is that a certain amount of FuBar plugins (like DurabilityFu) are Load on Demand, and since I no longer use FuBar, there’s no longer anything to demand that these are loaded.

This has been annoying me for a while now, and I finally decided to write my own AddOn loader.

Fortunately, it’s so easy even someone as ungifted for coding as myself can do it. I suspect I might run into issues at some point but for the time being, it works.

And this is how you do it.

First, go to your Interface\AddOns\ folder.

Create a new folder, name it eg. MyLoader

In this folder, we will create just one new text file, called MyLoader.toc

And we will add the following code:

## Interface: 30400
## Title: MyLoader
## Notes: A little self-made utility to load some load-on-demand addons.
## Version: 0.1
## DefaultState: enabled
## OptionalDeps: loadondemandaddonX, loadondemandaddonY, loadondemandaddonZ, (...)

Make sure that every AddOn you want to load with OptionalDeps are named exactly as their respective Folder names, save it, and voilà, your own AddOn loader is done.

Clunky, and you’ll have to update the ## OptionalDeps (and ## Interface) information manually if things change, but it does the trick and only requires a minute to make.
Why pick OptionalDeps (Optional Dependencies)? If you use required dependencies instead, the little loader we just wrote will not work if for whatever reason one of the addons you want to load is not enabled or not present.

On Similar Matters

HowTo: Debug your UI

Stranded in WoW 3.0.2 withtout working addons? Getting mad because you can’t exactly figure out what’s broken where?

Many things actually work, but in order to get it fixed, a methodical approach works best.

Here’s my method:

Tools

  • AddOn Control Panel (ACP), found here
  • If you’re using Gatherer or Auctioneer, Swatter which is part of the distribution, otherwise I recommend Rabbit’s excellent Buggrabber.

Method

  1. Disable all AddOns
  2. Make sure ACP and either Swatter or Buggrabber is active (if you have both, Swatter will politely yield to Buggrabber)
  3. If you’re using Swatter, after loading a toon, type /swat enable. Remember, if you have both, only Buggrabber will actually work
  4. Type /reloadui (it should now work) or /acp and click the reloadui button, you’re now in a clean slate state
  5. Now add your addons back through ACP step by step, and reload the UI between each step
  6. Swatter should start popping up by itself, if not, type /swat show to see the error list, and /swat autoshow once to have the window pop up on an error
  7. The errors due to any missing libraries are at the beginning of the error lists, the rest are usually errors borne out of the fact that said libraries aren’t there
  8. /buggrabber # will show you each error in turn. Swatter will need you to click through to reach the earliest errors.
  9. Now go download your missing dependencies, exit the game and restart to get them accounted for, then rince and repeat.
  10. Last but not least, with Swatter, make sure you type /swat clear before you reload, since it actually saves the entire error list. Buggrabber does not.

Note that Buggrabber also relies on a companion, bugsack, which gives a nice window display too. It doesn’t currently work for me, though, and barebones buggrabber does the trick as well.

It’s a long and painful process, but the only way to recover whatever you need asap without going completely insane.

I hope :)

On Similar Matters

A Plea to Ace & Curse: Bring Us NoLib AddOns ASAP

As many readers have been slowly realizing over the past 24 hours, the WoWAce community has gone through a massive change in the way they make addons available to the general public – ie. all of us end-users.

The reason given is simple, the Ace community’s success, combined with automatic updaters, have been vastly exceeding their servers’ capacity, to a point which became seriously threatening to their core mission: to provide AddOn developers with the adequate means to work, share, interact and develop code.

The AddOn distribution part of WoWAce has started to effectively imperil the AddOn creation part, something which would, in the long term, harm us, the end-users, a lot more than having to change our downloading ways.

In concrete terms, the WoWAce community will no longer host AddOns for wide distribution, but rely, instead, on Curse.com for that task.

This will impact us in the following manner:

  • If you were manually updating AddOns from files.wowace.com, switch over to curse.com or wowinterface.com (which is still operating at full speed)
  • If you were using WoWAce Updater, this tool has been discontinued. Your recommended choice is to download the curse client instead and start using it.
  • If you were using a different updater and it supports AddOn site changes, like WUU (which is what I’m using), you’ll have to start the sometimes gruesome (when you have 290 AddOns and libs in your portfolio, that is gruesome) task to reroute each of the Ace packages to a different site, adapting the site ID in the process. Note that Curse repositories in general use only lowercase names (contrary to what wowace had) and WoWInterface uses an ID number followed by a dash and the addon name (eg. 1234-myaddon). Also note that WoWI is currently in the low bandwidth mode and updating through the standard siteID is actually not possible.

No matter how, solutions are at hand to help you bring your AddOns up to 3.0.2 par. Granted, the Curse client is, at the time of this writing, quite lacking in features, bells and whistles, but it mostly works.

However, one of the core and fundamental benefits of using Ace AddOns AND getting them from WoWAce was the possibility to download the AddOns separate from the Libraries. The advantage isn’t just in file size, it’s also the best way to ensure you’re not suddenly having two AddOns having library version conflicts, like one loading an older instance of a library which doesn’t hold more recent or updated functions the other one would need.

This is therefore an appeal to the people in charge at WoWAce and Curse. You yourselves have extolled the virtues of nolib distributions, of disembedding the libraries from the individual packages. You have convinced us years ago because it made perfect sense, and you were right then. It still makes perfect sense today.

Please give us access to the bare packages without the libraries. Manually erasing 220 lib folders every update is just not viable.

Thank you kindly.

One of your enthusiastic end-users.

On Similar Matters

Quick Notes

Just 1-2 quick things:

  • On Damage Meters accuracy, SW Stats and Recap produce the same results as Recount, Violation and WWS. They all do not count self-inflicted damage through seals as damage output and give the same numbers as Recount.
  • On healing, the numbers are vastly divergent and no coherence can be observed between any of the surveyed meters so far. There is no coherent way to ascertain which tool is closest to what was really produced.
  • Changed the banner logo for horde on the site. The previous one was choppy and ugly.
  • Why did the Exodar crash? The question is, perhaps, why did it make to Azeroth in one piece at all? I mean come on, if the Draenei were trying to play the space faring race in this kind of horribly conceived spaceships, no wonder they are on the brink of extinction. Most of their race probably didn’t perish at the hands of their foes but in freak space exploration accidents. Whoever designed this thing should be exposed as a public testimonial demonstrating that drugs are bad.
  • Truth of the matter, what happened was probably that when the helmsman’s shift was over, the pilot from the following shift never found the cockpit of the thing, and the helmsman simply fell asleep of exhaustion after trying to keep his flying anvil under control for 72 hours straight. The poor tentacle-face is probably still sound asleep somewhere, as nobody actually managed to remember the way to the helm. True story.

On Similar Matters

The Quest for Precise Damage Metering: Almost There

Numbers, numbers, numbers. That’s all Damage Meter addons are about. Getting those as close to what your server knows you have dealt is the big challenge, and the Eldorado promised by patch 2.4 is getting closer by the day.

To wit: I logged onto the Paladin to do some Shattered Sun dailies. On a whim, seeing I had both Violation and Recount active, I also turned on Loggerhead, and recorded my session.

As long as I kept bombing the dead scar, all three measurement tools fully agreed with each other. However, when my little loladin went back to do ground-based demon cleansing, differences started to appear.

Here are the relevant screenies with the numbers:

Recount and Violation

Recount: 1’631’418

Violation: 1’638’861

WWS: 1’632’022

WWS Summary

One thing to note regarding WWS, it appears to be counting the self-inflicted damage of my seal / judgement of blood as part of my total damage output:

Complete WWS Breakdown

Compare this to Recount’s damage records for Seal / Judgement of Blood:

Skill usage recorded by Recount

Now the interesting part is that if you add the self-inflicted portion of Blood to Recount’s total damage dealt, you end up with 1’638’810, a mere 51 points off Violation numbers, and that, IMO, explains the differences. Violation, too, counts self-inflicted Blood damage as part of your personal damage output.

But wait, it gets better. If we manually add up every line in the WWS detail report, the total actually reads 1’639’465. If you look at that breakdown, you’ll notice one oddity right at the bottom: 604 damage attributed to Mana Tap. That’s a fluke, mana Tap doesn’t deal damage, it drains mana. Remove this fluke and total damage dealt, including self-inflicted, according to WWS is… 1’638’861.

In summary:

  • WWS and Violation gather the exact same numbers
  • WWS currently needs some manual tweaking in order to exclude flukes
  • Recount is only off the other two by a blood elf’s hair

All three surveyed metering methods really do end up very close to each other. If we remove the bombing run from the numbers, after tweaking, Recount records 137’342 damage, WWS and Violation 137’393. The discrepancy is 0.03%. That’s tiny, and a testimonial to the huge amount of work put up by the three dev teams on patch 2.4 data.

On Similar Matters

Damage Meters in Patch 2.4, One Week Later

This is just a very short round-up of where the different damage meters are today in terms of parch 2.4 compatibility, not an in-depth benchmark.
I ran a very quick solo hunter test, here are the results:

  • Damage Meters in patch 2.4Assessment: Not updated yet, the author said he was working on it.
  • DamageMeters: Author has abandoned the project, a new maintainer might pick it up
  • Recap: Up and running (tested r66903)
  • Recount: Up, unfortunately the latest beta I picked up appears to be stuck in test mode. Undoubtedly, this should be fixed with the next revision (tested r67044).
  • SW Stats: Up and running. The pet settings appears to be broken in the sense that you get the data as a hover tooltip, but not as a separate bar yet (tested v2.2.0)
  • Violation: Up and running (tested r669621)

The data recorded by all three fully functional addons was consistent through and through, but this wasn’t a full test, just a “let’s look what works” sortie.

In related matters, for Combat Text Scrollers, SCT and MSBT have been updated for 2.4. The author of Parrot is currently very busy with DogTag 3.0, Rock and PitBull (several revisions going up per day), since Rock in particular is the bedrock on which all his addons are built, expect Parrot to come when he’s satisfied with the state of the three current focus projects.

On Similar Matters

Damage Meters Benchmarking: Recount Maintainer Feedback

Elsia, the current maintainer of the benchmarked Recount, took the time to post extensive feedback both on general accuracy considerations and on the pet damage discrepancies noted with the now outdated version I used during the first part of the series:

1) It’s a very widely held believe that WWS is most accurate and establishes a correct base line.

This believe is not correct for healing. WWS only has as information what the combat log provides, whereas online damage meters have extra information such as the actual current health level and max health of a player. This information is not present in the combat log. It’s important to note that the combat log does not report overhealing.

In game overhealing is calculated from the difference of current max health minus health before the heal landed compared to the incoming heal. If the incoming heal is larger than that difference the remainder is overhealing.

WWS does not have this information, so instead it estimates overhealing by taking the incoming damage number and comparing it to the incoming healing number. If there is more heals than damage that’ll be calculated to be overhealing. This algorithm will lead WWS to underestimate overhealing and overestimate actual healing.

In general for healing volume and overhealing stats in-game damage meters (if not subject to bugs) are more accurate than WWS.

In general one can expect WWS to underestimate overhealing and overestimate healing. This is what you saw in your test.

As a side-remark, the same holds for damage. If a mob has 20 health and is hit by 2000 damage all damage meters online and offline that I know will count the full 2000 damage, whereas actually this should be 20 damage and 2000 over-damage. We don’t really do this because mana-preservation isn’t such a longevity issues as it is for healers. Hence in this department WWS and online damage meters tend to agree very much, because they just calculate total damage done as displayed in the combat log.

In retrospect, I realize that I quite simply stated that WWS would be used as a baseline without positioning its own limitations. Guilty as charged, and Elsia clarified the limitations of both types of measuring (online and combat log parsing) very eloquently. Indeed I should have cautioned somewhere that in this particular case, WWS does not serve as a baseline for absolute accuracy due to its own limitations, but more simply as a trendline which has two advantages, the first one not being actually benchmarked and the second one the trust it enjoys from the player community.

What is certainly remarkable nonetheless is that in each of the exercises so far we have seen a clear and firm majority result which was consistent through different tools as well as the offline measuring offered by WWS. Which speaks quite highly for the huge amount of work produced for each of the addons by their respective authors, small discrepancies notwithstanding. Something I haven’t acknowledged so far.

2) Recount: I have since made various changes and improvements to recount, specifically to pet handling. The current version of recount will properly track pet healing, overhealing on pets, damage done to pets. With 2.4 Recount will also get the pet handling rewritten and I hope that the discrepancy you reported here will be removed by then.

Finally with 2.4 I’d expect the accuracy between meters to normalize. “Parsing” is straight forward, and certain issues that each meter may have handled differently will be unified.

Which is of course excellent news for each addon’s userbase, and provided that every of the surveyed meters gets transitioned over to the new method, users will be able to pick the addon based on the feature set he wants without compromising with accuracy. As the mini-review in the first part of the benchmarking has hopefully hinted at, there is a vast choice available today and each of the tools bring their own unique design and data display to the table.

On Similar Matters

AddOns in Review: Damage Meters Benchmark III, solo Warlock

This will be a lot shorter than the other benchmarks as I wanted to verify the low-level hunter results. I tested a level 60 lock with lolguard in HFP for a while, all tested meters are consistent with each other and match WWS, with the exception of DamageMeters, which simply cannot account for the felguard’s Intercept Stun damage, and thus misses some of the pet’s DPS.

All other abilities are recorded properly, whether it is damage or healing output, not a single surprise anywhere. Next week I’ll try to produce some group results.

On Similar Matters

AddOns in Review: Damage Meters Benchmark II, solo Hunter

As we saw in the previous benchmark in our series, the surveyed Damage Meters get level 70 character solo play right. Before that one I ran a test series with my level 13 hunter, though, and the picture starts getting differentiated.

Here is the summary table:

Hunter Figures

The black squares indicate where I forgot to screenshot the data (/em slaps self). It was actually the first series I ran, though, and my mind wasn’t entirely settled on what I wanted to measure at that time.

Regarding Assessment’s Damage Done, it doesn’t show the pet separately in the total damage dealt, and rounded the figure at 11200 (hence the italics). The figure displayed above is obtained by substracting the pet damage from the drilldown view from 11200.

Recount’s pet damage started lagging below the others pretty early in the series and the gap tended to grow over time. There’s no practical mean to account for the loss of healing done tracked by either Assessment or Recount.

And then there’s DamageMeters, who was struggling on several counts:

  • Despite having the correct setting, it didn’t take the pet into account before a manual dismiss & call pet. At that point, the difference in pet damage was 156 (one fight). The gap never stopped growing fight after fight
  • In the detailed view, DMM doesn’t identify Gore 2 by name, but instead attributes some Autoshot damage to the pet, 291 damage to be precise.

Recap, SW Stats and Violation all tracked overhealing which WWS didn’t recognize, but the figures remain consistent both accross these three, and the sum of effective healing + overhealing matches the WWS total. DamageMeters got the healing figures right for that matter.

This concludes the solo play with pet for a low level toon. Due to the various troubles, I’ll run a test on my level 60 warlock next as a complement.

On Similar Matters

My Damage Meters says Other Healers are Slackers

Convergence. While not directly related to my benchmarking exercise, I read a forum post wherein a paladin states that in his Kara run, his meters show him doing up to 70% of the healing when running with a resto shaman and resto druid. He asks why the others are such slackers and what he should do.

The typical “first post” me too reaction was all-too-predictable: take them to task for it, take it up with the raid leader or the guild master.

Only several posts later someone started asking for more details, and recommended the OP to get more data before raising a fuss.

The question about whether a healer of a different class is pulling his weight, based upon your own damage meter addon (regardless of whether they actually are accurate enough or not, or whether there is some data synching between other players) is one which can be a lot harder to answer than just looking at a ranking.

First, there is the matter of knowing, in details, how the other classes heal. I currently write from a paladin’s perspective, my other healing toons’ highest level is a 29 shaman I haven’t touched since twinking became rampant in BGs… over two years ago. Oh, theoretical knowledge can help bridge the gap, especially if you have been playing and discussing with the same dedicated people for a long time, but first-hand experience is a different beast.

Then there is the matter of role repartition and how well your group / 10-men functions: if you have an excellent tank and the raid only takes little splash damage, the shaman for instance may be underused. The resto druid may have miserable effective healing scores and if you were to look into more detailed information than just your e-peen-boosting healing meter, you might see that he sits at 50% overhealing. And if you were using tools allowing in-depth analysis, perhaps it would suddenly appear that most of that overhealing (and loss of status on the healing meter) is actually due to you capping the tank spamming Flash of Light while he has Heal-over-Time spells ticking for nothing and going to waste.

Beyond that, you’d also have to get a good understanding of what exactly your Healing Meter addon records and how it gets attributed – A shaman’s Earth Shield for instance is usually recorded as healing done by whoever it is cast on instead of the shaman. Priest have heals suffering from the same loss of attribution. Paladins have it easy in this regard as we only offer single-target direct heals, which means we tend to miss the whole picture and how other classes are measured.

In short, regardless of whether any in-game Healing Meter is actually accurate in recording data from other players in your group or raid, I would definitely caution anyone from using just the top layer of information to pass judgment on how other classes perform. No matter the context, you won’t merely need detailed information on what is happening in the raid, what data is recorded and how it is being recorded and attributed, who was assigned to what healing duty, but also a keen understanding on how the other classes perform and what their own performance benchmarks should be. Meters are only a tool, and one which we should learn to use with the right dose of caution and grain of salt, lest we get caught up by ego and e-peen instead of the drive to become a better player.

On Similar Matters

World of Warcraft™ and Blizzard Entertainment® are all trademarks or registered trademarks of Blizzard Entertainment in the United States and/or other countries. These terms and all related materials, logos, and images are copyright © Blizzard Entertainment. This site is in no way associated with Blizzard Entertainment®