Home
Subscribe:
Contact:
Subscribe to this blog by RSS Follow me on Twitter
Subscribe to this blog by RSS

Fixing 4.1 Addon Problems

Posted by Malevica on April - 28 - 2011

With every patch come the usual slew of addon errors, and 4.1 is no exception. This time, however, there’s more than the usual random problems since Blizzard made a change to the format of in-game combat log events. This means that any addon which listens for and responds to combat events is at risk.

I’m going to assume you’ve turned on “Load Out of Date Addons” from the addon screen. If you’re still having problems with your addons, I have some advice.

Update your addons

And keep updating them. Addon authors are real people too, with real lives; they aren’t always able to respond to a new patch immediately, especially if they aren’t actively playing any more, but they usually get round to it in a few days. Be patient and keep checking the addon sites.

I like to install the Curse Client around the time of major patches because it makes checking for updates much quicker and easier.

Also, as Zelmaru pointed out in her comment below, addon authors often release alpha and beta versions of their addons quickly, and then a full release version once people have tested it for a few days. These early versions are generally quite safe to use though, and can get you through the early few days.
You may also find that other people have fixed some addons and uploaded “Fan Updates” onto the addon sites, usually WowInterface.
She gives advice for getting access to those versions, which can be found in the comment.

Look for replacements

If you’re a glass-half-full type of person, you might regard this as a good time to revisit your UI and look for replacements for older or less well-maintained addons. Titan Panel could be replaced by a LDB addon for example, or Recount by Skada, or XPerl by Pitbull4. (Those might be updated by now, they’re just examples of substitutes).

Toggle “Display Lua Errors”

If you’re having significant framerate issues, especially in combat, this might be because of a large number of addon errors being generates in quick succession. However, I have found a nifty trick that, while it won’t fix your addons’ functionality, does seem to resolve the framerate problems.

Go into Options > Interface > Help and turn on “Display Lua Errors”. Wait for the Lua error box to pop up (or make it pop up by shooting something), then turn off “Display Lua Errors” again. If you’re lucky, your framerate should be back to normal and should stay that way until you log off. Unfortunately you will need to repeat this process every time you relog, but it’s not a particularly onerous process.

Fix the addons yourself

If you’re not comfortable editing the Lua files themselves then don’t, just wait for them to be updated by their authors. However, for addons broken by the combat log change the fix can be pretty quick, if you can use a bit of intuition. If you’re in any doubt though, wait, or risk breaking your addons further.

Bear in mind I’m not an addon coder, but I did some poking around and have fixed a couple of my own addons. I’m including the following in case it helps other people, and I make no guarantees whatsoever!

Wowpedia describes the change thus:

The 4.1 patch added a new parameter, hideCaster, moving all other parameters beginning with sourceGUID one place to the right. Addons that haven’t been updated for 4.1 may not function correctly as a result.

What addons do when parsing the combat log is essentially split the long line into a number of chunks, assigning labels to each chunk. because Blizzard added an extra bit of information early in the combat log line, most of those labels now don’t refer to what the addon authors expect them to. Fixing them is therefore a matter of updating the combat log parsing functions.

An example, by way of illustration, is MikScrollingBattleText.

Open the file MSBTParser.lua, and look for the following:
Line 344:

local function ParseLogMessage(timestamp, event, sourceGUID, sourceName, sourceFlags, recipientGUID, recipientName, recipientFlags, …)

Insert the term ‘hideCaster’ between ‘event’ and ‘sourceGUID’, and hey presto, the problem is fixed. You should now have a line that looks like:

local function ParseLogMessage(timestamp, event, hideCaster, sourceGUID, sourceName, sourceFlags, recipientGUID, recipientName, recipientFlags, …)

Another addon that I have which I fixed manually was Death Note. For this one, you need to open the file DataCapture.lua, and search for the three (3) lines that need editing. These lines are quoted below, so you can use copy/paste to search. (Edit: This one is now fixed officially)

Line 17:

local function SpellAuraRemovedFilter(timestamp, event, hideCaster, sourceGUID, sourceName, sourceFlags, destGUID, destName, destFlags, spellId, spellName, spellSchool, auraType)
to
local function SpellAuraRemovedFilter(timestamp, event, sourceGUID, sourceName, sourceFlags, destGUID, destName, destFlags, spellId, spellName, spellSchool, auraType)

Line 24:

local function SpellCastSuccessFilter(timestamp, event, hideCaster, sourceGUID, sourceName, sourceFlags, destGUID, destName, destFlags, spellId, spellName, spellSchool)
to
local function SpellCastSuccessFilter(timestamp, event, sourceGUID, sourceName, sourceFlags, destGUID, destName, destFlags, spellId, spellName, spellSchool)

