Unless you have a lot of direct AceOO usage, you could do a quick conversion of EBB2 to use Ace3 in under an hour, easy. Definitely better than adding hacks/updates to a dead library. Hell, I'll even do it if you want... I need more things to do at work that don't require a lot of in-game testing. :p
If you can do that - would be amazing :D
But I will also check out Raven, I am sure it was lacking something I needed last time I looked.
For the time being, I modified AE-2.0 to switch that particular announcement if the group was smaller than 0, seems to have shut it up :) - but then have not yet done raid finder!
It will get it (sooner or later); more important things ahead of me for the next few weeks though, so could be after the prepatch but should be before the addon itself launches.
Okay, I went ahead and converted the existing codebase to Ace3 today. That also included replacing FuBarPlugin (lol) with LibDataBroker + LibDBIcon, and Tablet with LibQTip, and updating the options table to work with AceConfigGUI. Still need to do a bit more work on the options table to avoid having 4930274324 nested tree levels, and also do more testing than just logging in and seeing a clear BugSack, but I expect to have it all done later tonight, or tomorrow at the latest.
I suspect any beta problems were caused by all the rotting corpses of long-dead libraries, but after the above is all done I'll log onto the beta to check. :p
And done. I didn't do any stress testing but everything seems to be working fine.
Summary of changes:
Converted to Ace3.
Removed AceLocale. It's useless when you can achieve the same result with a simple metatable in ~100 bytes of code.
Replaced FuBarPlugin with LibDataBroker and LibDBIcon.
Replaced Tablet with LibQTip.
Removed Dewdrop. Configuration now takes place in a normal GUI window instead of horrible nested dropdowns.
Added LibDualSpec for automatic profile swapping on spec swaps.
Added localization support to several options that were missing them, many of which seemed to be using raw DB values like "TIMELEFT" and of course the infamous "TENCH" that always bothered me when I actually used EBB years ago. :P
Things that could be done in the future:
Open config window to the relevant section when right-clicking on a bar group? Since Dewdrop no longer exists and multi-level dropdown configuration is a nightmare we are thankfully no longer trapped in, there's not really anything to show in a pop-up menu.
Check if AceConsole is actually needed, and remove it if not. I saw a few ElkBuffBars:Print calls but they're all commented out, and if you need to uncomment them for debugging in the future, you can just replace them with print to auto-concatenate all the values, or do it yourself with string.join.
Consider alternatives for multiselect controls in the whitelist/blacklist sections, as they have the potential to get quite long and cause quite a lot of scrolling.
Apparently these forums have a pathetically small maximum attachment size, so I've created a ticket on the project page and attached the ZIP file there:
Removed AceLocale. It's useless when you can achieve the same result with a simple metatable in ~100 bytes of code.
This is hardly the proper place, but I just had to mention that AceLocale-3.0 isn't really any more code either (probably a bit more due to error checking, and loads of comments), the whole idea is just for not everyone to have to do the boilerplate themself, even if its just "100 bytes". :)
You are of course free to not use any of it, we intentionally made all of the libs very independent so you can mix and match whatever you deem beneficial. Personally, I'm happy to save this boilerplate in every of my addons, even if it would just be a couple lines saved. Its not like it adds overhead or anything.
Anyhow, nice job on the port! Elkano would've never found the time anyway! :P
I know I'm a lazy brick of sh... whatever ;) managing to keep the thing running on life support for over 4 years is an accomplishment of its own ;)
Bachelor thesis has been done for over a year by now, though *cough* ... currently it's the Master thesis :P at least I didn't do the same mistake again and got myself a deadline... and as it draws close, work load increases exponential ;)
Anyways, thanks for the work Phanx. For now it's fine sitting in the ticket; I want diff it and maybe make a few changes first before committing it to the repo. Will at least be faster than fixing the old version myself, but thesis still comes first.
Anyways, as a small thanks and to prove that EBB3 isn't total vaporware, I'll just drop my current code base for you to toy with... not meant for actual use though :D
Thanks Elkano, so pleased to see this officially updated.
A few bits I have noticed.
- It didn't use my existing profile when I first logged in, was about to start reconfiguring then I saw the class/hunter (for example) profiles were still there and looking correct! I guess folks just need to know to go in and fix those profiles if they weren't using the defaults.
- The Alpha currently seems to have a range of 0 - 100,000 but again I can manually enter my value so no big deal
- The main issue is that under filters for whitelist and blacklist it does not currently show any items ticked although they are still using their previous settings. (eg I have a bar showing deterrence, in the settings it is unticked but currently works, additionally type on the filter tab is also not showing any ticks. They do not respond to being checked.
- Show anchor doesn't seem to do anything, but not sure it actually needs to? Configuration mode allows the bar to be moved around.
As I was upgrading an older version, did find there were lots of old config values in the savedvariables but really no how long I have held on to this config but cleared it up manually (double entries for minimap position for example)
- It didn't use my existing profile when I first logged in, was about to start reconfiguring then I saw the class/hunter (for example) profiles were still there and looking correct! I guess folks just need to know to go in and fix those profiles if they weren't using the defaults.
Most likely caused by the switch from AceDB-2.0 to AceDB-3.0; I'm only using the default profile and that worked fine. I'm not really sure if I ever tested profile support on Ace2 ^^'
- The main issue is that under filters for whitelist and blacklist it does not currently show any items ticked although they are still using their previous settings. (eg I have a bar showing deterrence, in the settings it is unticked but currently works, additionally type on the filter tab is also not showing any ticks. They do not respond to being checked.
I blame Phanx, multiselect and different behaviour between Ace2 and Ace3 ;)
Should be fixed now.
As I was upgrading an older version, did find there were lots of old config values in the savedvariables but really no how long I have held on to this config but cleared it up manually (double entries for minimap position for example)
Dead bodies from dead libs and stuff used before ;) didn't bother to clean that up since it doesn't really harm
Message: Interface\AddOns\ElkBuffBars\ElkBuffBars.lua:1172: attempt to index global 'ElkBuffGroups' (a nil value)
Time: 10/11/14 23:24:14
Count: 2
Stack: Interface\AddOns\ElkBuffBars\ElkBuffBars.lua:1172: in function <Interface\AddOns\ElkBuffBars\ElkBuffBars.lua:1169>
(tail call): ?
[C]: ?
[string "safecall Dispatcher[2]"]:9: in function <[string "safecall Dispatcher[2]"]:5>
(tail call): ?
...ars\libs\AceConfigDialog-3.0\AceConfigDialog-3.0.lua:799: in function <...ars\libs\AceConfigDialog-3.0\AceConfigDialog-3.0.lua:614>
...ars\libs\AceConfigDialog-3.0\AceConfigDialog-3.0.lua:851: in function <...ars\libs\AceConfigDialog-3.0\AceConfigDialog-3.0.lua:839>
(tail call): ?
[C]: ?
[string "safecall Dispatcher[3]"]:9: in function <[string "safecall Dispatcher[3]"]:5>
(tail call): ?
...dOns\AtlasLoot_Loader\Libs\AceGUI-3.0\AceGUI-3.0.lua:314: in function `Fire'
...ader\Libs\AceGUI-3.0\widgets\AceGUIWidget-Slider.lua:80: in function <...ader\Libs\AceGUI-3.0\widgets\AceGUIWidget-Slider.lua:78>
Locals: <none>
But I will also check out Raven, I am sure it was lacking something I needed last time I looked.
For the time being, I modified AE-2.0 to switch that particular announcement if the group was smaller than 0, seems to have shut it up :) - but then have not yet done raid finder!
I suspect any beta problems were caused by all the rotting corpses of long-dead libraries, but after the above is all done I'll log onto the beta to check. :p
Summary of changes:
Things that could be done in the future:
Apparently these forums have a pathetically small maximum attachment size, so I've created a ticket on the project page and attached the ZIP file there:
http://www.wowace.com/addons/elkbuffbars/tickets/129-ace3-conversion/
Please (everyone) free to test and report any problems, and (Elkano) let me know if you want me to commit to the repo.
I already feared that I finally have to replace EBB after 6.0, but it seems like now I'm even getting rid of Ace2 :)
This is hardly the proper place, but I just had to mention that AceLocale-3.0 isn't really any more code either (probably a bit more due to error checking, and loads of comments), the whole idea is just for not everyone to have to do the boilerplate themself, even if its just "100 bytes". :)
You are of course free to not use any of it, we intentionally made all of the libs very independent so you can mix and match whatever you deem beneficial. Personally, I'm happy to save this boilerplate in every of my addons, even if it would just be a couple lines saved. Its not like it adds overhead or anything.
Anyhow, nice job on the port! Elkano would've never found the time anyway! :P
Hahaha... :lol:
/hug Elkano
Bachelor thesis has been done for over a year by now, though *cough* ... currently it's the Master thesis :P at least I didn't do the same mistake again and got myself a deadline... and as it draws close, work load increases exponential ;)
Anyways, thanks for the work Phanx. For now it's fine sitting in the ticket; I want diff it and maybe make a few changes first before committing it to the repo. Will at least be faster than fixing the old version myself, but thesis still comes first.
Anyways, as a small thanks and to prove that EBB3 isn't total vaporware, I'll just drop my current code base for you to toy with... not meant for actual use though :D
While it still does work in WOD, I will try and check out the new ACE 3 version!
Anyways, checked through the code and pushed the changes to svn :)
btw, Phanx, on a scale from 0 to Cthulhu, how strange was my code? ;)
A few bits I have noticed.
- It didn't use my existing profile when I first logged in, was about to start reconfiguring then I saw the class/hunter (for example) profiles were still there and looking correct! I guess folks just need to know to go in and fix those profiles if they weren't using the defaults.
- The Alpha currently seems to have a range of 0 - 100,000 but again I can manually enter my value so no big deal
- The main issue is that under filters for whitelist and blacklist it does not currently show any items ticked although they are still using their previous settings. (eg I have a bar showing deterrence, in the settings it is unticked but currently works, additionally type on the filter tab is also not showing any ticks. They do not respond to being checked.
- Show anchor doesn't seem to do anything, but not sure it actually needs to? Configuration mode allows the bar to be moved around.
As I was upgrading an older version, did find there were lots of old config values in the savedvariables but really no how long I have held on to this config but cleared it up manually (double entries for minimap position for example)
So happy for this update!
Most likely caused by the switch from AceDB-2.0 to AceDB-3.0; I'm only using the default profile and that worked fine. I'm not really sure if I ever tested profile support on Ace2 ^^'
Added a min/max of 0-100% (0-1.0 in value).
I blame Phanx, multiselect and different behaviour between Ace2 and Ace3 ;)
Should be fixed now.
It only has an effect when the group is not in configuration mode: the title bar will keep showing.
Dead bodies from dead libs and stuff used before ;) didn't bother to clean that up since it doesn't really harm
Not fussed about the old settings and profiles really, I am actually amazed what it did manage to keep :D
:o