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

    posted a message on IHML - I Have Macro Lol! - Official thread
    Quote from GokieKS »

    Is the removal of macros working? When I try to remove any macros using the UI window, all other macros show up as nil. If I try it using command line, /ihml list no longer works. If I reload UI, the one I'm trying to delete comes back again.

    I can not reproduce this. Deleting macros is working for me and they stay gone when I reload UI.
    Try delete (or just rename to backup) the IHML.lua in your WTF/Account/<Account name>/SavedVariables folder.

    If that doesn't fix it try disable all other addons to see if there's any other addon interfering.

    If you find out what was causing it or if anyone else is experiencing this problem I'd love to get more info so I might be able to fix it.
    Posted in: General AddOns
  • 0

    posted a message on Help me fix this code please
    First: Your indentation sucks. Whenever you have two end in a row on the same indentation level you're doing it wrong.
    Second: if (UnitIsPlayer(unit) or not UnitIsPlayer(unit)) then makes no sense at all. One will always be true.
    Third: I'm not sure if you know but this will create a new "targetinfo" function every time this runs. (Looks like you're doing some kind of unit tooltip stuff, so it could be a lot of functions.)
    Forth: If you expect return (who) to get you a string with the target name in paranthesis you wont be happy with the results. You need to do: return "("..who..")" or return ("(%s)"):format(who)

    Now to your problem. unit is sometimes nil and you can't concatenate nil with a string. I would do it like this:
    local playerName = UnitName("player")
    local function targetinfo(unit)
    	if UnitExists(unit) then 
    		local who = UnitName(unit)
    		if who == playerName then 
    			return "|cffffffffYou|r" 
    		return who
    		return "(none)"
    -- snip --
    	-- Targetline
    	if unit then
    		local unittarget = unit.."target"
    		local info = targetinfo(unittarget)
    		if info ~= "(none)" then 
    			local _, class = UnitClass(unittarget)
    			self:AddLine("Target: "..ClassColors[class]
    Posted in: Lua Code Discussion
  • 0

    posted a message on IHML - I Have Macro Lol! - Official thread
    Quote from Zetsuei »

    Just wondering if this could get some RBM support since I've switched over from Bigwigs, I'm sure plenty of other people have as well. Didn't even realize it didn't swap until i was dead on Archimonde -_-. Anyway support would be great, if not I guess i'll just have to remember to swap it manually thanks for saving me a lot of time and macro space.

    I'll look into it. Shouldn't be impossible :)
    Posted in: General AddOns
  • 0

    posted a message on AceGUI-3.0-SharedMediaWidgets
    Quote from Ammo »

    The current name looks like a jumble of characters. It's shite.


    That's your opinion. I think it's perfectly clear :)
    Posted in: Ace3
  • 0

    posted a message on AceGUI-3.0-SharedMediaWidgets
    Quote from Ammo »

    That is one fucked up name for a lib :p

    why not: LibSharedMedia-3.0-Widgets

    Much clearer.


    Read the thread. It was first called "LibSharedMedia-3.0_SupportWidgets"
    That triggered these responses:

    Quote from Elsia »

    I find the lib name confusing. It's a lib that Adds to AceGUI LSM support not something that adds to LSM widgets.

    AceGUI-LSMWidgets would be better in my book.

    Quote from Elkano »

    wrt the name, I'm with Elsia, since it's an addition to AceGUI to allow better support for LSM. If you're not using AceGUI it won't be of any help, so the name should point out that relation.

    And I agree with them. LibSharedMedia-3.0-Widgets sounds like an enhancement to LSM3 not AceGUI.
    Posted in: Ace3
  • 0

    posted a message on LibHealComm-3.0 Official Thread
    Quote from airtonix »

    seems circle of healing doesnt get reported, am i missing something?

    Circle of Healing is instant cast.
    Posted in: Libraries
  • 0

    posted a message on AceGUI-3.0-SharedMediaWidgets
    Don't get me wrong. I like the widgets. I just don't think they have anything to do in LSM3.

    If they're only loaded if AceGUI is present, why can't they be in AceGUI and only load if LSM3 is present?
    Would make a lot more sense to me. Not all addons using LSM3 will be using AceGUI.

    You made them smaller, that's great. But what if Rock, dongle, Cosmos, etc, wants to add their widgets to LSM3 as well?
    Framework specific stuff don't belong in LSM3. Don't really care how small it is. It completely contradicts the purpose of LibStub'd libs.
    Posted in: Ace3
  • 0

    posted a message on AceGUI-3.0-SharedMediaWidgets
    Quote from OrionShock »

    they are relatively small additions to the libs...

    The pastey for all three widgets is ~50 kilobyte.
    My whole LibSharedMedia-3.0 folder (including .toc, lib.xml and changelog) isn't even 10 kB.
    So I wouldn't call it a "small addition".

    Seriously, trying to get more addons to support LibSharedMedia-3.0 (that was basicly meant to be LSM1 without Ace dependencies) isn't going to be easier if 80% of its code is specific to Ace3 when it don't have to be that way.
    Posted in: Ace3
  • 0

    posted a message on AceGUI-3.0-SharedMediaWidgets
    Aren't they specific to AceGUI-3.0 though? LSM3 isn't only made for Ace3 and I don't think I'd want every framework to add stuff to LSM3 that I'd never use.

    They belong in AceGUI-3.0 or a separate plugin (like AceDBOptions-3.0) imo. Can call it AceGUILSM-3.0 :P
    Posted in: Ace3
  • 0

    posted a message on Alchemy Mastery Proc / Discoveries Addon?
    Posted in: Addon Ideas
  • 0

    posted a message on LibStub and CallbackHandler, more python = less "special"
    Don't worry. This isn't one of those posts. This is me saying "Ok, you can have it your way."

    I made a python script to make LibStub and CallbackHandler handled like any other lib and I wanted to share since I know I'm not the only one annoyed by this.
    This will remove all copies of LS and CBH from your addons and add them to OptionalDeps of those addons instead.
    Note that you will need LibStub and CallbackHandler-1.0 as seperate addons directly in your addons folder. The script won't touch those.

    Python isn't normally my thing, so I give no guarantees that this won't blow up your computer or currupt your toc files. Backup your addons first ;)
    Put this in your WoW/Interface folder (or edit directory = ... on line 86 to point to your AddOns dir) and run. Enjoy :)
    import re
    import shutil
    import os, os.path
    bangbang = re.compile(r"^(\xef\xbb\xbf)?## ?")
    optDepSearch = re.compile(r"^## ?OptionalDeps:")
    optDepOkLS = re.compile(r"^## ?OptionalDeps:.*LibStub")
    optDepOkCBH = re.compile(r"^## ?OptionalDeps:.*CallbackHandler-1.0")
    hasExtLS = False
    hasExtCBH = False
    countLS = 0
    countCBH = 0
    def searchAndDestroy(fullpath, name, evil):
    	found = 0
    	for dir in os.listdir(fullpath):
    		path = os.path.join(fullpath, dir)
    		file = os.path.join(path, evil+".lua")
    		if dir == evil:
    			print "Removing "+evil+" from "+name
    			found += 1
    		elif os.path.isdir(path):
    			found += searchAndDestroy(path, name, evil)
    		elif os.path.isfile(file):
    			print "Removing "+evil+" from "+name
    			found += 1
    	return found
    def addToToc(tocfile, foundLS, foundCBH):
    	f = file(tocfile, "r+w")
    	newtext = ""
    	edited = False
    	for line in f:
    		if edited:
    			newtext += line
    			if optDepSearch.match(line):
    				newline = line.rstrip()
    				if foundLS and not optDepOkLS.match(line):
    					newline += ", LibStub"
    				if foundCBH and not optDepOkCBH.match(line):
    					newline += ", CallbackHandler-1.0"
    				newline += os.linesep
    				newtext += newline
    				#print line
    				#print newline
    				edited = True
    			elif not bangbang.match(line) and not line.strip() == "":
    				newline = "## OptionalDeps: "
    				if foundLS and foundCBH:
    					newline += "LibStub, CallbackHandler-1.0"
    				elif foundLS:
    					newline += "LibStub"
    				elif foundCBH:
    					newline += "CallbackHandler-1.0"
    				newline += os.linesep
    				newline += os.linesep
    				newtext += newline
    				edited = True
    				#print "No old OptDeps"
    				#print newline
    				newtext += line
    				newtext += line
    	if edited:
    def purgeDir(fullpath, name):
    	foundLS = searchAndDestroy(fullpath, name, "LibStub")
    	foundCBH = searchAndDestroy(fullpath, name, "CallbackHandler-1.0")
    	global countLS, countCBH
    	countLS += foundLS
    	countCBH += foundCBH
    	if foundLS or foundCBH:
    		tocfile = os.path.join(fullpath, name+".toc")
    		if os.path.isfile(tocfile):
    			print "Editing toc: ", name+".toc"
    			addToToc(tocfile, foundLS, foundCBH)
    directory = os.path.join(os.getcwd(), "AddOns")
    for name in os.listdir(directory):
    	fullpath = os.path.join(directory, name)
    	svnpath = os.path.join(fullpath, ".svn")
    	gitpath = os.path.join(fullpath, ".git")
    	if os.path.isdir(fullpath):
    		if name == "LibStub":
    			hasExtLS = True
    		elif name == "CallbackHandler-1.0":
    			hasExtCBH = True
    		elif os.path.isdir(svnpath) or os.path.isdir(gitpath):
    			#print name + " has .svn! Ignoring..."
    			donothing = 1 # stupid python for not letting me have empty blocks :\
    			purgeDir(fullpath, name)
    print "Found and purged ", countLS, " LibStubs and ", countCBH, " CallbackHandlers."
    if not hasExtLS:
    	print "Warning! No external version of LibStub found!"
    if not hasExtCBH:
    	print "Warning! No external version of CallbackHandler-1.0 found!"

    If you have get any errors or problems post about it and I'll try to fix.

    And yes. I know it probably took me more time to write this script than the total loading time of 30 extra LibStubs every time I startup/reload WoW for the rest of my life. It was still worth it.

    EDIT: Fixed searchAndDestroy to recurse as intended.
    Posted in: Libraries
  • 0

    posted a message on LibStub
    CallbackHandler should not be a required dependency for addons wanting to use your library. Rather, embed it in your library. CallbackHandler is small enough that a few libraries pulling it in has no real impact. We (the Ace3 core team) would like to simplify the library inclusion process so that usually all you have to do is pull in the one single library you're interested in, rather than having to fullfill several dependencies to make it work.

    I find it ironic that they (the Ace3 core team) are the first to break this "rule". All the Ace3 libs require you to include LibStub and some require CallbackHandler too.

    The special handling of LibStub and CBH is a real mess. In my opinion they should be svn:external'd, OptDept'd and X-Embed'd like any other lib. Would make a lot more sense.
    But who am I to question, I'm just a mere mortal addon developer and can't possibly see the divine purpose of the Ace3 core team.
    Posted in: Libraries
  • 0

    posted a message on IsEventRegistered(event)
    Quote from Mars »

    Does make it trouble if you register an event twice on same frame?

    No. Ace2 would error but Ace3 just silently ignore it. Same if you unregister an event that isn't registered.
    Posted in: Ace3
  • 0

    posted a message on Unofficial oUF - methods used for layouts
    Or even better:

    This link will always go to latest version:
    Direct download link:
    Posted in: Unit Frames
  • 0

    posted a message on GNU nano syntax highlighting for Lua
    Can't you do it like this?

    ## [[]]-type strings
    color magenta start="\[\[" end="\]\]"
    color magenta start="\[\=\[" end="\]\=\]"
    color magenta start="\[\=\=\[" end="\]\=\=\]"

    Otherwise I think it's best to not bother with them at all. There's nothing more annoying than syntax color that don't get the syntax right :P
    Posted in: Lua Code Discussion
  • To post a comment, please or register a new account.