You can advise users to install all their addons in disembedded form (typically using the Curse Client and setting it in the options) so that the libraries will only be installed once and no addon will be installed with any library subfolders (there are some exceptions).
This has several benefits:
A) Faster loading time of addons - because only 1 copy of libraries are loaded, not 23 embedded copies in 23 addons.
B) More accurate recording of memory usage - instead of every addon using the first addon that loaded the library(s) and having it misreporting memory usage - and the ability to see library memory usage
C) Easier maintenance of your working copy because you will not contain the libraries - not even as externals.
This also has several disadvantages
A) Significantly harder to install/uninstall addons and figuring out their library dependencies - an external utility can be used to overcome this.
B) Bug reports due to missing libraries.
The latest version, v3.1.3, seems to be ignoring the option to hide the minimap button. It's not returning any errors, it's simply not hiding it even after a reload and a relog.
Not an error.
Omen provides 2 things:
A) A minimap button (which you can turn off)
B) A LDB-plugin.
What happened is that you have a LDB display that is creating and displaying another minimap button because of the LDB-plugin. This means if you tried to turn on (A), you will end up with 2 minimap buttons.
Adirelle (and Galvin's methods) produces the least garbage. You want to avoid tostring() and match() and regex because they WILL produce intermediate garbage.
Also in Galvin's method, instead of:
local ThousandFormat = '%d' .. Thousands..'%03d'
return (Sign .. ThousandFormat):format(value / 1000, value % 1000)
this is better:
local ThousandFormat = '%s%d' .. Thousands..'%03d'
return (ThousandFormat):format(Sign, value / 1000, value % 1000)
It would take some work to add submenus if it exceeds a certain length of number of menuitems (like how the friends/guild list already does), and more than just some amount of work to make scrolling menus - this would more than double the size of the addon.
You currently have 2 workarounds:
A) Make your UI Scale REALLY SMALL (find the UI scale slider in the default UI options), so the menu fits your screen.
B) Edit SavedVariables\Postal.lua in your WTF\Account\(Account)\ folder.
Hi, thanks for this great algorithm & addon! I would like to propose a new function to edit given routes or even create own routes. Sometimes, I just don't like many of the random results all that much, or add a short-cut here and there. If I could eventually run these edited routes through your random optimizations again, that would be incredibly awesome!
Another nice feature would be compatibility with the Carbonite map addon. Currently, routes won't show up on that map. Don't know if this is the fault of Routes or Carbonite though. edit: I just looked very closely again, and it sure seems like Carbonite displays the route after all, but just 1 pixel thick and very hard to see. None of Routes' 3 thickness sliders seems to adjust this line right there. Damn!
One more thing, would be nice to access the addon's interface through the normal game interface menu, where all other addons are listed, not having to type /routes every time.
Good evening!
1. You can already edit a route manually by clicking the "Edit Route" button somewhere in one of the tabs inside a route. The interface is exactly the same as how you would drag nodes in Google Maps. Click a "intermediate smaller node" to insert a node, right click a node to delete it.
2. You can create your own routes by creating a BARE ROUTE from the Add Route section, then editing it manually. You can then optimize this easily.
3. Currently I have no plans to support Carbonite or any external map addon, nor any future plans to do so. Routes will work on only the default UI's map (which most map addons modify without interference to Routes).
4. The default user interface's options is too small to fit Route's various options.
Due to the extremely low number of heirlooms in the game, you would probably have a far easier time hardcoding which heirloom itemIDs max out at which levels in a small table.
Well, if you do a /reload, you don't actually log out of the game and you are already in all the channels (such as the guild channel), so you would be able to send/receive messages instantly during addon load. For a full test, you need to actually log out to the char screen and login from there. You should wait until at least PLAYER_ENTERING_WORLD.
It seems this issue is still a problem somehow. A guild member and me were in Orgrimmar and we both have the same (my) addon loaded that communicates using the guild addon channel. When he ported to Tol Barad, apparently a guild addon message was lost/deleted by the client/server (not by the addon). Or is the addon channel known to be lossy? I never experienced this using the chat channels (which I may just revert to if this is to be expected). :-/
Any messages (both normal and addon ones) sent between PLAYER_LEAVING_WORLD and PLAYER_ENTERING_WORLD events will be lost. Make sure your addon doesn't send any messages between those 2 events. (yes, other events can happen between those 2 events).
I wonder why Blizzard doesn't just provide the docs themselves, since they would have to reference them now and then, yes?
Blizzard does not officially support addons thus they do not need to provide any documentation. Any documentation you see on wowprogramming and wowpedia are the stuff that people have deduced by reading the default UI's Lua code, and from experimenting with the actual API.
After a login, when is it safe to use the guild channel? I think I am sending stuff too early and while I could implement a delay, I would rather use an event...
It is generally safe after the first GUILD_ROSTER_UPDATE event, which happens after a GuildRoster() call.
0
I've just added the missing Localizations (Ackis added one but didn't add the second...), and I'm fixing other stuff now.
0
0
This has several benefits:
A) Faster loading time of addons - because only 1 copy of libraries are loaded, not 23 embedded copies in 23 addons.
B) More accurate recording of memory usage - instead of every addon using the first addon that loaded the library(s) and having it misreporting memory usage - and the ability to see library memory usage
C) Easier maintenance of your working copy because you will not contain the libraries - not even as externals.
This also has several disadvantages
A) Significantly harder to install/uninstall addons and figuring out their library dependencies - an external utility can be used to overcome this.
B) Bug reports due to missing libraries.
0
Not an error.
Omen provides 2 things:
A) A minimap button (which you can turn off)
B) A LDB-plugin.
What happened is that you have a LDB display that is creating and displaying another minimap button because of the LDB-plugin. This means if you tried to turn on (A), you will end up with 2 minimap buttons.
0
0
Also in Galvin's method, instead of:
this is better:
for obvious reasons.
0
You currently have 2 workarounds:
A) Make your UI Scale REALLY SMALL (find the UI scale slider in the default UI options), so the menu fits your screen.
B) Edit SavedVariables\Postal.lua in your WTF\Account\(Account)\ folder.
0
0
Good evening!
1. You can already edit a route manually by clicking the "Edit Route" button somewhere in one of the tabs inside a route. The interface is exactly the same as how you would drag nodes in Google Maps. Click a "intermediate smaller node" to insert a node, right click a node to delete it.
2. You can create your own routes by creating a BARE ROUTE from the Add Route section, then editing it manually. You can then optimize this easily.
3. Currently I have no plans to support Carbonite or any external map addon, nor any future plans to do so. Routes will work on only the default UI's map (which most map addons modify without interference to Routes).
4. The default user interface's options is too small to fit Route's various options.
0
0
0
Any messages (both normal and addon ones) sent between PLAYER_LEAVING_WORLD and PLAYER_ENTERING_WORLD events will be lost. Make sure your addon doesn't send any messages between those 2 events. (yes, other events can happen between those 2 events).
0
Blizzard does not officially support addons thus they do not need to provide any documentation. Any documentation you see on wowprogramming and wowpedia are the stuff that people have deduced by reading the default UI's Lua code, and from experimenting with the actual API.
0
It is generally safe after the first GUILD_ROSTER_UPDATE event, which happens after a GuildRoster() call.
0
Yes, that is exactly how every major addon does it. Translators know not to touch the %s and %d parts of the strings.