CurseForge and Overwolf are joining forces!
Awesome More Information
  • 0

    posted a message on Shadowed Unit Frames [official]
    Quote from Shadowed
    Nevermind, it was my fault. It's fixed.

    Fixed for Affliction and Demonology, but not working with Destruction. The space for them is there, unlike before, but its always empty. Its not showing the embers I have.
    Posted in: Unit Frames
  • 0

    posted a message on Shadowed Unit Frames [official]
    I'm not seeing warlock resources on my player frame running on the beta with build v3.4.4-57. I've put an export of my layout at http://www.wowace.com/paste/6046/.

    On live, I see soul shards just fine. I copied that profile over to beta, string replacing server names, and everything looks fine but in affliction spec I don't see soul shards. I've also enabled Demonic Fury to be shown but when in Demo spec its missing as well.

    Not sure if I've just missed some new option or if this is a bug. Any 'locks on the beta running with fresh bits see this working?
    Posted in: Unit Frames
  • 0

    posted a message on ButtonTimers needs a new author
    I'm incredibly lazy and kind of UI phobic and would therefore be a terrible candidate. On the other hand this is one of my favorite addons and one which I've recommended to many people. Since I'd be trying to keep it working for myself, I might as well become a member of the project.

    I'd been meaning to spec out a feature request related to letting users save button config profiles to make it easier to rearrange buttons (my bars mix dots, procs and cooldowns and make liberal use of the fixed timer setting). Mind you, this would have just been what it would have looked like from the user perspective and a rough idea of what the backend would be. But, you know, kind of lazy, hadn't gotten to it. I suppose becoming an author on the project is one way to make it happen, heh.
    Posted in: AddOn HELP!
  • 0

    posted a message on setting toc dependencies for no-lib packages
    Okay, I went and had my "fun with metatables"™ session. I was able to replace
    [SIZE=2]local L = LibStub("AceLocale-3.0"):GetLocale("MyAddon")[/SIZE]
    [SIZE=2]local BZ = LibStub("LibBabble-Zone-3.0"):GetLookupTable()[/SIZE]
    with
    local function DelayLoadLibTable(strLib, strMethod, ...)
        local table = nil
        local arglist = { ... }
     
        local function Load()
            LoadAddOn(strLib)
            local lib = LibStub(strLib)
            table = lib[strMethod](lib, unpack(arglist))
        end
     
        local mt = {
            __index = function(t,k)
                if not table then Load() end
                return table[k]
            end,
            __newindex = function(t,k,v)
                if not table then Load() end
                table[k] = v
            end,
        }
     
        return setmetatable( {}, mt );   
    end
     
    local L = DelayLoadLibTable("AceLocale-3.0", "GetLocale", "MyAddon")
    local BZ = DelayLoadLibTable("LibBabble-Zone-3.0", "GetLookupTable")
    and it worked swimmingly.

    However that's as far as my little dream of creating the wow addon version of delay load linking got. The big problem of course is that the moment you try to call a class method, the self param that will be passed is the wrapped lib rather than the lib itself. This will end up being a problem if, for example, code down the line cares about the address of the table, wants to call something like pairs on the table, wants to mess with the metatable, etc.

    I hit those problems right away when I tried wrapping the LibBabble-Zone lib and calling GetLookupTable through that. LibBabbleZone would check that the address of the table being passed as self was one that it recognized.

    Anyway, probably nothing here you didn't already know but I learned a few things playing around with this stuff.
    Posted in: Lua Code Discussion
  • 0

    posted a message on setting toc dependencies for no-lib packages
    Quote from sylvanaar
    I am still of the opinion that you should not use OptionalDependancies at all.

    Instead you should load the library via LoadAddOn at the time you are going to use it.
    Hmmm, very interesting. This makes me want to go have fun with metatables. By sticking an empty table in front of the one we're using from the lib we can wait until the first time the metatables __index or __newindex is called to load the lib.

    So, I could possibly replace
    local L = LibStub("AceLocale-3.0"):GetLocale("MyAddon")
    local BZ = LibStub("LibBabble-Zone-3.0"):GetLookupTable()

    with something like this http://paste.wowace.com/2646/. Not saying I would need to or want to for those two libs, just using them as an example. I only wish the servers were up so I could test that, heh.
    Posted in: Lua Code Discussion
  • 0

    posted a message on setting toc dependencies for no-lib packages
    Quote from Phanx
    It would, actually, if said devs were running an embedded library setup (which isn't incompatible with doing SVN checkouts), since your proposal would mean they would have to manually edit the addon's TOC to remove the Dependencies so WoW would load the addon.
    If you look at my initial "hack" implementation you'll see that the Dependencies line only has one # at the start. Wow looks at that and just sees a comment and ignores it. For a no-libs package, each line in that block will be prefixed by a # to comment it out. Only in the case of that line it goes from just being a comment to ## Dependencies, a tag that wow now recognizes and enforces.
    Posted in: Lua Code Discussion
  • 0

    posted a message on setting toc dependencies for no-lib packages
    Quote from Torhal
    It's a bad idea for one reason: Some folks (such as developers) update directly from project repositories, which aren't run through the magical packager replacement utility.
    I'm not sure I see the problem. The idea would be for only the no-lib zips created by the packager to have the Dependencies set. So devs enlisting may not get the "benefits" of having it set, but it certainly wouldn't do them any harm ...

    In the end, Nev's point about Libraries being LOD is probably the one that renders the discussion moot.
    Posted in: Lua Code Discussion
  • 0

    posted a message on setting toc dependencies for no-lib packages
    Quote from Xinhuan
    or he used an automated solution such as the Curse Client which handles it all (it installs all the stuff in the .pkgmeta externals as standalone addons).
    What the curse client handles is ensuring that you have all the libs you need to run ALL of the addons you have installed. But I don't usually want to run every addon on every character.

    For example, I usually only run Grid on my healers, the HUD on my rogues and feral druid, I don't run Gatherer on my tailor/enchantor or scribe/jc'er, I don't run raid mods on toons that are leveling, etc etc etc. The curse client doesn't really help me to find the minimum set of libs needed for a specific combination of the addons installed. If they all had their dependcies set, then it would be quite simple.

    There are also some addons like Ackis Recipe List which I generally don't have turned on for any character. On the rare occasions I want to check something with it I'd just pop open ACP, select it, reload ui, do my check and then uncheck it in ACP so that its off again the future. That's also a usage pattern that the client can't help with, but having dependencies set would.
    Posted in: Lua Code Discussion
  • 0

    posted a message on setting toc dependencies for no-lib packages
    Well, no, I *don't* want to cater to that case. I just mentioned its sacrifice in the original post out of completeness, to identify it as a side effect that could be seen as negative from a certain point of view. My opinion, and yours I believe, is that the benefits of that case don't out weigh the benefits of specifying the dependencies.
    Posted in: Lua Code Discussion
  • 0

    posted a message on setting toc dependencies for no-lib packages
    The confusion/problem is based on this scenario. Addon A is installed without libs; it requires addon B to work. Addon C is installed and contains B as an embedded lib.

    If the toc file for addon A does not specify addon B as a dependency then WoW will happily allow addon A to try and load. As long as C provides lib B, then A will load and work and we have happy user.

    By specifying A's dependency on B in the ToC file, we break that scenario and cause an addon, which would have worked (through luck/fate/etc), to instead explicitly fail until the user goes and installs addon B as a standalone.

    Usually when choosing between options, the case where something works more often would be prefered. I was arguing that its worth sacrificing that case because in the end it gives the user (or addons like ACP) more info to work with for all the other cases.
    Posted in: Lua Code Discussion
  • 0

    posted a message on setting toc dependencies for no-lib packages
    Quote from 8tImER
    Why would your addon not be loaded, if another addon embeds some lib that you use?

    WoW is not aware of that, it just loads the addon and all the files it includes.
    Its because WoW doesn't know about the embeds that other addons use that it will fail. Its assuming that loading mine must fail because it doesn't see the missing dependency in the addon list.

    So, for example I just took my addon and added to the toc file:
    ## Dependencies: LibDoesntExist
    Not a real lib name, no other references in my addon. In the addon list my addons is checked, but the name is red and next to the name it says Dependency missing. I log in and my addon is disabled; wow just didn't load it because there was a missing dependency from toc file.

    But the one good thing of setting the dependency is if I mouse over my addon, then wow would tell me that there's a dependency on LibDoesntExist and I could go download it.
    Posted in: Lua Code Discussion
  • 0

    posted a message on setting toc dependencies for no-lib packages
    I was thinking that it might be spiffy in a no-lib package for libs that would have otherwise been embedded to now be listed in the toc file as Dependencies. I believe I can hack that up in the toc file with something like:
    #@no-lib-strip@
    # Dependencies: Ace3, LibBabble-Zone-3.0
    ## OptionalDeps: Ace3, LibBabble-Zone-3.0
    #@end-no-lib-strip@
    So, in the no lib case Dependencies would become uncommented and OptionalDeps would become commented out.

    So, is this idea good? Bad? Meh?

    I know that it will cause my addon to not load in the no-lib case where another addon would provide those libs through their embeds. But in that case the user is sort of getting lucky that the addon worked and should one of those other addons be uninstalled they'll be broken and have no idea why. With the change, the user can see if there's a problem with missing libs.

    If people do think that it is a good idea, could we possibly get something added to the packager that would be less hacky than the way I was looking at doing it? Maybe a X-Dependencies meta tag or something that the packager would turn into Dependencies or OptionalDeps based on whether its a no-libs or libs package.

    Now in truth it doesn't really matter that much for my little addons, and the curse client does an awesome job managing no-lib installs, but it seems like a practice that could benefit some of the bigger addons should it catch on.
    Posted in: Lua Code Discussion
  • 0

    posted a message on ag_UnitFrames Status (What's going on?)
    I'll definately miss agUF. It was very good looking right out of the box. Especially the raid frames which were clean, shiny and nicely sized. As for replacements, I noticed that the overview for oUF_Ammo was "agUF style oUF layout" so I'll probably check that out. <edit> Got on the beta, oUF_Ammo wasn't working - layouts for versions before 1.4 aren't compatible with oUF 1.4 so it might be that </edit>

    One of the things I remember fondly about the original agUF was that additional addon of layouts you could install next to it. You just downloaded the pair, picked the option you liked best for a given type of frame (player, party, etc) and you were rolling. I haven't had a chance to play with oUF, but it looks intriguing and that it might be what I'm looking for.

    <edit> Well oUF doesn't look to be my dream solution, but it is pretty cool and I'll eventually check it out when I have time. But for the short term I'll have to find something else. </edit>
    Posted in: Unit Frames
  • 0

    posted a message on getting table id if __tostring is set in metatable
    Currently when you call tostring() on a table you get back some kind of identifier or address for the table which can be useful when debugging.

    Is there another way to get that info? I'd like to provide a __tostring metamethod on some of my tables, but once I do I lose the only way I know how get that value.
    Posted in: Lua Code Discussion
  • 0

    posted a message on how to know a quest is finished
    Thanks for the link, it turned out to be very helpful. So it turns out that I was backing the wrong horse in terms of QUEST_LOG_UPDATE versus UNIT_QUEST_LOGGED_CHANGED. I was mislead by the documentation page on wowprogramming.com for QUEST_LOG_UPDATE which says:
    This event (QUEST_LOG_UPDATE) should therefore only be used if you care about the QUEST LOG itself more than the quests; ie if you implement a custom quest log, then you'd use this event to update the display when things like dailies reset or headers change.
    However, if you are ONLY interested in tracking QUEST-related information (accepting quests, abandoning quests, achieving quest progress, and completing quests), there's a better event: UNIT_QUEST_LOG_CHANGED.


    So when the quest is completed UQCL fires before the quest is removed from the log while QLU fires before UQCL and then again after when the quest is in fact absent. That page seemed to indicate I would get spammed by QLU a lot more than UQCL, but while completing a quest just a few minutes ago (to kill n number of things) it generated pretty much the exact same number of events. It may generate more when you're dealing with the quest giver, but I'm not worried about that.

    The other clever thing he's doing is hooking AbandonQuest to prepare QLU to expect a quest abandonment. AbandonQuest is apparently only fired after the user has committed to the action. I was going to use quest completion mechansim to confirm turn in; he just assumses if he's missing a quest an there was no call to AbandonQuest that it was turned in.

    Thanks for the tip and thanks to Tekkub for the code I'm about to plagiarize :)
    Posted in: Lua Code Discussion
  • To post a comment, please or register a new account.