Line 338:

function DeathNote:COMBAT_LOG_EVENT_UNFILTERED(_, timestamp, event, hideCaster, sourceGUID, sourceName, sourceFlags, destGUID, destName, destFlags, …)
to
function DeathNote:COMBAT_LOG_EVENT_UNFILTERED(_, timestamp, event, sourceGUID, sourceName, sourceFlags, destGUID, destName, destFlags, …)

I also found that Incubator2 had problems. In this case, the substitution is:

Line 755:

function mod:COMBAT_LOG_EVENT_UNFILTERED(_, timestamp, eventtype, srcGUID, srcName, srcFlags, dstGUID, dstName, dstFlags, …)
to
function mod:COMBAT_LOG_EVENT_UNFILTERED(_, timestamp, eventtype, hideCaster, srcGUID, srcName, srcFlags, dstGUID, dstName, dstFlags, …)

Once again, if you aren’t comfortable doing this then just wait. Not every addon looks identical, and not every addon is coded so it’s simple to spot where you need to make the changes. On the other hand, if you can figure it out then you might just be able to DIY fix your addons and get them working quicker.

Possibly Related Posts:

Categories: Advice and Strategy

13 Responses so far.

  1. Zelmaru says:

    Great guide. A few more suggestions.

    You are braver than I am regarding the lua! However, sometimes it’s not necessary. Sometimes fans do an update and put it up for others to downlaod. This can happen when an author abandons an addon and the fix is fairly quick. I’ve seen it for MSBT lately and other addons like Tellmewhen, etc. These fan updates are USUALLY not on curse, but can be found on wowinterface, if they exist.

    Second, you may be able to get an alpha or beta version of your addon before the release. Not usually recommended, but after a patch it’s better than nothing.
    (1) Go to the page at curse gaming
    (2) there should be a link for “development site” for any addon. Usually it’s curse forge or wowace.
    (3) MANUALLY download the addon version you want. Unfortunately, curse forge and wowace assume that you want the release version, not the alpha, so you have to be clear and specify. Don’t just click the big DOWNLOAD button – but go to the specific file you want.

    The forums at the development sites are also a good place to find snippets of code from helpful addon users – which you can then use to fix your addon.
    Recently posted by Zelmaru: Test Drive- Mik Scrolling Battle Text Fan Update for 41My Profile

    • Malevica says:

      Yeah, just after I hit submit I saw your post about MSBT’s Fan Update. I tend to use WoWAce/Curse so I’d not realised how common they are, so it’s a good tip.
      I also didn’t mention looking for alpha versions, which is a great piece of advice too. Once I’m done wiping to hMaloriak I’ll add something to that effect in the main post ;-)

      Thanks for the information!

  2. GamerProZone.com » Blog Archive » The Daily Quest: You want me to take you where? says:

    […] Type “H’ For Heals has a handy post on dealing with 4.1 addon woes. […]

  3. The Daily Quest: You want me to take you where? | Worlds Of Warcraft Central says:

    […] Type “H’ For Heals has a handy post on dealing with 4.1 addon woes. […]

  4. The Daily Quest: You want me to take you where? | Warcraft Ink says:

    […] Type “H’ For Heals has a handy post on dealing with 4.1 addon woes. […]

  5. The Daily Quest: You want me to take you where? | The Best Guide To Free Wow Gold says:

    […] Type “H’ For Heals has a handy post on dealing with 4.1 addon woes. […]

  6. Tsudrats says:

    Mine patch quirk was a wildly fluctuating fps from a scabby 1 to a lofty 198 all in the space of a blink of an eye. The highlight came the day stepping into an instance I sat at one and got ‘updates’ every time I got a new image of how the fight was going. My solution (thanks to a friendly comp-tec) was … go to advanced settings and limit your fps. I dragged that foreground fps setting down off 100 and darned if he wasn’t right. I now run consistently at fps much lower than my pre-patch play and don’t notice the difference but do appreciate no longer experiencing my embarrassing post-patch freezing!

  7. […] Type “H’ For Heals has a handy post on dealing with 4.1 addon woes. […]

  8. […] Type "H' For Heals has a handy post on dealing with 4.1 addon woes. […]

  9. […] "H' For Heals has a handy post on dealing with 4.1 addon woes. Is there a story out there we ought to link or a blog we should be following? Just leave us a […]

  10. Dulce says:

    One other resource is the forums on WowInterface.com, sometimes people who have fixed the lua themselves will post the fix.

  11. […] Type “H’ For Heals has a handy post on dealing with 4.1 addon woes. […]

Leave a Reply


CommentLuv badge