For those of you updating your add-ons
Due to the decreased amount of time I've spent on developing, I have not released a version in quite some time. As a result, I think many people are starting to update their add-ons on their own. While completely reasonable, I think some of these weird errors people are experiencing may be due to library conflicts. So, here's a quick primer on updating libraries. There's probably a better guide somewhere, but I didn't find anything in my quick search.
Most Ace2 add-on distributions you download on your own will include embedded libraries. That means each Ace2 add-on has sub-directories, usually within a folder called "libs", that contain little "helper add-ons". Most Ace2 add-ons use the exact same helper add-ons, so there's a lot of duplication going on. That means your UI would need to load up dozens of the same exact helper add-ons for each add-ons that uses them. To avoid this, MazzleUI does not include those "helper sub-directories"; instead, it puts one copy of the stand-alone version of those libraries at the top level. This speeds loading up and decreases initial memory use. (Those duplicates will eventually be cleaned up.) When you update those Ace2 add-ons on your own, you're probably re-adding those little helper sub-directories that were removed. While the updated library may be fine for the add-on that you included it with, it's possible that it can introduce conflicts for other add-ons that load after it. The newer version of the library may have slightly different behavior that conflicts with the expectations of the older add-ons. So, I suggest doing one of three things:
If you do the first item, check the original version of the add-on I include. I don't always delete all the libraries. I only delete the ones that are used by multiple add-ons. Another thing to note is that those add-ons don't always use a "libs" directory. Make sure to check them individually and not to a search and delete type thing. |
Thanks for the info Mazzle. I have one really pressing question that did not seem to get directly addressed here (or I'm blind, equal chance if not greater chance of this).
Lets say I go to all the trouble to put back the lib folders in the Ace2 addons, will they use the versions in their subfolder first? And inversely will MazzleUI choose to use the top-level versions or use the embedded smaller versions? I guess getting to what I'm doing might help better with the question. Lets say I want to add all the libs back to all the original mod folders (including MazzleUI). Will this mean they will start to use their proper versions of the Ace2 libraries now in the specific addons subfolder? Or will they choose the higher level one to run? Thanks! PS THANK YOU..... I don't think you know how long I've been trying to get a UI to run like this one does. Not only have you improved my overall enjoyment of WoW, you've given life to dozens of new ideas for what to do with a UI. I can't say THANK YOU enough. |
heres a tutorial for using the wowace updater to deal with the standalonelibs. Somebody double check this and make sure i understand the concept of the ace2 addons/libs.
|
Quote:
I did just think of one other possible concern. The MazzleUI add-ons were never set-up to use embedded libraries since there never was any need to. As a result, there are a few libraries you'll need to keep stand-alone, name Ace, BabbleLib and Banzailib. |
Quote:
|
I don't know what you mean by "the way you talked about". Your original question was about what would happen in the odd situation that you had both stand-alone and embedded libraries at the same time. When you only have one of the two, which is what you seem to be refferring to in your last post, what it does will be clear. It's basically what it does right now, i.e. use the stand-alone libraries.
|
It's my understanding that if you have both standalone and embedded, or multiple embedded, ace keeps the most recent version and dumps all older versions. This goes along with the assumption that library changes are always fully compatible with older add-on versions, which isn't always the case I guess.
I found that I had to update libraries to update some mods, yet I didn't delete the standalones (just kept the embedded libs). It's all working fine, I just have nasty load times due to my laziness. Hey, maybe I'll go fix that now. edit: Don't update PT 3.0, Mazzle's autobar doesn't like the newest version. Other than that it's all good. |
Actually the WAU updates the libraries the way you configure it to.
If you tell WAU to install the !!!StandaloneLibraries it will do just that and then delete the embedded libraries from all the Ace2 Add-Ons to decrease initial memory use. After you've done that WAU will always update the addons without externals (meaning no embedded libraries). By the way, after going through the list of installed add ons in the WAU unselecting all Ace Add ons mentioned in the Mazzle FAQ as modified/critical-to-be-updated I thought "What the hell" and just updated ALL installed Ace Add Ons. What do you know? It works perfectly fine, nothings broken, everythings updated. Only error BugSack throws is something from Quixote which, I believe, isn't even originally installed with MazzleUI, I think it came along, when I installed FuQuestFu (which I really like, btw, disabled Monkey Quest after trying QuestFu for a few days). |
Actually WAU does not function that way with the standalonelibraries thing. You have to make sure when you choose "install/update selected addons" that you then pick "without Externals". Also a full reinstall of all addons will cause all of the externals to be loaded in each Ace2 mod.
Anyways, sorry about the confusion in my post back there. The 'way' was actually a real life conversation that through my coffee induced state of consciousness I thought had occurred here. I tried updating two ways, one was to have all the embedded externals and the other was to have every possible library that could be standalone be on the top level. The embedded way is EVIL, even with 'Load on Demand'. I've never seen numbers that high on Warmup. EVER. So I nixed that. Then I sat down and tried to figure a way to make sure I got all the libraries updated without screwing to much with MazzleUI. I came up with this. 1.) Started with a fresh addon folder. 2.) Copied the !!!StandaloneLibraries from http://files.wowace.com into addon directory 3.) Copied MazzleUI files saying No to all requests for file overwrites 4.) Downloaded WAU from http://www.wowace.com 5.) Clicked Edit > Mark Installed Addons (F4 sortcut0 6.) Clicked File > Install/Update selected addons > Without Externals 7.) Loaded game up with character already Mazzified, no errors 8.) Loaded game up on un-Mazzified character, also no loading errors 9.) Mazzified new character, also no errors. Had new Ace2 addons installed. In addition the loading imprint on Warmup was almost reasonable (I'm an addon junkie so most people would have ran to the hills). PS: Just discovered with this one small error, if you choose to leave the programs mentioned as critically important as is, updating with WAU will break Autobar, sRaidFrames and oRA. |
Autobar Changes
could i just ask what actual changes mazzle made to autobar?
this is mainly so i can just see whats different in the mazzle version compared to the ACE version available now... as a friend updated autobar by mistake and he cant see anything different in the way it works.... apart from the fact it work s with the new version of PT. no errors or anything. |
As far as library load order and which copy gets used..
1) Any libraries in the root folder will always load first (if they exist), due to being listed in the OptionalDependancies of addons that use them. 2) Additional copies that are embedded in addons (if they exist) will load next. 3) When a library tries to load and there's already a copy of the same library present, the newer one will be kept and the older one will get discarded (and removed from memory). Apologies for the PT3 API change, this diff should fix things.. Code:
Index: C:/Documents and Settings/Administrator/Desktop/AutoBar2/AutoBarItemList.lua |
uh huh
well i feel a little bit more stupid..... i have no idea what that actually means! lol.
i meant what were the actual changes..... different sorting..... custom listing..... because to be honest i cant see the difference between his new updated copy of autobar and the mazzle one. |
Quote:
|
Quote:
Quote:
Libraries are versioned with 'major' and 'minor' versions. The major version is the number in the filename -- ie AceHook-2.1. Libraries with different major versions will load alongside each other peacefully. The minor version is a number that denotes even small changes -- in the case of.. well.. all the ace libraries, it's an SVN revision number. By older I mean ones with a lower SVN revision number, that number is the key that determines which version of the library gets kept. No matter where it's stored be it embedded, standalone, or anything else, the library that will be in memory once all the addons are loaded will be the one with the highest revision number. |
Ah ok, so the true most up-to-date version will always be loaded. So if I understand you correctly, any library conflicts will always be because there's a change in api or the behavior of the library that's incompatible with another add-on that assumes an older version.
And for whoever was asking about Autobar, I do nothing to it except add ChatFrame7 as a potential anchor, and that's done outside of the add-on after it loads. You should be able to drop in the new one just fine. On my machine I run the latest version of everthing except TopScoreFu. |
Quote:
|
Quote:
Thanks for this great post Airdragon. And thanks for a great mod Mazzle. This one will go in the history books. |
Quote:
|
[/quote]
Then I sat down and tried to figure a way to make sure I got all the libraries updated without screwing to much with MazzleUI. I came up with this. 1.) Started with a fresh addon folder. 2.) Copied the !!!StandaloneLibraries from http://files.wowace.com into addon directory 3.) Copied MazzleUI files saying No to all requests for file overwrites 4.) Downloaded WAU from http://www.wowace.com 5.) Clicked Edit > Mark Installed Addons (F4 sortcut0 6.) Clicked File > Install/Update selected addons > Without Externals 7.) Loaded game up with character already Mazzified, no errors 8.) Loaded game up on un-Mazzified character, also no loading errors 9.) Mazzified new character, also no errors. Had new Ace2 addons installed. In addition the loading imprint on Warmup was almost reasonable (I'm an addon junkie so most people would have ran to the hills). PS: Just discovered with this one small error, if you choose to leave the programs mentioned as critically important as is, updating with WAU will break Autobar, sRaidFrames and oRA.[/quote] TY, this helped alot. |
I tried the above instructions exactly step-by-step and I get into the game with a fairly jacked up interface. Most the artowrk for action bars are standard Blizz displays and I can't even get Mazzle to load to try to re-mazzlefile my UI.
Anyone else having these issues? |
All times are GMT -6. The time now is 09:46 PM. |
vBulletin © 2024, Jelsoft Enterprises Ltd
© 2004 - 2022 MMOUI